1
0
mirror of https://github.com/gryf/tagbar.git synced 2026-05-11 00:42:59 +02:00

212 Commits

Author SHA1 Message Date
gryf 7404b43c62 Display the kind (type) of the tag on the status bar
Using different method than the first attempt.
2016-02-14 17:09:00 +01:00
gryf 8d8550cf5d Display the kind (type) of the tag on the status bar.
Besides the usual tag hierarchy, type of the tag would be provided.
2016-02-14 14:51:09 +01:00
Jan Larres 7b36c46d17 Change mentions of GNU ctags to BSD ctags 2015-06-19 11:42:35 +12:00
Jan Larres 91566e6c0b Merge pull request #274 from UmkaDK/universal-ctags
Fixed compatibility with Universal Ctags
2015-06-19 11:30:42 +12:00
Dmytro Konstantinov d01d7e7546 Fixed compatibility with Universal Ctags
This commit fixes tagbar compatibility issues with the
[universal-ctags](/universal-ctags/ctags), which is the most active and
consistently updated fork of the old exuberant ctags.
2015-06-11 11:31:08 +01:00
Jan Larres 399b75256a Merge pull request #264 from h3xx/master
Fix vim-airline: Suppress status-line output when executing shell
2015-05-10 18:40:25 +12:00
Dan Church 40be9a2e5f Suppress status-line output when executing shell
Failing to suppress output can cause problems in some environments,
especially if the shell command fails or does something else spooky.

Example where failing to suppress the shell command causes issues with
[vim-airline](https://github.com/bling/vim-airline) with the tagbar
extension enabled:

![](http://i.imgur.com/ciigs8C.png)

Here's another example:

![](http://i.imgur.com/cl96sI8.png)

Both were taken using uxterm in Linux.
2015-04-24 17:44:58 -05:00
Jan Larres c6b473f559 Handle wrong rtp more gracefully
If the runtimepath has been set incorrectly and the autoload file is
getting loaded by something, then the code won't be able to load the
"plugin" file. Print a warning message and stop loading the file instead
of throwing lots of errors.
2015-04-05 20:14:56 +12:00
Jan Larres 8a8e85436d Merge pull request #258 from michaeltanner/master
Adds CUDA support (identical to C++)
2015-04-05 19:30:24 +12:00
Jan Larres 1773059756 Mention :messages command in troubleshooting section 2015-04-05 18:56:08 +12:00
Jan Larres 3634e7ab4f Support 'kind' field with name, ref #254 2015-03-17 19:35:42 +13:00
Jan Larres eb392a4502 Check for fish instead of resetting shell unconditionally 2015-02-23 15:14:35 +13:00
Jan Larres a284cd0091 Always log ctags output when execution fails 2015-02-16 18:49:07 +13:00
Michael Tanner c21176d8da Adds CUDA support (identical to C++) 2015-02-08 21:27:38 +00:00
Jan Larres 00dfa82b00 Fix prefix for tags with both access and file fields 2015-02-02 16:30:10 +13:00
Yecheng Fu e62d3444e9 add '-' flag before static functions in c 2015-02-02 16:21:10 +13:00
Jan Larres 04bb728039 Replace help mapping in short help, closes #245 2015-01-26 12:37:53 +13:00
Jan Larres fcac7f2936 Don't try to jump to winnr 0, ref #244 2015-01-13 22:32:30 +13:00
Jan Larres bfc121dc38 Setup options and keymaps in functions to avoid global variables 2014-12-10 16:19:14 +13:00
Jan Larres 4fa15349c5 Small cleanups 2014-12-10 15:34:14 +13:00
Jan Larres f9c5f24576 Don't skip over closed folds with zk 2014-11-26 14:52:54 +13:00
Jan Larres a084e47eb4 Rephrase compatible programs a bit 2014-11-10 12:03:43 +13:00
Jan Larres df09799372 Add mappings for moving through folds, closes #224 2014-11-09 17:33:42 +13:00
Jan Larres f933907afa Add option to arrange Tagbar window vertically 2014-11-08 21:30:17 +13:00
Jan Larres 5283bc834a Reprocess files if filetype changes, closes #228 2014-11-02 17:44:38 +13:00
Jan Larres 5d1ae684a1 Better JavaScript ctags config, courtesy of David Fishburn 2014-10-28 16:49:16 +13:00
Jan Larres e1eec86934 Small doc fix 2014-10-27 22:39:31 +13:00
Jan Larres 5c33e09d68 Add simple inspect() debug function 2014-10-27 22:38:59 +13:00
Jan Larres 251c774431 Don't assume all types define 'ctagstype' 2014-10-27 22:37:17 +13:00
Jan Larres 37400d9950 Make errors less fatal, closes #215
Instead of using 'echoerr' and essentially breaking the plugin after
that problems are now reported as warnings with 'echomsg'. They will
also only be shown once for a particular problem.
2014-10-27 22:35:19 +13:00
Jan Larres 64e935fe58 Small preview window improvements, ref #161 2014-10-14 15:59:29 +13:00
Jan Larres b54d8d64f1 Handle unloaded buffers when getting prototype, closes #222 2014-10-14 11:19:08 +13:00
Jan Larres 76f16f891b Return pattern for prototype if linenr is not available, closes #219 2014-10-11 18:37:21 +13:00
Jan Larres 4e5e0ebe59 Small doc improvement for pause, closes #199 2014-10-11 17:11:55 +13:00
Jan Larres 032fd1fbb3 Reset 'shell' to improve compatibility 2014-10-09 11:31:19 +13:00
Jan Larres f3a369c31d Use prettier screenshots, just because. 2014-10-01 20:52:40 +13:00
Jan Larres f46ba1a41f Update README 2014-10-01 12:36:51 +13:00
Jan Larres 9ee516ee6f Fix typo 2014-08-23 19:44:45 +12:00
Jan Larres 59c9b7ce1c Don't skip over unmodifiable buffers, closes #213
Skipping over unmodifiable buffers when checking for Tagbar being the
last window got introduced in #117, but I don't think it is actually
necessary.
2014-06-25 18:43:09 +12:00
Jan Larres 5e392c1b8d Add inline help for toggleautoclose mapping 2014-06-25 17:58:36 +12:00
Jan Larres ca1c9ee2e2 Add mapping to toggle autoclose option
The current tagbar_autoclose state will be displayed in the statusline.
Also change the "hide nonpublic" flag to "v" to match the mapping and
properly document the statusline flags.
2014-06-25 17:52:43 +12:00
Jan Larres 9bf4fd99e4 Merge pull request #206 from hachibeeDI/fix/disable_appendmode
Make sure that ctags is not called in append mode
2014-05-02 16:29:09 +12:00
dogura a9ec78aa5b specify a option is disable append mode
Because append mode is not allow that to output result on stdout.
2014-05-01 14:33:31 +09:00
Jan Larres ae46cc025b Better mapping init, closes #203
If someone already has a function that includes "JumpToTag" in its name
then the current method of detecting whether mappings should be
initialized would fail. Use a buffer-local variable instead.
2014-04-05 19:09:09 +13:00
Jan Larres 87d0111bd3 Clarify debug instructions 2014-04-04 18:54:13 +13:00
Jan Larres 0181f1d0cd Log typeinfo of newly processed file 2014-04-04 18:37:47 +13:00
Jan Larres a5220adc9a Better fileinfo removal logging 2014-04-04 01:08:12 +13:00
Jan Larres fabae6a11d Log fileinfo removal 2014-04-04 01:01:53 +13:00
Jan Larres 2bc6e96ae4 Rename debug log function 2014-04-04 00:39:26 +13:00
Jan Larres 8a139e0576 Better timestamps 2014-04-04 00:31:27 +13:00
Jan Larres be46ee5988 Don't remove fileinfo on BufUnload
If 'hidden' is not set then BufUnload is called every time a buffer
would get hidden, removing the fileinfo. This causes unnecessary ctags
processing of files.
2014-04-01 00:53:18 +13:00
Jan Larres b2c5f0b928 Keep cursor on current tag when sorting, closes #200 2014-03-22 01:09:30 +13:00
Jan Larres 07b7e9b68e Add LICENSE file, closes #197 2014-03-21 13:54:30 +13:00
Jan Larres c251265edf Document common way to run debug command 2014-03-18 19:03:49 +13:00
Jan Larres fdceb4ea71 Add ? as help key, closes #194 2014-02-28 13:51:48 +13:00
Jan Larres 614b5b244f Change default hide_nonpublic mapping 2014-02-10 17:25:32 +13:00
Jan Larres 3fdefbaa47 Add documentation for hide_nonpublic
Also indicate in the statusline if non-public tags are currently hidden.
2014-02-10 17:10:43 +13:00
Jan Larres 368d37ed45 Allow hiding non-public tags, closes #186 2014-02-05 18:08:04 +13:00
Jan Larres 13d4cfcc2c Remove some duplication 2014-02-05 15:30:19 +13:00
Jan Larres 42ce2919a3 Allow configuring zoom, closes #189 2014-02-04 18:00:27 +13:00
Jan Larres 836a39af8f Jump to correct window even after opening preview window 2014-02-01 21:17:00 +13:00
Jan Larres 0ead3332a9 Extract GetFileWinnr() function 2014-02-01 20:49:11 +13:00
Jan Larres e872e67641 Version 2.6.1 2014-01-23 23:17:00 +13:00
Jan Larres b610fb2f5d Restore previous window, closes #190 2014-01-21 15:59:51 +13:00
Jan Larres ace45adc51 Don't let ctags sort tags, closes #187
Ctags seems to call an external 'sort' which can apparently fail in some
cases with Cygwin. Since we sort the tags ourselves anyway just disable
it.
2013-12-25 19:07:31 +13:00
Jan Larres 88d7464079 Close prevwin when jumping to tag, closes #184 2013-12-19 11:54:59 +13:00
Jan Larres dbc05b24a3 Fix getCurrent() call for kind headers, closes #185 2013-12-09 16:30:38 +13:00
Jan Larres 6d8770f949 Version 2.6 2013-12-06 00:27:08 +13:00
Jan Larres c4963e91cc Update credits 2013-12-06 00:26:00 +13:00
Jan Larres 87bbb46e95 Open previewwin relative to Tagbar win 2013-11-30 19:28:18 +13:00
Jan Larres b4a5800f72 Always centre preview window 2013-11-30 03:31:31 +13:00
Jan Larres ba3693f977 Properly open fold when jumping to tag 2013-11-30 03:18:39 +13:00
Jan Larres 528bdc6b8d Improve preview window handling
Use psearch instead of pedit since pedit essentially reloads the file
and creates an empty undo entry. This also makes it faster.
2013-11-29 18:43:00 +13:00
Jan Larres 2dcd5260b6 Equalize windows after shrinking if necessary, closes #182 2013-11-24 01:21:44 +13:00
Jan Larres 3f28e3b073 Add a note about autocmd timing, closes #180 2013-11-22 17:19:14 +13:00
Jan Larres 915b11bd1c Close preview window when closing Tagbar 2013-11-22 16:43:06 +13:00
Jan Larres e090fe73d1 Automatically open folds in preview window 2013-11-22 16:36:54 +13:00
Jan Larres 574376d165 Add Cython/Pyrex support, closes #181 2013-11-22 14:55:50 +13:00
Jan Larres 66c56b11a7 Clean up window switching 2013-11-15 16:21:12 +13:00
Jan Larres c57dd9f7a4 Make sure QuitIfOnlyWindow also works with prevwin open 2013-11-13 16:53:52 +13:00
Jan Larres f3250b2dd1 Make preview window position configurable 2013-11-13 16:29:42 +13:00
Jan Larres 0377f19d74 Add auto-previewing mode, closes #161 2013-11-11 18:23:22 +13:00
Jan Larres 2d650b96cf Ignore preview window when quitting 2013-11-11 17:39:48 +13:00
Jan Larres 290b71e2b7 Skip preview window when jumping to tag 2013-11-11 17:12:40 +13:00
Jan Larres 78a7eeecf3 Add key to show tag in preview window 2013-11-11 00:53:45 +13:00
Jan Larres 207b8520c2 Allow ignoring specific files, closes #169 2013-11-08 17:27:34 +13:00
Jan Larres 1a2c4ec958 Rework pause functionality, closes #177
The current pause functionality simply removes all the autocommands to
stop updating Tagbar. This has the problem that at the moment the
statusline functions immediately restore the commands so pausing doesn't
work, but even if that didn't happen it would stop the statusline
functionality from working which is not desirable. The solution is to
have a reference to the paused file which will get used by the Tagbar
window, but not the statusline functions.
2013-11-06 22:33:27 +13:00
Jan Larres 0fd09344c7 Don't update during window opening, closes #179
Plugins like MiniBufExplorer can trigger an update before window
initialization has finished, leading to errors. Skip processing until
that is done.
2013-11-06 17:06:39 +13:00
Jan Larres abffaba655 Fix stupid 'if' syntax mistake 2013-11-06 14:11:16 +13:00
Jan Larres 15f9ad6e88 Check for existence of qf var before deleting
Otherwise explicit calling of QuickFixCmdPost autocmds without a
preceding QuickFixCmdPre will generate an error.
2013-11-06 13:27:16 +13:00
Jan Larres b60d08c468 Add comment why BufReadPost is needed 2013-11-05 09:16:58 +13:00
Jan Larres e5408f740f Don't process quickfix-loaded files, closes #176
Certain quickfix-commands like vimgrep have to load all searched files
into Vim and will execute the BufReadPost autocmd for all of them. Since
Tagbar doesn't need to generate tags for those files pause processing
while the command is running.

There doesn't seem to be a better way to find out whether vimgrep is
running than to set a temporary variable with the QuickFixCmdPre/Post
autocmds, see also
https://groups.google.com/forum/#!topic/vim_use/sUj5MFGmwD8
2013-11-04 22:51:38 +13:00
Jan Larres 85c198ba57 Always properly shrink window, closes #172
Closing Tagbar with :q instead of the provided commands and mappings
would bypass the Vim application window shrinking logic. Install an
autocommand that checks for this situation.
2013-11-04 22:30:17 +13:00
Jan Larres 2e2ba2eab2 Use standard highlight group if syntax is disabled
This prevents an error message about a non-existent highlighting group
when trying to match the tag pattern.
2013-11-02 21:51:15 +13:00
Jan Larres fd79a17189 Merge pull request #175 from typekpb/patch-1
fix site url in README.md (com -> io)
2013-09-30 03:02:45 -07:00
Peter Butkovic ae4bbcdaaf fix site url in README.md (com -> io)
due to: https://github.com/blog/1452-new-github-pages-domain-github-io
2013-09-30 09:10:29 +02:00
Jan Larres 3c37ddcc14 Handle invalid ctags line numbers, closes #119 2013-09-19 12:36:41 +12:00
Jan Larres 5566cb34d5 Don't force processing on BufReadPost, closes #170
This prevents files being processed twice unnecessarily, once for
FileType and once for BufReadPost. All cases where BufReadPost is called
without FileType should be covered by the checks in AutoUpdate().
2013-09-18 17:44:52 +12:00
Jan Larres 97d7b04bdd Add xterm-resize reference 2013-08-30 17:20:51 +12:00
Jan Larres 4801c897f8 Try expanding a terminal if configured 2013-08-30 16:57:27 +12:00
Jan Larres 24efd12f50 Add option to show line numbers, closes #146 2013-08-24 21:45:10 +12:00
Jan Larres fec9b2a1ab Add status_func documentation 2013-08-24 21:25:54 +12:00
Jan Larres 56cd34830d Remove deprecated GenerateStatusline() function 2013-08-24 20:50:27 +12:00
Jan Larres 0b14e28719 Merge branch 'stltest' 2013-08-24 19:17:13 +12:00
Jan Larres 225fcaa3ce Log ctags version 2013-08-24 18:38:04 +12:00
Jan Larres dab8d99fb8 Print message if no tags have been found in file 2013-08-24 17:57:33 +12:00
Jan Larres a566f7141f Echo message if ctags output is empty 2013-08-24 17:40:12 +12:00
Jan Larres 7ef2dd0ef1 Log error messages with ctags output 2013-08-23 18:02:24 +12:00
Jan Larres 84d65042fa Remove commented out statusline calls 2013-08-22 19:06:28 +12:00
Jan Larres c37d783d4f Make keybindings configurable, closes #159 2013-08-22 17:38:31 +12:00
Jan Larres 7ec151a7a9 Better quickhelp syntax highlighting 2013-08-22 17:01:19 +12:00
Jan Larres e97d2c00ad Simplify option initialization 2013-08-22 13:16:46 +12:00
Jan Larres 57acb383b6 Statusline tweaks 2013-08-21 18:28:40 +12:00
Jan Larres 495e5fcb08 Allow customizing the statusline 2013-08-21 17:50:03 +12:00
Jan Larres 746771801c Log exact shell command for debug 2013-08-21 02:44:31 +12:00
Jan Larres 824767bc48 Small debug clarification in docs 2013-08-20 00:40:21 +12:00
Jan Larres 57ee79bd4c Mention the wiki in the README 2013-07-30 16:02:35 +12:00
Jan Larres a217435f50 Remove autocmds when not needed, closes #153
When the Tagbar window gets closed and the statusline functionality is
not in use, remove the autocommands to prevent unnecessary ctags calls.
2013-07-30 11:38:46 +12:00
Jan Larres 2bacadf716 Merge pull request #157 from mmcclimon/doc_fontchars
Fix for confusing font character example.
2013-07-22 16:29:36 -07:00
Michael McClimon e4fda667f9 Fix for confusing font character example. 2013-07-22 11:47:45 -04:00
Jan Larres 5732ce9bd6 Simplify sort method 2013-07-17 16:50:02 +12:00
Jan Larres f36e0d3d39 Always correctly show sort order 2013-07-17 16:49:22 +12:00
Jan Larres dacf4f273e Add Tagbar command as alias for TagbarToggle, closes #151 2013-06-25 18:12:25 +12:00
Jan Larres 82a932406f Make autoshowtag more flexible, closes #152 2013-06-25 16:33:36 +12:00
Jan Larres 2ebd2a1392 Escape quotes in path filters, closes #150 2013-06-03 17:38:02 +12:00
Jan Larres ca02374f40 Merge pull request #147 from zhaocai/master
Export tagbar#currentfile() function
2013-06-02 21:56:10 -07:00
Jan Larres a93fb868d8 Restore windows properly after zooming 2013-05-20 15:18:57 +12:00
Zhao Cai 070a75cb04 Export tagbar#currentfile() function 2013-05-15 08:00:08 -04:00
Jan Larres 24915dbe24 Handle non-existent project autocmds properly, closes #145 2013-05-06 18:49:19 +12:00
Jan Larres f5435678fb Expand deffile path 2013-04-30 10:12:02 +12:00
Jan Larres 3ecdb5028d Try to distinguish between equal alternative tags, closes #139 2013-04-29 16:49:17 +12:00
Jan Larres d0d307c9bd Convert remaining call to CreateTypeKinddict(), closes #142 2013-04-26 19:33:00 +12:00
Jan Larres f0f9d66465 Move tests into separate repository 2013-04-24 15:57:22 +12:00
Jan Larres e6e084e8b0 Re-enable BufReadPost event 2013-04-24 12:10:33 +12:00
Jan Larres cde257b1bc Merge branch 'inkarkat-enh-syntax' 2013-04-24 11:33:40 +12:00
Jan Larres 54b28e4988 Fix TagbarScope pattern 2013-04-24 11:33:30 +12:00
Jan Larres 7c0d8675b5 Make createKinddict() an instance method 2013-04-24 10:45:46 +12:00
Jan Larres acca348959 Allow project-specific type config 2013-04-24 10:45:46 +12:00
Jan Larres 1c605bd958 Merge pull request #135 from darcyparker/issue133_ctagsbin
Improved `s:EscapeCtagsCmd()` for windows `cmd.exe` to eliminate issues when `a:ctags_bin` calls a batch file that uses `%~dp0`.
2013-04-23 04:19:09 -07:00
Ingo Karkat 2665695f57 FIX: Avoid matching public / private methods as TagbarKind.
When g:tagbar_iconchars = ['+', '-'] (default on Windows), and viewing a filetype (e.g. java) that has visibility information (i.e. the [-+#] sigils), the method is mistakenly highlighted as TagbarKind. Restrict its matches to when the sigil is at the beginning of the line to avoid the false matches at the indented method tags.
2013-04-12 21:22:27 +02:00
Ingo Karkat 32b5b15b52 FIX: Avoid that the sigils used for highlighting match inside a tag.
When there's a tag e.g. "foo-bar", the "-bar" part is matched as TagbarKind. Add a zero-width condition to all sigil patterns that allow only whitespace characters before the sigil.
2013-04-12 21:14:23 +02:00
Ingo Karkat 87d293206b Simplify conversion of g:tagbar_iconchars into regexp.
With join() and escape(), the steps can be simplified.
2013-04-12 20:48:08 +02:00
Darcy Parker 93f2b68166 Removed unnecessary | around 'shell' 2013-04-08 09:21:15 -04:00
Jan Larres db9404ca1a Add tests to repository 2013-04-06 00:59:14 +13:00
Jan Larres b6f47e4020 Simplify getusertypes() function 2013-04-05 11:57:57 +13:00
Jan Larres ec0eb883dc Recognize racket as scheme, closes #134 2013-04-04 19:06:42 +13:00
Darcy Parker d0df97040b Improved s:EscapeCtagsCmd() for windows cmd.exe to eliminate issues when
a:ctags_bin calls a batch file that uses %~dp0. Changes include:
- Enable ctags_args to be a list
- Changed default ctags_args to be a list to improve robustness of
  s:EscapeCtagsCmd()
- Do not escape 0th argument of ctags_cmd for cmd.exe when it is not
  necessary because otherwise batch files may not return expected value
  for %~dp0
- Updated tagbar documentation about string and list value types for
  ctags_args
See https://github.com/majutsushi/tagbar/issues/133
2013-04-02 17:57:30 -04:00
Jan Larres dec1f840fb Version 2.5 2013-03-25 22:27:12 +13:00
Jan Larres 11f8479593 Return to the correct window after closing Tagbar, closes #132
Since the window numbers can change when opening and closing windows
Tagbar so far has used bufwinnr() to find the right window to jump back
to. However, this fails if the same file is being displayed in more than
one window. Save a window-local variable instead to detect the correct
window to jump back to.
2013-03-24 14:16:56 +13:00
Jan Larres 77a318b10e Don't disrupt the statusline if ctags fails 2013-03-23 19:46:38 +13:00
Jan Larres c1c7d962af Explain ctags bug issues in README.md 2013-03-21 16:30:38 +13:00
Jan Larres aa190a87fa Rename README to README.md 2013-03-21 16:12:08 +13:00
Jan Larres 80dfccf09d Don't restore window position if moved manually 2013-03-18 19:09:12 +13:00
Jan Larres be00efa703 Save and restore window position when expanding, closes #129 2013-03-18 18:51:54 +13:00
Jan Larres cc222f5d8c Run ctags even if previous run produced erros, closes #125
If a ctags-compatible program returns an error status code on a parsing
failure then it would never be run again on the same file, even if later
invocations would have returned normally (for example after fixing an
error in the current file). Therefore we need to execute the program on
updates as usual, but do not repeat error messages if the previous run
already did.
2013-02-26 21:56:12 +13:00
Jan Larres 852c6dac69 Better handling of switching to unsupported buffer 2013-02-19 00:02:32 +13:00
Jan Larres 0bce914578 Update credits 2013-02-18 21:56:32 +13:00
Jan Larres 59bb2a4355 Merge pull request #123 from jszakmeister/fix-currenttag-on-unsupported-file
When switching to a buffer that is unsupported, clear current.
2013-02-18 00:51:36 -08:00
Jan Larres 4ca7a0c636 Prevent update error when current file is empty 2013-02-18 21:51:16 +13:00
Jan Larres f801147c2e Fix header indentation 2013-02-13 23:34:17 +13:00
Jan Larres 9ec7d1db4c Merge pull request #118 from techlivezheng/feature/autoupdate-on-bufreadpost
Run auto-updating on BufReadPost event
2013-02-06 00:35:57 -08:00
Jan Larres 9bbd0098c5 Don't update when in previewwindow, closes #112 2013-02-06 21:21:18 +13:00
Jan Larres 5816ce0c5a Add abort() to NextNormalWindow function 2013-02-06 19:00:34 +13:00
Jan Larres 3f03aa3013 Small patch cleanup 2013-02-06 18:43:51 +13:00
Techlive Zheng 0224d32eb9 Only reset '0 mark when it is the last window
We only need to reset '0 mark when our tagbar window is the last one,
otherwise, just quit the window and let the other window handle the
error that might happen on quiting Vim.
2013-02-06 18:21:36 +13:00
Techlive Zheng 987569e7dd Only colse the tagbar window itself
If there are other plugin windows open, close tagbar window and handle
over the control to the other window.

If the last file in the Vim's file arguments list has not been edited
yet, normal Vim's behavior would be quit on ':q!' or twice ':q'. As our
plugin window is the last window now, previously quiting on the file
window will not trigger the "more files" check, but our window does.
We'd better to behave the same. Currently, twice ':q' quiting would work,
but ':q!' not. There is no easy way to determine whether the command
being executed with a "!" or not, so this is a flaw now and we need
to come up a better solution someday, but it is a progress than before.
2013-02-06 18:21:35 +13:00
Techlive Zheng a444c62066 Quit if no more normal window exists
There might be other plugin windows but no normal file window open, we
need to make sure tagbar window is closed at this situation.
2013-02-06 18:21:35 +13:00
Jan Larres 1181325968 Reinstate noautocmd when going to pprev window 2013-02-06 17:30:33 +13:00
Jan Larres 1f0c0a3a8e Small cleanup of last patch 2013-02-06 17:07:27 +13:00
Techlive Zheng ad8783961d Do not interfere window switching history
Many plugins rely on 'wincmd p' to work properly, we need to preserve
at least one-level backwards window switching history.
2013-02-06 17:00:09 +13:00
Jan Larres bccdc7a48d Improve out-of-sync error reporting 2013-02-04 15:10:06 +13:00
John Szakmeister 2b1f655063 When switching to a buffer that is unsupported, clear current. 2013-01-20 10:54:16 -05:00
Techlive Zheng 17d199f584 Run auto-updating on BufReadPost event
If 'autoread' is set and a buffer gets updated, tagbar need to be
triggerd to update itself too.
2012-11-30 08:17:58 +08:00
Jan Larres feebffcd2a Always colour signature correctly 2012-11-22 18:43:46 +13:00
Jan Larres 7d836e0c53 Make visibility symbols optional 2012-11-22 18:42:14 +13:00
Jan Larres 0ab07ac566 Use 'visibility' instead of 'access' everywhere exclusively 2012-11-22 18:05:59 +13:00
Jan Larres 576d6e6dea Update credits 2012-11-21 20:44:43 +13:00
Jan Larres df341841ec Small doc fix 2012-11-21 18:44:28 +13:00
kianryan 15eddce14f Updates to TagbarTogglePause
Changes requested by majutsushi.

Changed function to :TagbarTogglePause
Added documentation for function, including usage and defintion.
Changed autocommands_enable to autocommands_enabled.
2012-11-01 14:36:45 +00:00
kianryan e88b81c4f5 Merge branch 'master' of github.com:kianryan/tagbar 2012-10-01 14:24:46 +01:00
kianryan 19695b87b0 Pause autocmd functionality with :TagbarPause
tagbar#PauseAutocommands :TagbarPause

:TagbarPause pauses autocmds, effectively freezing Tagbar on the last
file.  Useful for keeping a tag reference for a file open whilst working
in a different file.
2012-10-01 14:22:35 +01:00
Jan Larres 568ef5fd25 Make the indent configurable, closes #110 2012-10-01 22:59:53 +13:00
Jan Larres e635a23cf5 Don't disable cursorline/column locally 2012-10-01 21:57:28 +13:00
Jan Larres 2fee7677d5 Handle invalid fields gracefully 2012-09-16 03:03:11 +12:00
Jan Larres cd0e20f93b Add TagbarCurrentTag command, closes #109 2012-09-15 17:03:43 +12:00
Jan Larres ee700817d5 Fix some TagbarShowTag bugs, closes #108 2012-09-15 16:49:28 +12:00
Jan Larres 67dc2a3b06 Typo 2012-09-13 23:29:39 +12:00
Jan Larres 63e689b647 Escape all cmd.exe reserved chars 2012-09-11 17:44:14 +12:00
Jan Larres ba6eb10e49 Don't use doautocmd 2012-09-09 22:55:57 +12:00
Jan Larres d39a767486 Allow prototype to be shown with currenttag 2012-09-09 20:17:44 +12:00
Jan Larres a34acf4f63 Merge pull request #106 from sethwoodworth/master
Remove space from statusline example
2012-09-04 06:13:57 -07:00
Jan Larres 6483a0edd1 Merge pull request #104 from zmx/patch-1
Support Clojure as LISP type
2012-09-04 05:48:31 -07:00
Jan Larres 757358349e Move some var inits outside of win init function 2012-09-05 00:29:28 +12:00
Seth Woodworth 04e40e09c1 fix example for statusline
vim funcs can't have spaces in arg lists
2012-09-03 19:07:52 -03:00
Zhong, Ming-Xun ba7d6b3e8e Support Clojure as LISP type 2012-08-31 18:42:25 +08:00
Jan Larres 4569779601 Only generate prototypes on-demand 2012-08-27 01:57:56 +12:00
Jan Larres 7d1ba97603 Typo in comment 2012-08-26 19:32:46 +12:00
Jan Larres b1c7f5f792 Improve prototype handling 2012-08-26 19:25:02 +12:00
Jan Larres b19c1d8524 Try to get complete prototype 2012-08-26 18:36:26 +12:00
Jan Larres 8b5ba2ad66 Tweak some debug messages 2012-08-23 01:47:59 +12:00
Jan Larres 25f43b9e88 Print debug message when executing ctags 2012-08-23 00:59:41 +12:00
Jan Larres f6acd740d7 Better debug message 2012-08-18 00:11:07 +12:00
Jan Larres bff765b957 Only determine extension once 2012-08-01 21:08:49 +12:00
Jan Larres f2c072dbb9 Add extension to temporary files 2012-07-31 16:50:55 +12:00
Jan Larres e321d85548 Don't open all folds when jumping to tag 2012-07-31 16:42:33 +12:00
Jan Larres f3c1a93017 Make 'open' commands a bit more intuitive 2012-07-31 16:42:18 +12:00
Jan Larres e690a5e97d Cache files locally for parsing
Files are now cached locally in a temporary file, and the parsing
happens on that file. This allows displaying tags for remote (Netrw)
files, and it will also make access to files on remote filesystems like
NFS and sshfs faster.

Additionally, tags are now always updated when the files are saved,
deprecating the tagbar_updateonsave_maxlines option. Otherwise checking
for changes in remote files would not have been possible.
2012-07-22 21:49:17 +12:00
Jan Larres 052bc7972b Correct latest stable ctags version for latex support 2012-07-22 18:14:14 +12:00
Jan Larres f1c6d8c780 Clarify LaTeX support in manual 2012-07-21 23:51:01 +12:00
Jan Larres 1757b33da7 Explain feature requirements in systemenc doc 2012-07-21 21:08:33 +12:00
Jan Larres 427d709f61 Only attempt encoding conversion if compiled with +multi_byte 2012-07-21 20:59:23 +12:00
Jan Larres 49d39cae6c Add 'abort' keyword to all functions 2012-07-20 01:24:16 +12:00
7 changed files with 2291 additions and 828 deletions
+82
View File
@@ -0,0 +1,82 @@
TAGBAR LICENSE
This is the normal Vim license (see ':h license' in Vim) with the necessary
replacements for the project and maintainer information.
I) There are no restrictions on distributing unmodified copies of Tagbar
except that they must include this license text. You can also distribute
unmodified parts of Tagbar, likewise unrestricted except that they must
include this license text. You are also allowed to include executables
that you made from the unmodified Tagbar sources, plus your own usage
examples and scripts.
II) It is allowed to distribute a modified (or extended) version of Tagbar,
including executables and/or source code, when the following four
conditions are met:
1) This license text must be included unmodified.
2) The modified Tagbar must be distributed in one of the following five ways:
a) If you make changes to Tagbar yourself, you must clearly describe in
the distribution how to contact you. When the maintainer asks you
(in any way) for a copy of the modified Tagbar you distributed, you
must make your changes, including source code, available to the
maintainer without fee. The maintainer reserves the right to
include your changes in the official version of Tagbar. What the
maintainer will do with your changes and under what license they
will be distributed is negotiable. If there has been no negotiation
then this license, or a later version, also applies to your changes.
The current maintainer is Jan Larres <jan@majutsushi.net>. If this
changes it will be announced in appropriate places (most likely
majutsushi.github.io/tagbar and/or github.com/majutsushi/tagbar).
When it is completely impossible to contact the maintainer, the
obligation to send him your changes ceases. Once the maintainer has
confirmed that he has received your changes they will not have to be
sent again.
b) If you have received a modified Tagbar that was distributed as
mentioned under a) you are allowed to further distribute it
unmodified, as mentioned at I). If you make additional changes the
text under a) applies to those changes.
c) Provide all the changes, including source code, with every copy of
the modified Tagbar you distribute. This may be done in the form of
a context diff. You can choose what license to use for new code you
add. The changes and their license must not restrict others from
making their own changes to the official version of Tagbar.
d) When you have a modified Tagbar which includes changes as mentioned
under c), you can distribute it without the source code for the
changes if the following three conditions are met:
- The license that applies to the changes permits you to distribute
the changes to the Tagbar maintainer without fee or restriction, and
permits the Tagbar maintainer to include the changes in the official
version of Tagbar without fee or restriction.
- You keep the changes for at least three years after last
distributing the corresponding modified Tagbar. When the
maintainer or someone who you distributed the modified Tagbar to
asks you (in any way) for the changes within this period, you must
make them available to him.
- You clearly describe in the distribution how to contact you. This
contact information must remain valid for at least three years
after last distributing the corresponding modified Tagbar, or as
long as possible.
e) When the GNU General Public License (GPL) applies to the changes,
you can distribute the modified Tagbar under the GNU GPL version 2
or any later version.
3) A message must be added, at least in the documentation, such that the
user of the modified Tagbar is able to see that it was modified. When
distributing as mentioned under 2)e) adding the message is only
required for as far as this does not conflict with the license used for
the changes.
4) The contact information as required under 2)a) and 2)d) must not be
removed or changed, except that the person himself can make
corrections.
III) If you distribute a modified version of Tagbar, you are encouraged to use
the Tagbar license for your changes and make them available to the
maintainer, including the source code. The preferred way to do this is
by e-mail or by uploading the files to a server and e-mailing the URL. If
the number of changes is small (e.g., a modified Makefile) e-mailing a
context diff will do. The e-mail address to be used is
<jan@majutsushi.net>
IV) It is not allowed to remove this license from the distribution of the
Tagbar sources, parts of it or from a modified version. You may use this
license for previous Tagbar releases instead of the license that they
came with, at your option.
-7
View File
@@ -1,7 +0,0 @@
Tagbar is a vim plugin for browsing the tags of source code files. It provides
a sidebar that displays the ctags-generated tags of the current file, ordered
by their scope. This means that for example methods in C++ are displayed under
the class they are defined in.
Check out the homepage at http://majutsushi.github.com/tagbar/ for more
information.
+89
View File
@@ -0,0 +1,89 @@
# Tagbar: a class outline viewer for Vim
## What Tagbar is
Tagbar is a Vim plugin that provides an easy way to browse the tags of the
current file and get an overview of its structure. It does this by creating a
sidebar that displays the ctags-generated tags of the current file, ordered by
their scope. This means that for example methods in C++ are displayed under
the class they are defined in.
## What Tagbar is not
Tagbar is not a general-purpose tool for managing `tags` files. It only
creates the tags it needs on-the-fly in-memory without creating any files.
`tags` file management is provided by other plugins, like for example
[easytags](https://github.com/xolox/vim-easytags).
## Dependencies
[Vim 7.0](http://www.vim.org/) (But see note below)
[Exuberant ctags 5.5](http://ctags.sourceforge.net/)
## Installation
Extract the archive or clone the repository into a directory in your
`'runtimepath'`, or use a plugin manager of your choice like
[pathogen](https://github.com/tpope/vim-pathogen). Don't forget to run
`:helptags` if your plugin manager doesn't do it for you so you can access the
documentation with `:help tagbar`.
Note: Vim versions < 7.0.167 have a bug that prevents Tagbar from working. If
you are affected by this use this alternate Tagbar download instead:
[zip](https://github.com/majutsushi/tagbar/zipball/70fix). It is on par with
version 2.2 but probably won't be updated after that due to the amount of
changes required.
If the ctags executable is not installed in one of the directories in your
`$PATH` environment variable you have to set the `g:tagbar_ctags_bin`
variable, see the documentation for more info.
## Quickstart
Put something like the following into your ~/.vimrc:
```vim
nmap <F8> :TagbarToggle<CR>
```
If you do this the F8 key will toggle the Tagbar window. You can of course use
any shortcut you want. For more flexible ways to open and close the window
(and the rest of the functionality) see the documentation.
## Support for additional filetypes
For filetypes that are not supported by Exuberant Ctags check out [the
wiki](https://github.com/majutsushi/tagbar/wiki) to see whether other projects
offer support for them and how to use them. Please add any other
projects/configurations that you find or create yourself so that others can
benefit from them, too.
## Note: If the file structure display is wrong
If you notice that there are some errors in the way your file's structure is
displayed in Tagbar, please make sure that the bug is actually in Tagbar
before you report an issue. Since Tagbar uses
[exuberant-ctags](http://ctags.sourceforge.net/) and compatible programs to do
the actual file parsing, it is likely that the bug is actually in the program
responsible for that filetype instead.
There is an example in `:h tagbar-issues` about how to run ctags manually so
you can determine where the bug actually is. If the bug is actually in ctags,
please report it on their website instead, as there is nothing I can do about
it in Tagbar. Thank you!
You can also have a look at [ctags bugs that have previously been filed
against Tagbar](https://github.com/majutsushi/tagbar/issues?labels=ctags-bug&page=1&state=closed).
## Screenshots
![screenshot1](https://i.imgur.com/Sf9Ls2r.png)
![screenshot2](https://i.imgur.com/n4bpPv3.png)
## License
Vim license, see LICENSE
## Maintainer
Jan Larres <[jan@majutsushi.net](mailto:jan@majutsushi.net)>
+1609 -688
View File
File diff suppressed because it is too large Load Diff
+416 -65
View File
@@ -3,7 +3,7 @@
Author: Jan Larres <jan@majutsushi.net>
Licence: Vim licence, see |license|
Homepage: http://majutsushi.github.com/tagbar/
Version: 2.4.1
Version: 2.6.1
==============================================================================
Contents *tagbar* *tagbar-contents*
@@ -21,6 +21,7 @@ Contents *tagbar* *tagbar-contents*
Highlight colours ............. |tagbar-highlight|
Automatically opening Tagbar .. |tagbar-autoopen|
Show current tag in statusline |tagbar-statusline|
Ignoring specific files ....... |tagbar-ignore|
6. Extending Tagbar ................ |tagbar-extend|
7. Troubleshooting & Known issues .. |tagbar-issues|
8. History ......................... |tagbar-history|
@@ -61,7 +62,7 @@ Then Tagbar would display the tag information like so:
<
This example shows several important points. First, the tags are listed
indented below the scope they are defined in. Second, the type of a scope is
listed after its name and a colon. Third, tags for which the access/visibility
listed after its name and a colon. Third, tags for which the visibility
information is known are prefixed with a symbol indicating that.
------------------------------------------------------------------------------
@@ -107,14 +108,13 @@ The following features are supported by Tagbar:
------------------------------------------------------------------------------
OTHER CTAGS-COMPATIBLE PROGRAMS *tagbar-other*
Tagbar theoretically also supports filetype-specific programs that can output
tag information that is compatible with ctags. However due to potential
incompatibilities this may not always completely work. Tagbar has been tested
with doctorjs/jsctags and will use that if present, other programs require
some configuration (see |tagbar-extend|). If a program does not work even with
correct configuration please contact me.
Tagbar also supports filetype-specific programs that can produce
ctags-compatible output, as long as these programs can write to the standard
output. Tagbar has been tested with doctorjs/jsctags and will use that if
present, other programs require some configuration (see |tagbar-extend|). If a
program does not work even with correct configuration please contact me.
Note: Please check |tagbar-issues| for some possible issues with jsctags.
Note: Please check |tagbar-issues| for some potential issues with jsctags.
==============================================================================
2. Requirements *tagbar-requirements*
@@ -132,7 +132,7 @@ The following requirements have to be met in order to be able to use tagbar:
Tagbar will work on any platform that ctags runs on -- this includes
UNIX derivatives, Mac OS X and Windows. Note that other versions like
GNU ctags will not work.
BSD ctags will not work.
Tagbar generates the tag information by itself and doesn't need (or use)
already existing tag files.
- File type detection must be turned on in vim. This can be done with the
@@ -194,6 +194,13 @@ You can also use |:TagbarOpenAutoClose| to open the Tagbar window, jump to it
and have it close automatically on tag selection regardless of the
|g:tagbar_autoclose| setting.
Pausing the Tagbar window~
Use |:TagbarTogglePause| to toggle freezing/locking the Tagbar window on its
currently displayed file. Freezing the window stops the Tagbar contents from
changing when switching to a different source file. All Tagbar functionality
continues to work as expected. Unfreezing the window will cause it to load the
current source file.
Jumping to tags~
When you're inside the Tagbar window you can jump to the definition of a tag
by moving the cursor to a tag and pressing <Enter> or double-clicking on it
@@ -223,11 +230,12 @@ strange things will happen. This is unfortunately unavoidable.
Displaying the prototype of a tag~
Tagbar can display the prototype of a tag. More precisely it can display the
line in which the tag is defined. This can be done by either pressing <Space>
when on a tag or hovering over a tag with the mouse. In the former case the
prototype will be displayed in the command line |Command-line|, in the latter
case it will be displayed in a pop-up window. The prototype will also be
displayed when the cursor stays on a tag for 'updatetime' milliseconds.
line(s) in which the tag is defined. This can be done by either pressing
<Space> when on a tag or hovering over a tag with the mouse. In the former
case the prototype will be displayed in the |Command-line|, in the latter case
it will be displayed in a pop-up window. The prototype will also be displayed
if the cursor stays on a tag for 'updatetime' milliseconds. In that case the
prototype may be abbreviated in order to avoid |hit-enter| prompts.
------------------------------------------------------------------------------
COMMANDS *tagbar-commands*
@@ -241,7 +249,9 @@ COMMANDS *tagbar-commands*
were set to 1)
'j' Jump to Tagbar window if already open
'c' Close Tagbar on tag selection (just as if |g:tagbar_autoclose| were
set to 1, but doesn't imply 'f')
set to 1, but doesn't imply 'f'), but only if the Tagbar window was
opened using this command. If this is used the "c" flag will be
shown in the statusline of the Tagbar window.
For example, the following command would always jump to the Tagbar window,
opening it first if necessary, but keep it open after selecting a tag
@@ -252,11 +262,16 @@ COMMANDS *tagbar-commands*
Close the Tagbar window if it is open.
:TagbarToggle *:TagbarToggle*
Open the Tagbar window if it is closed or close it if it is open.
:Tagbar
Open the Tagbar window if it is closed, or close it if it is open.
:TagbarOpenAutoClose *:TagbarOpenAutoClose*
Open the Tagbar window, jump to it and close it on tag selection. This is
an alias for ":TagbarOpen fc".
an alias for ":TagbarOpen fjc".
:TagbarTogglePause *:TagbarTogglePause*
Freezes/Unfreezes the Tagbar window. Stops the contents of the window
from changing when a different source file is selected.
:TagbarSetFoldlevel[!] {number} *:TagbarSetFoldlevel*
Set the foldlevel of the tags of the current file to {number}. The
@@ -269,6 +284,10 @@ COMMANDS *tagbar-commands*
Open the parent folds of the current tag in the file window as much as
needed for the tag to be visible in the Tagbar window.
:TagbarCurrentTag [{flags}] *:TagbarCurrentTag*
Echo the current tag in the command line. For {flags} see
|tagbar-statusline|.
:TagbarGetTypeConfig {filetype} *:TagbarGetTypeConfig*
Paste the Tagbar configuration of the vim filetype {filetype} at the
current cursor position (provided that filetype is supported by Tagbar)
@@ -281,6 +300,8 @@ COMMANDS *tagbar-commands*
Start debug mode. This will write debug messages to file [logfile] while
using Tagbar. If no argument is given "tagbardebug.log" in the current
directory is used. Note: an existing file will be overwritten!
Note also that it is usually necessary to call this command before loading
a file that creates problems in order to get all of the needed data.
:TagbarDebugEnd *:TagbarDebugEnd*
End debug mode, debug messages will no longer be written to the logfile.
@@ -290,28 +311,63 @@ KEY MAPPINGS *tagbar-keys*
The following mappings are valid in the Tagbar window:
<F1> Display key mapping help.
<F1>/? Display key mapping help.
Map option: tagbar_map_help
<CR>/<Enter> Jump to the tag under the cursor. Doesn't work for pseudo-tags
or generic headers.
Map option: tagbar_map_jump
p Jump to the tag under the cursor, but stay in the Tagbar window.
Map option: tagbar_map_preview
P Open the tag in a |preview-window|.
Map option: tagbar_map_previewwin
<LeftMouse> When on a fold icon, open or close the fold depending on the
current state.
<2-LeftMouse> Same as <CR>. See |g:tagbar_singleclick| if you want to use a
single- instead of a double-click.
<C-N> Go to the next top-level tag.
Map option: tagbar_map_nexttag
<C-P> Go to the previous top-level tag.
Map option: tagbar_map_prevtag
<Space> Display the prototype of the current tag (i.e. the line defining
it) in the command line.
Map option: tagbar_map_showproto
v Hide tags that are declared non-public. Tags without any
visibility information will still be shown.
Map option: tagbar_map_hidenonpublic
+/zo Open the fold under the cursor.
Map option: tagbar_map_openfold
-/zc Close the fold under the cursor or the current one if there is
no fold under the cursor.
Map option: tagbar_map_closefold
o/za Toggle the fold under the cursor or the current one if there is
no fold under the cursor.
Map option: tagbar_map_togglefold
*/zR Open all folds by setting foldlevel to 99.
Map option: tagbar_map_openallfolds
=/zM Close all folds by setting foldlevel to 0.
<C-N> Go to the next top-level tag.
<C-P> Go to the previous top-level tag.
Map option: tagbar_map_closeallfolds
zj Go to the start of the next fold, like the standard Vim |zj|.
Map option: tagbar_map_nextfold
zk Go to the end of the previous fold, like the standard Vim |zk|.
Map option: tagbar_map_prevfold
s Toggle sort order between name and file order.
Map option: tagbar_map_togglesort
c Toggle the |g:tagbar_autoclose| option.
Map option: tagbar_map_toggleautoclose
x Toggle zooming the window.
Map option: tagbar_map_zoomwin
q Close the Tagbar window.
Map option: tagbar_map_close
These mappings can be redefined with the given map options. The argument can
be either a string or a |List| of strings. In the latter case the
functionality will be assigned to all of the keys in the list. For example, if
you want to remap the sort toggling functionality to "r":
>
let g:tagbar_map_togglesort = "r"
<
See |key-notation| for how to write special keys like <Space> or the keypad
keys.
==============================================================================
5. Configuration *tagbar-configuration*
@@ -335,11 +391,29 @@ Default: 0
By default the Tagbar window will be opened on the right-hand side of vim. Set
this option to open it on the left instead.
If |g:tagbar_vertical| is used then setting this variable will open the Tagbar
window at the top, otherwise it will open at the bottom.
Example:
>
let g:tagbar_left = 1
<
*g:tagbar_vertical*
g:tagbar_vertical~
Default: 0
If this is set to a positive value then the Tagbar window will be opened at
the top or bottom of the Vim window instead of at the side. This can be useful
for monitors that have been rotated into a vertical position. The value of
this variable will determine the number of lines to use for the Tagbar window.
See |g:tagbar_left| for configuring the position of the window.
Example:
>
let g:tagbar_vertical = 30
<
*g:tagbar_width*
g:tagbar_width~
Default: 40
@@ -351,12 +425,30 @@ Example:
let g:tagbar_width = 30
<
*g:tagbar_zoomwidth*
g:tagbar_zoomwidth~
Default: 1
Width of the Tagbar window when zoomed.
Possible values are:
1: Use the maximum width available.
0: Use the width of the longest currently visible tag.
>1: Use this width in characters.
Example:
>
let g:tagbar_zoomwidth = 0
<
*g:tagbar_autoclose*
g:tagbar_autoclose~
Default: 0
If you set this option the Tagbar window will automatically close when you
jump to a tag. This implies |g:tagbar_autofocus|.
jump to a tag. This implies |g:tagbar_autofocus|. If enabled the "C" flag will
be shown in the statusline of the Tagbar window. This can also be toggled with
a key, see |tagbar-keys|.
Example:
>
@@ -402,12 +494,69 @@ Example:
let g:tagbar_compact = 1
<
*g:tagbar_indent*
g:tagbar_indent~
Default: 2
The number of spaces by which each level is indented. This allows making the
display more compact or more spacious.
Example:
>
let g:tagbar_indent = 1
<
*g:tagbar_show_visibility*
g:tagbar_show_visibility~
Default: 1
Show the visibility symbols (public/protected/private) to the left of the tag
name.
Example:
>
let g:tagbar_show_visibility = 0
<
*g:tagbar_show_linenumbers*
g:tagbar_show_linenumbers~
Default: 0
Whether line numbers should be shown in the Tagbar window.
Possible values are:
0: Don't show any line numbers.
1: Show absolute line numbers.
2: Show relative line numbers.
-1: Use the global line number settings.
Example:
>
let g:tagbar_show_linenumbers = 2
<
*g:tagbar_hide_nonpublic*
g:tagbar_hide_nonpublic~
Default: 0
Hide tags that are declared non-public. Tags without any visibility
information will still be shown. If enabled the "v" flag will be shown in the
statusline of the Tagbar window. This can also be toggled with a key, see
|tagbar-keys|.
Example:
>
let g:tagbar_hide_nonpublic = 1
<
*g:tagbar_expand*
g:tagbar_expand~
Default: 0
If this option is set the Vim window will be expanded by the width of the
Tagbar window if using a GUI version of Vim.
If this option is set to 1 the Vim window will be expanded by the width of the
Tagbar window if using a GUI version of Vim. Setting it to 2 will also try
expanding a terminal, but note that this is not supported by all terminals.
See also |xterm-resize|.
Example:
>
@@ -451,7 +600,7 @@ Examples (don't worry if some of the characters aren't displayed correctly,
just choose other characters in that case):
>
let g:tagbar_iconchars = ['â–¶', 'â–Ľ'] (default on Linux and Mac OS X)
let g:tagbar_iconchars = ['â–ľ', 'â–¸']
let g:tagbar_iconchars = ['â–¸', 'â–ľ']
let g:tagbar_iconchars = ['â–·', 'â—˘']
let g:tagbar_iconchars = ['+', '-'] (default on Windows)
<
@@ -460,32 +609,55 @@ just choose other characters in that case):
g:tagbar_autoshowtag~
Default: 0
If this variable is set and the current tag is inside of a closed fold then
the folds will be opened as much as needed for the tag to be visible so it can
be highlighted. If it is not set then the folds won't be opened and the parent
tag will be highlighted instead. You can use the |:TagbarShowTag| command to
open the folds manually.
If this variable is set to 1 and the current tag is inside of a closed fold
then the folds will be opened as much as needed for the tag to be visible so
it can be highlighted. If it is set to 0 then the folds will only be opened
when opening the Tagbar window and the current tag is inside a closed fold,
otherwise the folds won't be opened and the parent tag will be highlighted
instead. If it is set to 2 then the folds will never be opened automatically.
You can use the |:TagbarShowTag| command to open the folds manually.
Example:
>
let g:tagbar_autoshowtag = 1
<
*g:tagbar_updateonsave_maxlines*
g:tagbar_updateonsave_maxlines~
Default: 5000
*g:tagbar_previewwin_pos*
g:tagbar_previewwin_pos~
Default: "topleft", or "rightbelow vertical" if |g:tagbar_vertical| is set
If the current file has fewer lines than the value of this variable, Tagbar
will update immediately after saving the file. If it is longer then the update
will only happen on the |CursorHold| event and when switching buffers (or
windows). This is to prevent the time it takes to save a large file from
becoming annoying in case you have a slow computer. If you have a fast
computer you can set it to a higher value.
The position of the preview window. Valid values are the window splitting
commands that are described starting from |:vertical|. Set it to an empty
string to use the options 'splitbelow' and 'splitright'.
Example:
>
let g:tagbar_updateonsave_maxlines = 10000
let g:tagbar_previewwin_pos = "aboveleft"
<
If you want to disable line numbers in the preview window put something like
this into your vimrc:
>
autocmd BufWinEnter * if &previewwindow | setlocal nonumber | endif
<
*g:tagbar_autopreview*
g:tagbar_autopreview~
Default: 0
If this variable is set to 1 then moving the cursor in the Tagbar window will
automatically show the current tag in the preview window.
Example:
>
let g:tagbar_autopreview = 1
<
*g:tagbar_updateonsave_maxlines*
g:tagbar_updateonsave_maxlines~
Deprecated. Tagbar will now always get updated when the file is being saved.
*g:tagbar_systemenc*
g:tagbar_systemenc~
@@ -496,12 +668,47 @@ system is different from the one set in Vim, i.e. the 'encoding' option. For
example, if you use a Simplified Chinese Windows version that has a system
encoding of "cp936", and you have set 'encoding' to "utf-8", then you would
have to set this variable to "cp936".
Note that this requires Vim to be compiled with the |+multi_byte| and |+iconv|
features to work.
Example:
>
let g:tagbar_systemenc = 'cp936'
<
*g:tagbar_status_func*
g:tagbar_status_func~
Default: undefined
This is the name of a function whose return value will be used to draw the
statusline of the Tagbar window.
The function has to take four arguments:
1. current: Whether Tagbar is the current window; 0 or 1.
2. sort: The sort order of the tags; 'Name' if they are sorted by name and
'Order' if they are sorted by their order of appearance in the file.
3. fname: The name of the file that the tags belong to.
4. flags: A list of characters that represent various state in the Tagbar
window.
In order to avoid possible future additions to the arguments resulting in an
error it is recommended to add an additional vararg to the signature (see
|a:0|).
Here is an example that, when put into your vimrc, will emulate Tagbar's
default statusline:
>
function! TagbarStatusFunc(current, sort, fname, flags, ...) abort
let colour = a:current ? '%#StatusLine#' : '%#StatusLineNC#'
let flagstr = join(flags, '')
if flagstr != ''
let flagstr = '[' . flagstr . '] '
endif
return colour . '[' . sort . '] ' . flagstr . fname
endfunction
let g:tagbar_status_func = 'TagbarStatusFunc'
<
------------------------------------------------------------------------------
HIGHLIGHT COLOURS *tagbar-highlight*
@@ -535,14 +742,14 @@ TagbarFoldIcon
TagbarHighlight
The colour that is used for automatically highlighting the current tag.
TagbarAccessPublic
The "public" visibility/access symbol.
TagbarVisibilityPublic
The "public" visibility symbol.
TagbarAccessProtected
The "protected" visibility/access symbol.
TagbarVisibilityProtected
The "protected" visibility symbol.
TagbarAccessPrivate
The "private" visibility/access symbol.
TagbarVisibilityPrivate
The "private" visibility symbol.
If you want to change any of those colours put a line like the following in
your vimrc:
@@ -602,7 +809,8 @@ you want to, by calling the tagbar#currenttag() function. The current tag is
exactly the same as would be highlighted in the Tagbar window if it is open.
It is defined as the nearest tag upwards in the file starting from the cursor
position. This means that for example in a function it should usually be the
name of the function.
name of the function. You can define which tags will be shown in this manner,
read |tagbar-extend| (especially the "kinds" entry) on how to do that.
The function has the following signature:
@@ -617,10 +825,32 @@ tagbar#currenttag({format}, {default} [, {flags}])
's' If the tag is a function, the complete signature will be shown,
otherwise just "()" will be appended to distinguish functions from
other tags.
'p' Display the raw prototype instead of the parsed tag. This can be
useful in cases where ctags doesn't report some information, like
the signature. Note that this can get quite long.
'k' This is essentially the same as in 'f' flag - it will display the
full hierarchy of the tag, and additionally will provide the
information of the kind of the tag.
For example, if you put the following into your statusline: >
%{tagbar#currenttag('[%s] ', '')}
< then the function "myfunc" will be show as "[myfunc()] ".
%{tagbar#currenttag('[%s] ','')}
< then the function "myfunc" will be shown as "[myfunc()] ".
Note that if there is an error when processing the current file no error
message will be shown in order to not disrupt the statusline. If the function
doesn't seem to work right open the Tagbar window to see any error messages.
------------------------------------------------------------------------------
IGNORING SPECIFIC FILES *tagbar-ignore*
You can ignore specific files by setting the |buffer-variable|
"b:tagbar_ignore" to 1. This is best done with an |autocommand|:
>
autocmd BufNewFile,BufReadPost foo.cpp let b:tagbar_ignore = 1
<
Note that autocommands are order-sensitive, so make sure that this autocommand
gets defined before the ones that Tagbar defines so the variable will get
found at the right time.
==============================================================================
6. Extending Tagbar *tagbar-extend*
@@ -651,10 +881,9 @@ support package for the language. Some tips on how to write such a program are
given at the end of this section.
Before writing your own extension have a look at the wiki
(https://github.com/majutsushi/tagbar/wiki/Support-for-additional-filetypes)
or try googling for existing ones. If you do end up creating your own
extension please consider adding it to the wiki so that others will be able to
use it, too.
(https://github.com/majutsushi/tagbar/wiki) or try googling for existing ones.
If you do end up creating your own extension please consider adding it to the
wiki so that others can benefit from it, too.
Every type definition in Tagbar is a dictionary with the following keys:
@@ -753,6 +982,25 @@ ctagsargs: The arguments to be passed to the filetype-specific ctags program
program output its data on stdout. Not used for the normal ctags
program.
The value of ctagsargs may be a |List| of strings (a string for
each argument), or a single string (|expr-string|) of all the
arguments.
When the value of ctagsargs is a list, tagbar.vim takes care of
escaping each argument in the list as required for the current
'shell' type.
When the value of ctagsargs is a string, it must be properly
escaped (if required by the current shell type). The reason
tagbar.vim does not attempt to escape the string in this case is
because if there is a space, it is ambiguous as to whether the
space is delimiting an argument or included in the argument. To
avoid this amiguity, tagbar.vim expects the string to be already
escaped as required.
If special escaping is required for different OS shell types or if
in doubt, then it is recommended to define ctagsargs with a List.
You then have to assign this dictionary to a variable in your vimrc with the
name
@@ -916,6 +1164,35 @@ that.
Tagbar should now be able to show the sections and other tags from LaTeX
files.
Note: As of 2012-05-05 the ctags development version contains an improved
LaTeX parser that works better than the example configuration presented here.
So if you are using a development build newer than that or a stable version
newer than 5.8 you should use the built-in support instead of this example.
Project-specific configuration~
In addition to the normal global configuration it is also possible to have
project-specific settings. This is mostly useful for additional ctags options,
like for example macros to ignore. Or maybe you want to do things like folding
certain tag kinds in some projects.
In order to use this feature you need to create User |autocommand|s in an
augroup called "TagbarProjects" and have it create a buffer-local variable
called "b:tagbar_type". This variable has to hold a type definition just like
the normal ones described in this chapter. This definition will then be
applied only to the files matched by the autocommand.
Note that there can be multiple definitions of the augroup with their own
autocommands (for example in separate project directories); they will get
merged automatically by Vim.
Example:
>
augroup TagbarProjects
autocmd User ~/myproject/*.c let b:tagbar_type = {'deffile' : '~/myproject/ctags.cnf'}
augroup END
<
Writing your own tag-generating program~
If you want to write your own program for generating tags then here are some
imporant tips to get it to integrate well with Tagbar:
@@ -928,17 +1205,18 @@ imporant tips to get it to integrate well with Tagbar:
(stdout), it doesn't generate files and reads them in after that. So make
sure that your program has an option to output the tags on stdout.
- Some fields are supported for providing additional information about a
tag. One field is required: the "kind" field as a single letter without
a "kind:" fieldname. This field has to be the first one in the list. All
other fields need to have a fieldname in order to determine what they are.
The following fields are supported for all filetypes:
tag. One field is required: the "kind" field as a single letter, either
with or without a "kind:" fieldname. If it is used without the fieldname
then it has to be the first field in the list. All other fields need to
have a fieldname in order to determine what they are. The following fields
are supported for all filetypes:
* line: The line number of the tag.
* column: The column number of the tag.
* signature: The signature of a function.
* access: Visibility/access information of a tag; the values
"public", "protected" and "private" will be denoted with
a special symbol in Tagbar.
* access: Visibility information of a tag; the values "public",
"protected" and "private" will be denoted with a special
symbol in Tagbar.
In addition fields that describe the surrounding scope of the tag are
supported if they are specified in the type configuration as explained at
@@ -963,12 +1241,27 @@ ctags manually execute the following command in a terminal:
If you set the |g:tagbar_ctags_bin| variable you probably have to use the same
value here instead of simply "ctags".
If Tagbar doesn't seem to work at all, but you don't get any error messages,
you can use Tagbar's debug mode to try to find the source of the problem (see
|tagbar-commands| on how to invoke it). In that case you should especially pay
attention to the reported file type and the ctags command line in the log
file.
If something more fundamental isn't working right then try running the
|:messages| command to see if Tagbar printed any error messages that might
have been missed.
If the bug does seem to be in Tagbar then you can use Tagbar's debug mode to
try to find the source of the problem. Usually you would use it like this:
1. Open Vim without loading any files.
2. Run :TagbarDebug.
3. Open the file you are having problems with.
4. Open Tagbar. If the problem is with the statusline functionality this
step may not be necessary.
5. Exit Vim.
This should leave a file called "tagbardebug.log" in the current directory.
See |tagbar-commands| for more information on the debug commands. When you
look at the file you should especially pay attention to the reported file type
and the ctags command line in the log file.
Known issues~
- jsctags has to be newer than 2011-01-06 since it needs the "-f" option to
work. Also, the output of jsctags seems to be a bit unreliable at the
@@ -1022,6 +1315,54 @@ file.
==============================================================================
8. History *tagbar-history*
2.6.1 (2014-01-23)
- Automatically close the preview window when jumping to a tag
- Don't forget the previous window in certain situations, which was
causing problems with for example fugitive
- Fixed toggling kind-specific folds
- Fixed ctags error that can happen with Cygwin
2.6 (2013-12-06)
- Added possibility to show tags in the preview window, either manually or
automatically.
- Allow customizing the statusline, see :help g:tagbar_status_func.
- Type configuration can now be project-specific.
- The keybindings in the Tagbar window are now configurable.
- Improvements to Ctags execution on Windows, thanks to Darcy Parker.
- Added function tagbar#currentfile() that returns the path to the file
currently being displayed in Tagbar, thanks to Zhao Cai.
- Added a :Tagbar command as an alias for :TagbarToggle.
- Added an way to ignore specific files in case they create problems.
- Optionally show line numbers in the Tagbar window.
- The usual bunch of small improvements and bugfixes.
2.5 (2013-03-25)
- New command :TagbarTogglePause to freeze Tagbar in its current state so
you can switch to other files while keeping the old information
displayed for reference. (Kian Ryan)
- New command :TagbarCurrentTag which reports the same information as
currenttag().
- New option tagbar_indent to configure the indentation depth of the tags.
- New option tagbar_show_visibility to allow disabling the visibility
symbols.
- Files are now cached locally to avoid additional slowdowns for slow
connections. This also makes it possible to use Tagbar with files
accessed through Netrw.
- Execute ctags again even if the previous run reported errors, in case it
was a parse error that has since been fixed. If the error persists,
don't display it again.
- Improved window switching and Vim exit behaviours. (Techlive Zheng)
- The currenttag() function now can show the prototype instead of the
actual tag, which can be useful in some cases where ctags doesn't report
all the interesting information.
- The prototype shown in the tooltip or command line should now always be
complete, even if it is spread out over more than one line in the source
file.
- The TagbarAccessPublic etc. highlight groups have been renamed to
TagbarVisibilityPublic etc. to keep them in line with standard
terminology. The old names are still supported.
- Various smaller improvements and bugfixes.
2.4.1 (2012-07-16)
- Fixed some bugs related to the currenttag() function when it was called
before the rest of the plugin was loaded. Also fail silently in case
@@ -1147,14 +1488,24 @@ software.
The folding technique was inspired by NERDTree by Martin Grenfell.
Thanks to the following people for code contributions, feature suggestions etc:
Peter Butkovic
Zhao Cai
Jan Christoph Ebersbach
Vadim Fint
Leandro Freitas
Ingo Karkat
Audrius KaĹľukauskas
Michael McClimon
Seth Milliken
Kien N
Darcy Parker
fritzophrenic
pielgrzym
Taybin Rutkin
Kian Ryan
John Szakmeister
Ville Valkonen
Techlive Zheng
==============================================================================
vim: tw=78 ts=8 sw=4 sts=4 et ft=help
+73 -46
View File
@@ -4,7 +4,7 @@
" Author: Jan Larres <jan@majutsushi.net>
" Licence: Vim licence
" Website: http://majutsushi.github.com/tagbar/
" Version: 2.4.1
" Version: 2.6.1
" Note: This plugin was heavily inspired by the 'Taglist' plugin by
" Yegappan Lakshmanan and uses a small amount of code from it.
"
@@ -42,41 +42,45 @@ if v:version == 700 && !has('patch167')
finish
endif
if !exists('g:tagbar_left')
let g:tagbar_left = 0
endif
function! s:init_var(var, value) abort
if !exists('g:tagbar_' . a:var)
execute 'let g:tagbar_' . a:var . ' = ' . string(a:value)
endif
endfunction
if !exists('g:tagbar_width')
let g:tagbar_width = 40
endif
function! s:setup_options() abort
if !exists('g:tagbar_vertical') || g:tagbar_vertical == 0
let previewwin_pos = 'topleft'
else
let previewwin_pos = 'rightbelow vertical'
endif
let options = [
\ ['autoclose', 0],
\ ['autofocus', 0],
\ ['autopreview', 0],
\ ['autoshowtag', 0],
\ ['compact', 0],
\ ['expand', 0],
\ ['foldlevel', 99],
\ ['hide_nonpublic', 0],
\ ['indent', 2],
\ ['left', 0],
\ ['previewwin_pos', previewwin_pos],
\ ['show_visibility', 1],
\ ['show_linenumbers', 0],
\ ['singleclick', 0],
\ ['sort', 1],
\ ['systemenc', &encoding],
\ ['vertical', 0],
\ ['width', 40],
\ ['zoomwidth', 1],
\ ]
if !exists('g:tagbar_autoclose')
let g:tagbar_autoclose = 0
endif
if !exists('g:tagbar_autofocus')
let g:tagbar_autofocus = 0
endif
if !exists('g:tagbar_sort')
let g:tagbar_sort = 1
endif
if !exists('g:tagbar_compact')
let g:tagbar_compact = 0
endif
if !exists('g:tagbar_expand')
let g:tagbar_expand = 0
endif
if !exists('g:tagbar_singleclick')
let g:tagbar_singleclick = 0
endif
if !exists('g:tagbar_foldlevel')
let g:tagbar_foldlevel = 99
endif
for [opt, val] in options
call s:init_var(opt, val)
endfor
endfunction
call s:setup_options()
if !exists('g:tagbar_iconchars')
if has('multi_byte') && has('unix') && &encoding == 'utf-8' &&
@@ -87,17 +91,37 @@ if !exists('g:tagbar_iconchars')
endif
endif
if !exists('g:tagbar_autoshowtag')
let g:tagbar_autoshowtag = 0
endif
function! s:setup_keymaps() abort
let keymaps = [
\ ['jump', '<CR>'],
\ ['preview', 'p'],
\ ['previewwin', 'P'],
\ ['nexttag', '<C-N>'],
\ ['prevtag', '<C-P>'],
\ ['showproto', '<Space>'],
\ ['hidenonpublic', 'v'],
\
\ ['openfold', ['+', '<kPlus>', 'zo']],
\ ['closefold', ['-', '<kMinus>', 'zc']],
\ ['togglefold', ['o', 'za']],
\ ['openallfolds', ['*', '<kMultiply>', 'zR']],
\ ['closeallfolds', ['=', 'zM']],
\ ['nextfold', 'zj'],
\ ['prevfold', 'zk'],
\
\ ['togglesort', 's'],
\ ['toggleautoclose', 'c'],
\ ['zoomwin', 'x'],
\ ['close', 'q'],
\ ['help', ['<F1>', '?']],
\ ]
if !exists('g:tagbar_updateonsave_maxlines')
let g:tagbar_updateonsave_maxlines = 5000
endif
if !exists('g:tagbar_systemenc')
let g:tagbar_systemenc = &encoding
endif
for [map, key] in keymaps
call s:init_var('map_' . map, key)
unlet key
endfor
endfunction
call s:setup_keymaps()
augroup TagbarSession
autocmd!
@@ -105,15 +129,18 @@ augroup TagbarSession
augroup END
" Commands {{{1
command! -nargs=0 Tagbar call tagbar#ToggleWindow()
command! -nargs=0 TagbarToggle call tagbar#ToggleWindow()
command! -nargs=? TagbarOpen call tagbar#OpenWindow(<f-args>)
command! -nargs=0 TagbarOpenAutoClose call tagbar#OpenWindow('fc')
command! -nargs=0 TagbarOpenAutoClose call tagbar#OpenWindow('fcj')
command! -nargs=0 TagbarClose call tagbar#CloseWindow()
command! -nargs=1 -bang TagbarSetFoldlevel call tagbar#SetFoldLevel(<args>, <bang>0)
command! -nargs=0 TagbarShowTag call tagbar#OpenParents()
command! -nargs=0 TagbarShowTag call tagbar#highlighttag(1, 1)
command! -nargs=? TagbarCurrentTag echo tagbar#currenttag('%s', 'No current tag', <f-args>)
command! -nargs=1 TagbarGetTypeConfig call tagbar#gettypeconfig(<f-args>)
command! -nargs=? TagbarDebug call tagbar#StartDebug(<f-args>)
command! -nargs=0 TagbarDebugEnd call tagbar#StopDebug()
command! -nargs=0 TagbarTogglePause call tagbar#toggle_pause()
" Modeline {{{1
" vim: ts=8 sw=4 sts=4 et foldenable foldmethod=marker foldcolumn=1
+22 -22
View File
@@ -3,48 +3,45 @@
" Author: Jan Larres <jan@majutsushi.net>
" Licence: Vim licence
" Website: http://majutsushi.github.com/tagbar/
" Version: 2.4.1
" Version: 2.6.1
scriptencoding utf-8
if exists("b:current_syntax")
finish
finish
endif
let s:ic = g:tagbar_iconchars[0]
if s:ic =~ '[]^\\-]'
let s:ic = '\' . s:ic
endif
let s:io = g:tagbar_iconchars[1]
if s:io =~ '[]^\\-]'
let s:io = '\' . s:io
endif
let s:pattern = '\([' . s:ic . s:io . '] \)\@<=[^-+: ]\+[^:]\+$'
let s:ics = escape(join(g:tagbar_iconchars, ''), ']^\-')
let s:pattern = '\(^[' . s:ics . '] \?\)\@<=[^-+: ]\+[^:]\+$'
execute "syntax match TagbarKind '" . s:pattern . "'"
let s:pattern = '\([' . s:ic . s:io . '][-+# ]\)\@<=[^*]\+\(\*\?\(([^)]\+)\)\? :\)\@='
let s:pattern = '\(\S\@<![' . s:ics . '][-+# ]\?\)\@<=[^*(]\+\(\*\?\(([^)]\+)\)\? :\)\@='
execute "syntax match TagbarScope '" . s:pattern . "'"
let s:pattern = '[' . s:ic . s:io . ']\([-+# ]\)\@='
let s:pattern = '\S\@<![' . s:ics . ']\([-+# ]\?\)\@='
execute "syntax match TagbarFoldIcon '" . s:pattern . "'"
let s:pattern = '\([' . s:ic . s:io . ' ]\)\@<=+\([^-+# ]\)\@='
execute "syntax match TagbarAccessPublic '" . s:pattern . "'"
let s:pattern = '\([' . s:ic . s:io . ' ]\)\@<=#\([^-+# ]\)\@='
execute "syntax match TagbarAccessProtected '" . s:pattern . "'"
let s:pattern = '\([' . s:ic . s:io . ' ]\)\@<=-\([^-+# ]\)\@='
execute "syntax match TagbarAccessPrivate '" . s:pattern . "'"
let s:pattern = '\(\S\@<![' . s:ics . ' ]\)\@<=+\([^-+# ]\)\@='
execute "syntax match TagbarVisibilityPublic '" . s:pattern . "'"
let s:pattern = '\(\S\@<![' . s:ics . ' ]\)\@<=#\([^-+# ]\)\@='
execute "syntax match TagbarVisibilityProtected '" . s:pattern . "'"
let s:pattern = '\(\S\@<![' . s:ics . ' ]\)\@<=-\([^-+# ]\)\@='
execute "syntax match TagbarVisibilityPrivate '" . s:pattern . "'"
unlet s:pattern
syntax match TagbarHelp '^".*' contains=TagbarHelpKey,TagbarHelpTitle
syntax match TagbarHelpKey '" \zs.*\ze:' contained
syntax match TagbarHelpTitle '" \zs-\+ \w\+ -\+' contained
syntax match TagbarNestedKind '^\s\+\[[^]]\+\]$'
syntax match TagbarComment '^".*'
syntax match TagbarType ' : \zs.*'
syntax match TagbarSignature '(.*)'
syntax match TagbarPseudoID '\*\ze :'
highlight default link TagbarComment Comment
highlight default link TagbarHelp Comment
highlight default link TagbarHelpKey Identifier
highlight default link TagbarHelpTitle PreProc
highlight default link TagbarKind Identifier
highlight default link TagbarNestedKind TagbarKind
highlight default link TagbarScope Title
@@ -57,6 +54,9 @@ highlight default link TagbarHighlight Search
highlight default TagbarAccessPublic guifg=Green ctermfg=Green
highlight default TagbarAccessProtected guifg=Blue ctermfg=Blue
highlight default TagbarAccessPrivate guifg=Red ctermfg=Red
highlight default link TagbarVisibilityPublic TagbarAccessPublic
highlight default link TagbarVisibilityProtected TagbarAccessProtected
highlight default link TagbarVisibilityPrivate TagbarAccessPrivate
let b:current_syntax = "tagbar"