* Semantic keys when needed
@ 2010-10-12 13:32 Andrea Crotti
2010-10-15 8:19 ` Oleksandr Gavenko
0 siblings, 1 reply; 5+ messages in thread
From: Andrea Crotti @ 2010-10-12 13:32 UTC (permalink / raw)
To: help-gnu-emacs
First I add some global keys set for semantic but given that is not
supported everywhere now I use
--8<---------------cut here---------------start------------->8---
(defun activate-more-semantic-bindings ()
"add some other nice bindings to modes supported by semantic"
(interactive)
(local-set-key (kbd "M-n") 'senator-next-tag)
(local-set-key (kbd "M-p") 'senator-previous-tag)
(local-set-key [f6] 'senator-fold-tag-toggle)
;; narrows to the actual function or class analyzed
;; C-x n w to widen again
(local-set-key "\C-xnn" 'semantic-narrow-to-tag)
(local-set-key "\M-." 'semantic-complete-jump)
(local-set-key "\M-?" 'semantic-ia-fast-jump))
--8<---------------cut here---------------end--------------->8---
and I activate it only with some modes...
But isn't it possible to activate it WHEN semantic is supported?
"semantic-mode" is nil also when is actually supported (c/python) but I
think there must be a way to see where is supported, any hints?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Semantic keys when needed
2010-10-12 13:32 Semantic keys when needed Andrea Crotti
@ 2010-10-15 8:19 ` Oleksandr Gavenko
2010-10-16 16:21 ` Andrea Crotti
0 siblings, 1 reply; 5+ messages in thread
From: Oleksandr Gavenko @ 2010-10-15 8:19 UTC (permalink / raw)
To: help-gnu-emacs
On 12.10.2010 16:32, Andrea Crotti wrote:
> First I add some global keys set for semantic but given that is not
> supported everywhere now I use
>
> --8<---------------cut here---------------start------------->8---
> (defun activate-more-semantic-bindings ()
> "add some other nice bindings to modes supported by semantic"
> (interactive)
> (local-set-key (kbd "M-n") 'senator-next-tag)
> (local-set-key (kbd "M-p") 'senator-previous-tag)
> (local-set-key [f6] 'senator-fold-tag-toggle)
> ;; narrows to the actual function or class analyzed
> ;; C-x n w to widen again
> (local-set-key "\C-xnn" 'semantic-narrow-to-tag)
> (local-set-key "\M-." 'semantic-complete-jump)
> (local-set-key "\M-?" 'semantic-ia-fast-jump))
> --8<---------------cut here---------------end--------------->8---
>
> and I activate it only with some modes...
> But isn't it possible to activate it WHEN semantic is supported?
> "semantic-mode" is nil also when is actually supported (c/python) but I
> think there must be a way to see where is supported, any hints?
>
I hope this help:
(unless (featurep 'cedet)
(when (or (and (= emacs-major-version 23) (= emacs-minor-version 2))
(>= emacs-minor-version 24))
(semantic-mode 1)
))
(when (featurep 'cedet)
(global-set-key (kbd "C-c , .") 'semantic-ia-fast-jump)
(global-set-key (kbd "C-c , d") 'semantic-ia-show-doc)
(global-set-key (kbd "C-c , D") 'semantic-ia-describe-class)
(global-set-key (kbd "C-c , c") 'semantic-ia-complete-symbol-menu)
)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Semantic keys when needed
2010-10-15 8:19 ` Oleksandr Gavenko
@ 2010-10-16 16:21 ` Andrea Crotti
2010-10-18 7:35 ` Oleksandr Gavenko
0 siblings, 1 reply; 5+ messages in thread
From: Andrea Crotti @ 2010-10-16 16:21 UTC (permalink / raw)
To: help-gnu-emacs
Oleksandr Gavenko <gavenko@bifit.com.ua> writes:
> I hope this help:
>
> (unless (featurep 'cedet)
> (when (or (and (= emacs-major-version 23) (= emacs-minor-version 2))
> (>= emacs-minor-version 24))
> (semantic-mode 1)
> ))
>
> (when (featurep 'cedet)
> (global-set-key (kbd "C-c , .") 'semantic-ia-fast-jump)
> (global-set-key (kbd "C-c , d") 'semantic-ia-show-doc)
> (global-set-key (kbd "C-c , D") 'semantic-ia-describe-class)
> (global-set-key (kbd "C-c , c") 'semantic-ia-complete-symbol-menu)
> )
mm I don't understand
1. (featurep 'cedet) is true also in modes not enabled
2. I would like to avoid global key settings...
What I wanted is to have those keys enabled where they really do something...
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Semantic keys when needed
2010-10-16 16:21 ` Andrea Crotti
@ 2010-10-18 7:35 ` Oleksandr Gavenko
2010-10-18 9:03 ` Andrea Crotti
0 siblings, 1 reply; 5+ messages in thread
From: Oleksandr Gavenko @ 2010-10-18 7:35 UTC (permalink / raw)
To: help-gnu-emacs
On 16.10.2010 19:21, Andrea Crotti wrote:
> Oleksandr Gavenko<gavenko@bifit.com.ua> writes:
>> I hope this help:
>>
>> (unless (featurep 'cedet)
>> (when (or (and (= emacs-major-version 23) (= emacs-minor-version 2))
>> (>= emacs-minor-version 24))
>> (semantic-mode 1)
>> ))
>>
>> (when (featurep 'cedet)
>> (global-set-key (kbd "C-c , .") 'semantic-ia-fast-jump)
>> (global-set-key (kbd "C-c , d") 'semantic-ia-show-doc)
>> (global-set-key (kbd "C-c , D") 'semantic-ia-describe-class)
>> (global-set-key (kbd "C-c , c") 'semantic-ia-complete-symbol-menu)
>> )
>
> mm I don't understand
> 1. (featurep 'cedet) is true also in modes not enabled
> 2. I would like to avoid global key settings...
>
> What I wanted is to have those keys enabled where they really do something...
>
I suggest such method:
(defvar my-cedet-mode-list
'(
c-mode c++-mode java-mode
makefile-mode makefile-gmake-mode
)
"List of CEDET enables modes.")
(mapc
(lambda (mode)
(define-key
(intern (concat (symbol-name mode) "-map"))
(kbd "<return>") 'FUNC)
)
my-cedet-mode-list)
The only question how automatically get 'my-cedet-mode-list'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Semantic keys when needed
2010-10-18 7:35 ` Oleksandr Gavenko
@ 2010-10-18 9:03 ` Andrea Crotti
0 siblings, 0 replies; 5+ messages in thread
From: Andrea Crotti @ 2010-10-18 9:03 UTC (permalink / raw)
To: help-gnu-emacs
Oleksandr Gavenko <gavenko@bifit.com.ua> writes:
>>
> I suggest such method:
>
> (defvar my-cedet-mode-list
> '(
> c-mode c++-mode java-mode
> makefile-mode makefile-gmake-mode
> )
> "List of CEDET enables modes.")
>
> (mapc
> (lambda (mode)
> (define-key
> (intern (concat (symbol-name mode) "-map"))
> (kbd "<return>") 'FUNC)
> )
> my-cedet-mode-list)
>
> The only question how automatically get 'my-cedet-mode-list'.
Eh eh that's what I'm actually doing, and that was more or less my
question ;)
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-10-18 9:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-12 13:32 Semantic keys when needed Andrea Crotti
2010-10-15 8:19 ` Oleksandr Gavenko
2010-10-16 16:21 ` Andrea Crotti
2010-10-18 7:35 ` Oleksandr Gavenko
2010-10-18 9:03 ` Andrea Crotti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).