From 52ec4e03f3eaf532ba798b477da1f61a52d6fb0e Mon Sep 17 00:00:00 2001 From: raven42 Date: Wed, 6 Jan 2021 06:24:33 -0600 Subject: [PATCH] Feature Request: Ignore anonymous option (#727) Closes #726 New option `g:tagbar_ignore_anonymous` to ignore any tags with __anon in the tag name. CTAGS will print any unlabeled tags with the __anon### name with a custom hash. This option will ignore those tags and they will not be visible in the tagbar window. This could potentially result in unknown behavior when a parent object has been ignored in this way. However these tags should then fall under the default hierarchy for that particular kind. --- autoload/tagbar.vim | 5 +++++ doc/tagbar.txt | 11 +++++++++++ plugin/tagbar.vim | 1 + 3 files changed, 17 insertions(+) diff --git a/autoload/tagbar.vim b/autoload/tagbar.vim index eac9f4a..2785447 100644 --- a/autoload/tagbar.vim +++ b/autoload/tagbar.vim @@ -1281,6 +1281,11 @@ function! s:ProcessFile(fname, ftype) abort if line =~# '^!_TAG_' || has_key(seen, line) continue endif + if g:tagbar_ignore_anonymous && line =~# '__anon' + call tagbar#debug#log('anonymous tag found - ignoring per tagbar configuration') + continue + endif + let seen[line] = 1 let parts = split(line, ';"') diff --git a/doc/tagbar.txt b/doc/tagbar.txt index 15c0460..cb29435 100644 --- a/doc/tagbar.txt +++ b/doc/tagbar.txt @@ -1140,6 +1140,17 @@ highlight the 'SOME_MACRO' tag. Example: > let g:tagbar_highlight_method = 'nearest' < + *g:tagbar_ignore_anonymous* +g:tagbar_ignore_anonymous~ +Default: 0 + +If set, any '__anon' tags generated by ctags will be ignored and will not be +displayed in the tagbar window. Note: this will also mean any child tags of +that anonymous tag will also not be visible. + +Example: > + let g:tagbar_ignore_anonymous = 1 +< ------------------------------------------------------------------------------ HIGHLIGHT COLOURS *tagbar-highlight* diff --git a/plugin/tagbar.vim b/plugin/tagbar.vim index 9c401fe..75c1a00 100644 --- a/plugin/tagbar.vim +++ b/plugin/tagbar.vim @@ -101,6 +101,7 @@ function! s:setup_options() abort \ ['left', 0], \ ['help_visibility', 0], \ ['highlight_method', 'nearest-stl'], + \ ['ignore_anonymous', 0], \ ['position', default_pos], \ ['previewwin_pos', previewwin_pos], \ ['scopestrs', {}],