unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* 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).