|
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:
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.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.
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
[Prev in Thread] | Current Thread | [Next in Thread] |