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.

Raspunde prin e-mail lui