[CEDET-devel] More Analyzer
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2004-03-05 12:07:36
|
Hi all, I've been tweaking the grammar mode analyzer support, and it resulted in more changes in the Emacs Lisp support for the analyzer. There is a new concept in semantic-ctxt.el, and the function is: `semantic-ctxt-current-class-list'. The idea is that at a given cursor position, you can predict the class of the tokens you can put there. For example, in Emacs lisp, things after a ( is almost always a function. I think different languages will grow the functionality here as completion gets more polish. Anyway, I've added rough support here for Emacs Lisp as an experiment at it works pretty well. It required a batch of changes in different places. Next up is (probably) more grammar support. David, in the semanic-grammar file, there is both grammar rules and Emacs Lisp code. This is handled in most cases by code like this: (if (in-lisp) (emacs-lisp-do-something) (more code for grammars)) For overload methods, it would be nifty to have a method like this: (if (in-lisp) (semantic-with-mode-variables 'emacs-lisp-mode (do stuff with Emacs Lisp)) (do grammar stuff.)) to execute code as if we were in an Emacs Lisp buffer. Do you have a notion for doing this? I know there is mmm-mode or some such that does something similar. In this case I'm mostly worried about the overload methods which are in some sort of hash table. A cool additional feature would be that semanticdb could offer to execute overload methods from the originating buffer of the tags. Thanks Eric -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |