Ship new identifiers to ycmd as they become available
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.
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.
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.
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.
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.