:tag command completion should use 'tagfunc'
Problem
Before switching from ctags to LSP, I would often use the :tag command very frequently to jump to a desired section of the code, but the completion functionality within the commandline is only valid with the use of tag files instead of the equivalent LSP functionality. Can there be a way for the code in cmdexpand.c to be modified in such a way to achieve this?
Expected behavior
I'm not sure exactly how LSP is done on neovim because I'm actually currenly a vim9 user, but for vim9 I was thinking of an extra 'tagsearch' option that functions similarly to 'tagfunc' but for cmd completion instead of jumping to the symbol definition underneath the cursor. Let me know what you all think.
Why doesn't :tag use 'tagfunc' ? Was this raised at https://github.com/vim/vim/ ?
Yeah I raised it over at vim.
The tag command in tag.c does use tagfunc, but the completion done by pressing <tab> as described in cmdexpand.c does not.
So I can still use :tag, but I'll have to type the entire symbol name each and every time; and that's the crux of the problem. The lsp API for jumping to a definition under a cursor is different from what one would use in trying to find a match when the user is tying in a tag name; that functionality is hard-coded as part of the C code in vim and neovim and can't be altered.
but the completion done by pressing
as described in cmdexpand.c does not.
The question is "why doesn't it?"
https://github.com/vim/vim/issues/12039