Just wanted to resurface this thread. The difficulty of using external tools with the tag stack is a constant source of frustration for me, despite the handful of workarounds I've adopted in the meantime.
Carl On Saturday, April 18, 2015 at 10:02:49 AM UTC-7, Carl Jackson wrote: > My favorite tool (and one that I use many times a day) is godef (via the > vim-go plugin) > http://godoc.org/code.google.com/p/rog-go/exp/cmd/godef > https://github.com/fatih/vim-go > > > Other examples of tools include Tern for JavaScript: > http://ternjs.net > > https://github.com/marijnh/tern_for_vim > > > > and Jedi for Python: > https://github.com/davidhalter/jedi > > https://github.com/davidhalter/jedi-vim > > > You could also imagine the authors of Pfff (a multi-language analysis tool > written by Facebook) to add support for something like this (so far as I can > tell they currently expose a ctags/etags generator but not a more precise > go-to-definition). > https://github.com/facebook/pfff > > > > On Sat, Apr 18, 2015 at 6:00 AM, Bram Moolenaar <[email protected]> wrote: > > > Carl Jackson wrote: > > > > > I'm curious if there's any interest in accepting the tagfunc patch (or > > something similar in spirit) into vim: > > > https://groups.google.com/d/msg/vim_dev/jWXPP2II0YA/lYw3j74snnwJ > > > > > > My use-case is to make better use of modern static analysis tools: > > > many programming languages have very high quality tools that know > > > exactly where any given source symbol was defined, without having to > > > resort to precomputed ctags-like textual indexes. Unfortunately, these > > > tools are very difficult to integrate into vim, and most vim plugins > > > which add support for these tools cut corners and don't replicate any > > > of ctags' stack-like or tselect behavior, which makes for a pretty > > > terrible UX. > > > > > > I don't have strong opinions on the best way to tackle this problem, > > > but tagfunc seems like a very convenient solution (an alternative > > > might be a mechanism to programmatically push and pop entries from the > > > tag stack). Especially given that this patch has been floating around > > > for a while now, I'd be eager to see it included in vim proper. > > > > Can you give examples of those tools? I wonder what would be the best > > way to communicate with them. Adding a Vim script function likely has > > the disadvantage that it can only work synchronously, thus block the > > user while analyzing the code. Some plugins use Python to communicate > > asynchronously, supporting that might be a better direction. > > > > -- > > Friends? I have lots of friends! In fact, I have all episodes ever made. > > > > /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ > > /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ > > \\\ an exciting new programming language -- http://www.Zimbu.org /// > > \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
