Comments (7)
You can configure ctags however you like, via the .gutctags
in particular. There is no need for numerous plugin options. taglist.vim tries to do far too much, and it doesn't work very well.
from vim-gutentags.
Thanks for the kind words, and the name was sadly not my idea (follow the Reddit link... but I wish I thought about it!)
Yep, @justinmk is right, unless I'm misunderstanding your problem, you can create a .gutctags
at the root of your project and specify what you want (probably using --pascal-kinds
options and such... see the ctags documentation).
from vim-gutentags.
I did check in ctags -- list-kinds
but, of the 41 languages supported by ctags, only 3 (VHDL, Perl, SML) specify a declaration "kind", which could be switched off.
So in the chain of "Ctags -> GutenTags -> CtrlP" I supposed that the most suitable link to implement my proposed feature is GutenTags, because "taglist.vim" did it (and I replaced this plugin with GutenTags). Every IDE I used also didn't show the function declarations in the Code Structure/Navigation panel, so I'm not crazy :P
Maybe there could be a hook once the tags file is generated to sort the tags file, and delete the "duplicate" functions?
from vim-gutentags.
Mmmh I'm confused, are you using some custom filter with taglist.vim
, or does it somehow remove those "duplicates" automatically? I tried disabling Gutentags and installing taglist.vim
and I see both entries for each function on a Pascal codebase in the TlistOpen
window (and actually I don't know about Pascal but in C++ I definitely want to see both declaration and implementation in the tag list).
from vim-gutentags.
Damn, you're right. Sorry about that oversight, I messed up.
But is it still possible to have a hook in place after the tags file has been written to filter and re-process the tags file according to some custom rules (I will manipulate it with regexps and with sorting)? It would make this plugin a lot more extensible.
Something like g:gutentags_custom_commands
that points to an executable file and runs wherever the tags file is stored.
I don't know C++, but in Obj Pascal almost all functions have a declaration line exactly like the definition line (rarely, a directive like "overload" is added which is included only in the declaration). So the only time you want to go to the declaration is if you're changing it, which is a rare occurence.
from vim-gutentags.
I suppose some option to run custom processing would be useful, yeah... you can send a pull request if you're up to it :) Otherwise I'll try writing up something when I get some free time, but this will likely be low priority for me.
from vim-gutentags.
Well obviously I don't have enough free time these days to implement this kind of feature, especially since I would not use it myself. Anybody's free to send a pull request though :)
from vim-gutentags.
Related Issues (20)
- ERROR: Invalid value for argument cmd and update_gtags.sh is not executable HOT 4
- E117: Unknown function: gutentags#on_vim_leave
- Tags stop working for specific file (path disappears from tags option) after manually setting tags once in that file
- Cannot generate the GTAGS at windows platform HOT 5
- Does it support different ctags file chosen dynamically? HOT 2
- Error code 122 & 139 HOT 7
- please support the usage of `vim -t symbol` HOT 9
- use gtags failed HOT 2
- update_gtags.sh lost execution permission
- How do I use different tag files for different directories of a same workspace HOT 1
- Is there a way to force gutentags to generate only one tag file?
- Keep tags values when opening the quickfix
- nvim 0.9 remove cscope how to HOT 1
- Guttentags does not support any file? HOT 1
- Option to generate tags for open windows or buffers only? HOT 3
- the use of .guttags file HOT 1
- Whitelisting instead of blacklisting HOT 2
- Bug in update_scopedb.cmd file prevents creation of cscope.out.files correctly HOT 1
- Very large tags file generated ( > 10GB) HOT 2
- Plugin don't work if full filename contains open "[" _and_ close "]" square brackets
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-gutentags.