On 29-Mar-2013 Cody Cutler <ccut...@csail.mit.edu> wrote: > Hello list. The attached patch allows optional regexs to be passed to > :tj and friends. these regexs is then used to further refine available > tags before they are printed. > > This patch is useful when you have many tags for a single identifier. > For example, suppose a large C++ project has initialize() methods for > 100s of classes. Going through the list of tags printed by :tj is > tedious. Most of the time I know additional information about the > identifier I am looking for like the containing object type or source > filename. The text after the '/' in the argument is used as a regex > (unless a '/' is the first character of the tag identifier, then the > text after the second '/' is used) to match against the "other" tag > fields (which often contains the containing type name). If a '!' is > present, text after it is used to match against filenames. With this > patch you can type: > > :tj initialize/SomeClass > > to list all tags that also contain "SomeClass" in their "other" fields > or > > :ts initialize/!arch/amd64 > > to list all tags matching initialize that contain "arch/amd64" in the > containing file's pathname. Or a mix: > > :ts initialize/SomeClass!arch/amd64 > > The '/' and '!' characters were chosen somewhat arbitrarily--I'm not > sure if they are a safe choice. > > Any comments are appreciated.
I haven't tested your patch but it reminds me of a patch I prepared some 2 years ago. You could search the list archives for a feature called 'tagfunc' which with the awesome SmartTag vim script by Robert Webb I've been happily using ever since. Cheers, Lech -- -- 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 vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.