emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDE


From: Eric Ludlam
Subject: Re: IDE
Date: Tue, 20 Oct 2015 22:41:04 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 10/19/2015 08:56 PM, Dmitry Gutov wrote:
On 10/19/2015 02:51 PM, Eric Ludlam wrote:

There are many reasons why having all the tags in the current buffer is
useful.  The simplest of which are things like imenu - the menu part,
speedbar, or ECB listings of all tags so you can jump to them. There is
a command for jumping to a tag in a buffer by name with completion.
There's an isearch flavor that searched only tag names in the current
buffer.

All right. But I would say that IMenu was conceived as a poor cousin to tagging. After all, if we have up-to-date information about tags in the current project, we can jump anywhere, not just in the current file.

It was an example, and there are plenty of cases where you want to restrict your destination to be local simply because completing on a zillion options is slow, regardless of the tool used to create said list.

My point is, we could have a more limited "protocol" to be used when we don't have a list of tags for the current file (and "jump to xxx" command is implemented via overrides, using an external tool). And a "full" protocol for when the tags are available.


That might work in a simple case, but for current tag to truly be accurate, you need to parse the whole buffer from start to point so you don't get confused by text in strings, text in comments, nested function syntax, and #ifdef type syntax. Once you do that, you might as well just parse the whole buffer and cache it.


I've run out of steam trying to design the perfect set of keybindings.
Everyone seems to like something different.  ;)

I understand the difficulty, but surely you'd want to advertise semantic-ia-fast-jump? It's more precise, and thus, more powerful.


Yes, there are some guidelines on what functions there are but I haven't tied much together into minor modes or keybindings. We used to have 'senator' mode which we updated with new stuff, but the Emacs merge has gotten that a bit confused.

As an added bonus, all the semantic-ia-* functions were originally meant to be examples on how to use the infrastructure for someone who wanted build interface functions, so they lack a bit of polish and haven't been promoted into keymaps.

It would be great if someone interested in the user interface side could help out getting the right interface together on top of some of the semantic concepts.

Eric



reply via email to

[Prev in Thread] Current Thread [Next in Thread]