emacs-ycmd icon indicating copy to clipboard operation
emacs-ycmd copied to clipboard

Ship new identifiers to ycmd as they become available

Open abingham opened this issue 11 years ago • 4 comments

It should be possible to add new identifiers to ycmd's index as we create them in emacs. I'm not sure of the exact mechanism, but it's mentioned in #22.

Doing this will improve the fluidity of completion for newly created identifiers.

abingham avatar Sep 09 '14 12:09 abingham

Are this and #25 still valid? I tried to add a new symbol and it was immediately available, removing it was effective as well.

Now we parse the file after 0.2s of keyboard inactivity right? This should be enough IMHO.

noxdafox avatar Nov 30 '14 14:11 noxdafox

I think these are still valid. In cases where compilation takes a long times (e.g. multi-minute C++ compilation), it makes sense to limit the number of compilations severely because ycmd will simply refuse to do completion during parsing. This is where it makes sense to do a more "manual" addition and removal of identifiers.

abingham avatar Nov 30 '14 16:11 abingham

With "manual" you mean actually adding/removing identifiers manually?

I think the client should have a more intelligent logic on how to identify when an identifier has been added/removed.

A simple rule for identifier addition could be: word inserted followed by special caracted (blank, :, \n, ;, ...). For the removal the thing gets more hairy.

What I'd avoid is the storage of a list of identifiers client side as it's quite against client-server type of architecture. Plus the user would see a duplicated storage of identifiers which could at any point get out of sync.

noxdafox avatar Nov 30 '14 16:11 noxdafox

No, I don't mean "manual" in that sense, I just mean addition/removal of identifiers without having ycmd parse them. As I understand it, this is how the vim ycmd client works. This issue and #25 are basically reminder to myself (or anyone else) to look into adding this feature.

abingham avatar Nov 30 '14 17:11 abingham