Jan Larres
9ca422ce09
Rewrite tree construction algorithm
...
The current algorithm for contructing the tag tree works pretty well
even when pseudo-tags are encountered, but is quite complex, hard to
understand, and hard to tweak and optimize. This commit rewrites the
algorithm to a relatively straight-forward recursive algorithm that
makes use of placeholder pseudo-tags if required that will get replaced
if the actual tag is encountered later.
2017-02-04 18:59:06 +13:00
Jan Larres
2cc891747b
Print tags in one go to improve performance
...
Assembling the tag information in a list and then printing it with one
":put" command is more efficient then calling :put for every line.
2017-01-29 18:23:15 +13:00
Jan Larres
ebcf4df686
Small code cleanup
2017-01-10 18:24:32 +13:00
Jan Larres
53e9cb030e
Version 2.7
2017-01-09 17:26:17 +13:00
Jan Larres
1c8feee61f
Skip languages that are disabled in ctags
2017-01-05 17:12:33 +13:00
Jan Larres
6c60f85938
Fix typo
2017-01-05 16:49:40 +13:00
Jan Larres
18b536ce43
Save last alt bufnr before switching buffers, closes #385
...
When switching buffers during the handling of the BufDelete event the
saved buffer number of the last alternate buffer will change, so we have
to save a local copy to be able to properly unset the 'tagbar_ignore'
buffer variable.
2017-01-03 15:21:10 +13:00
Jan Larres
51e6e3b66a
Merge pull request #384 from jpmv27/ignore_BufDelete_from_set_nobuflisted
...
HandleBufDelete: Ignore apparent 'set nobuflisted' events
2016-12-28 14:33:34 +13:00
Jan Larres
3a4ea1234f
Clarify debug procedure in docs
2016-12-24 16:46:53 +13:00
Jan Larres
1374077676
Always log the ctags version output
2016-12-17 18:01:49 +13:00
Jan Larres
01f57ac564
Disable autocommands when deleting Tagbar buffer in HandleOnlyWindow
...
This prevents infinite recursion with nested autocommands when using a
BufEnter autocommand that calls autoopen().
2016-11-07 12:45:17 +13:00
Jan Larres
e212be6a12
Resize window after opening, ref #246
...
This prevents an incorrect window size from being used in some edge
cases.
2016-11-05 19:22:23 +13:00
Jan Larres
3d208115fb
Merge pull request #360 from ChesleyTan/master
...
Escape filename in ShowInPreviewWin()
2016-11-04 10:23:12 +13:00
Jan Larres
1287f63545
Display filetype-specific sort in statusline, closes #292
2016-10-31 17:52:36 +13:00
Jan Larres
d2961a4677
Check for nonexistent variable, closes #357
2016-10-31 09:59:32 +13:00
Jan Larres
56bee63e17
Only jump to previous window if there is one, closes #355
2016-10-29 17:29:40 +13:00
Jan Larres
2d67896b06
Add debug statement with exit code after system() call
2016-10-24 18:13:27 +13:00
Jan Larres
bcb042da56
Improve HTML support with Universal Ctags, closes #317
2016-10-23 20:31:35 +13:00
Jan Larres
d16ec1198b
Don't consider file as valid if its window is in diff mode
2016-10-23 20:09:46 +13:00
Jan Larres
a1f416edde
Define mappings with <nowait> if available, closes #299
2016-10-22 02:02:27 +13:00
Jan Larres
040e8400af
Print exit code when failing to run ctags
2016-10-21 17:43:47 +13:00
Jan Larres
b6298c0ca0
Use window ID functionality if available, ref #351
...
When opening the Tagbar window the window numbers can change so that
restoring the window history is not possible. Use the new window ID
functionality if it is available to make that possible.
2016-10-17 23:08:18 +13:00
Jan Larres
4d513c8a68
Also restore window history when opening Tagbar, ref #319
2016-10-16 23:19:42 +13:00
Jan Larres
23557ef97a
Always restore the window history, closes #319
...
When we have to go to the Tagbar window to update it the knowledge of
the previous window to the one we're coming from gets lost. Save it
before switching windows so we can restore it after returning from the
Tagbar window.
2016-10-16 23:02:18 +13:00
Jan Larres
2954e405bb
Merge pull request #349 from vavaka/master
...
flags argument added to functions responsible for window toggling
2016-10-16 12:09:29 +13:00
Jan Larres
3566907b57
Only use QuitPre functionality if supported, closes #350
...
The QuitPre autocommand was introduced in Vim version 7.3.544. If Vim is
older than this then don't use the HandleOnlyWindow() functionality, so
in the case of closing the last window in a tab a user will have to
close the Tagbar window themselves.
2016-10-15 20:20:03 +13:00
Jan Larres
a43068e418
Fix quit/bdelete cases properly
...
This commit should (hopefully) finally fix the case of users calling
':bdelete/:bwipeout' or ':quit' while Tagbar is open and just do the
right thing. See commit e4cfe8a for a more thorough description of how
it's supposed to work.
2016-10-15 20:13:28 +13:00
Jan Larres
b6a0ec00cd
Only suspend Tagbar during 'grep' qf commands, closes #347
2016-10-12 14:16:37 +13:00
Jan Larres
d81333e055
Merge pull request #315 from niloct/master
...
Fixed sentence about pseudo-tags
2016-10-10 22:20:34 +13:00
Jan Larres
0bb6499548
Rename QuitIfOnlyWindow since it's no longer accurate
2016-10-10 21:51:14 +13:00
Jan Larres
e4cfe8add5
Properly handle closing the last file window, closes #345
...
When a window that is displaying a normal file gets closed with a :quit,
:bdelete or other command, Tagbar may end up as the only visible window
left, which isn't very useful. Previously Tagbar would just quit in such
a situation (unless there was more than one tab), but that is rather
non-intuitive.
The change in this commit introduces a mechanism that should hopefully
handle such a case properly based on which command was executed, and do
exactly what a user would expect:
- In the ':quit' case, it will close the current tabpage including
Tagbar unless it was the only tabpage, in which case it will quit Vim.
- In the ':bdelete/:bwipeout' case, it will delete the Tagbar buffer and
then reopen Tagbar once the buffer that Vim switched to is being
displayed.
2016-10-09 21:03:01 +13:00
Jan Larres
497e963bc4
Separate buffer- and window-local options
2016-10-09 19:02:26 +13:00
Jan Larres
d1c42db686
Merge pull request #342 from jpmv27/separate_tagbar_per_tab
...
Separate tagbar per tab
2016-10-08 18:21:20 +13:00
Jan Larres
2955f71856
Try to jump to the right tag column, closes #326
2016-09-25 00:24:04 +12:00
Jan Larres
d379913b9a
Merge branch 'joegrasse-master'
2016-09-23 16:11:31 +12:00
Jan Larres
9a75c110b7
Don't choke when run from netrw, closes #291
2016-09-20 23:30:18 +12:00
Jan Larres
b7f147aabc
Remove redundant SetStatusLine argument, ref #335
...
Thank you to @jpmv27 for spotting this.
2016-09-19 23:10:10 +12:00
Jan Larres
61ba5ba578
Merge pull request #333 from jpmv27/case_insensitive_sort_option
...
Add case-insensitive sort option
2016-09-19 23:04:02 +12:00
Jan Larres
71e56f5ea4
Merge pull request #334 from jpmv27/restore_cursor_tag_toggle_hide
...
Keep cursor on same tag when toggle hide non-public
2016-09-17 20:40:43 +12:00
Jan Larres
03592c0112
Update the statusline at the end of AutoUpdate(), closes #330
2016-09-13 22:45:52 +12:00
Jan Larres
2438a92cb9
Merge pull request #338 from alejandrogallo/master
...
Add asymptote support as a c clone
2016-09-12 12:52:18 +12:00
Jan Larres
d841db9f49
Fix file-scope tags in uctags, closes #314
2016-09-12 12:39:12 +12:00
Jan Larres
35ee5a91f9
Fix Python member functions with Universal Ctags, closes #306
2016-09-10 21:02:09 +12: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
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
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
Jan Larres
00dfa82b00
Fix prefix for tags with both access and file fields
2015-02-02 16:30: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
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