>>> "T. V. Raman" <[EMAIL PROTECTED]> seems to think that:
>I just upgraded everything --speedbar, semantic, eieio
>(0.15) and it all works --cudos to all involved!
>(Eric --copying you because of a request I have with regards
>to semantic and imenu --see below)
>
>Incidentally, senator.el is a true boon to emacspeak users
>since the message that is displayed in the minibuffer with
>the semantic content of the token one moved to gives a good
>high-levle summary of where one is --Thanks David!
>
>I have one request for future versions of the imenu support
>enabled by semantic --
>As a keyboard user I used to love typing a couple of
>characters and jumping to the method of my choice using
>imenu --with the hierarchical index list as built in newer
>versions this is no longer possible --so for example 
>launch imenu and the choices are "classes, variables ..."
>you have to hit "C" for Classes, then listen to the list
>--which is typically going to be one class 90% of the time
>--
>hit a tab key to get it to complete to that class --next hit
>M for methods or V for variables before one actually gets to
>the list of items to jump to.
>
>Worse, even after one has opened the list of variables or
>methods, the index entries are of the form 
>returntype.methodName --or variableType.variableName --which
>means there are even more keystrokes required before one
>gets a unique match --
>since given a typical class there are likely to be multiple
>methods that return "String".
>
>REquest/suggestion --could we some how create the index list
>so that one can minimize the keystrokes required?
  [ ... ]

Hi,

  I believe it is already possible to do what you want.  Please try
customizing the following variables to see if what you want is
available.

semantic-imenu-summary-function: This will let you remove the return
type.  The function `semantic-token-name' is probably what you want
even though I didn't include it in the custom list of functions.

semantic-imenu-bucketize-file: This will let you disable the
class/variable/method submenu feature.

semantic-imenu-buckets-to-submenu: This disables turning buckets into
submenus.  ie, if you bucketize the file, this prevents the buckets
from being given their own sub-menus.  (making the whole menu linear.)

semantic-imenu-bucketize-type-parts: Disables buckets for inside a
class.

semantic-imenu-sort-bucket-function: Set this to a function that will
re-arrange the tags however you like.  Currently nil.

With a little tweaking, I bet you can get exactly what you want.  If
you have to create any functions, let me know and I'll include them in
the next release.

You may want to be careful about removing too much information from
semantic-imenu-summary-function for Java.  Often a method shows up
multiple times with different arguments.

You might want to try the senator isearch mode David wrote.  My guess
is that if you enable it, you will get to your desired method much
faster than even the old imenu.  I use it almost exclusively now
instead of imenu.  It rocks.  Perhaps there is some way David could
augment it with message statements to help emacsspeak.

Lastly, as a keyboard only person, you might want to consider what the
fastest way to any given taggable item may be, and hack your own
function.  See `semantic-read-[symbol|variable|function]' as utilities
that may let you zip directly to the location you want.  For example,
to quickly jump to a symbol by typing, a function like this might be
just what you want:

;; warning: code hacked into a mail buffer
(defun my-jump-to-sym (sym)
  "My jump to a sym."
  (interactive
   (list (semantic-read-symbol "Jump to: " ""
           (let ((s (car (semantic-find-nonterminal-by-overlay))))
             (if (and s (eq (semantic-token-token s) 'type))
                 (semantic-token-type-parts s)
                (semantic-bovinate-toplevel t)))
            nil)))
  (if sym (goto-char (semantic-token-start sym))))

Good Luck
Eric

-- 
|\/\/\___/\/\/|  Eric Ludlam                 [EMAIL PROTECTED]; [EMAIL PROTECTED]
\____ o o ____/  Homepage:                      http://www.ultranet.com/~zappo
     )   (       Trebuchets:    http://www.ultranet.com/~zappo/trebuchet.shtml
    ( * * )      GNU:                                       http://www.gnu.org
     \___/       Trevor Shea Ludlam:            Oct 16th, 1999, 5lbs 11oz 18in

Reply via email to