Commit Graph

411 Commits

Author SHA1 Message Date
mars
524aa93372 Add g:tagbar_show_balloon option 2020-01-03 10:53:56 +03:00
Adam Jimerson
ce30e3f0d1 Fall back to using bourne shell if $SHELL is Elvish (#571)
If vim is launched from the Elvish shell, then fall back to using the
bourne shell (sh) or a bourne compatible shell when calling
{universal/exuberant-}ctags.

Signed-off-by: Adam Jimerson <vendion@gmail.com>
2019-12-22 08:28:44 +03:00
Caleb Maclennan
a0f51bd5a6
Arrange (u)ctag argument order to not clobber others (#560) 2019-10-25 21:44:37 +03:00
Caleb Maclennan
750b779ca3
Fix variable scope issues revealed by vint 2019-10-22 18:02:00 +03:00
Caleb Maclennan
b607006c56
Fix syntax issues that are lint warnings 2019-10-22 17:53:08 +03:00
Caleb Maclennan
4b51aa490e
Use different argument for ctags vs. uctags, closes #552 2019-10-22 10:47:51 +03:00
Caleb Maclennan
cf6eb2d9f7
Merge pull request #544 from aymanbagabas/aymanbagabas/markdown
Add uctags markdown support
2019-10-22 10:38:05 +03:00
Caleb Maclennan
22f8084a2a
Merge pull request #537 from preslavmihaylov/master
added support for golang for exuberant ctags
2019-10-22 10:23:56 +03:00
Caleb Maclennan
10209ffd3f
Merge pull request #531 from rtyler/patch-1
Discover the universal-ctags binary
2019-10-22 10:22:18 +03:00
Caleb Maclennan
e471e57ea6
Merge pull request #530 from hupfdule/manpage-support
Add support for manpages
2019-10-22 10:19:23 +03:00
Caleb Maclennan
b9e7f0a291
Revert emergency fix, not actually broken; closes #550
There is no spoon. My testing last night was flawed because I had a typo
in my RC file that was complicating matters. In seems the syntax fix was
all this needed to work okay, not disabling the feature
2019-10-22 10:15:31 +03:00
Caleb Maclennan
70b691efe1
Fix syntax bug introduced in merged PR #476 and emergency backtrack 2019-10-21 19:56:22 +03:00
Caleb Maclennan
b7766a1693
Merge pull request #529 from hupfdule/asciidoc-support
Add asciidoc support
2019-10-21 19:44:48 +03:00
Caleb Maclennan
bd810fd1a6
Merge pull request #502 from chocoladisco/master
fixed the deprecated --extra to --extras
2019-10-21 19:38:27 +03:00
Caleb Maclennan
a8e050f448
Merge pull request #493 from fievel/master 2019-10-21 19:37:10 +03:00
Caleb Maclennan
3b7d19e0a1
Merge pull request #476 from goerz/ctags_options
Add g:tagbar_ctags_options
2019-10-21 18:40:26 +03:00
Flemming Madsen
a0526a6d5a Fix issue where --regex based file types can output duplicate lines when --sort=no (#471)
Fix issue where --regex based filetypes can output duplicate lines when --sort=no

Co-authored-by: Flemming Madsen <flemming@themadsens.dk>
2019-10-21 16:19:45 +03:00
Caleb Maclennan
23f148225b
Merge pull request #470 from blueyed/add-StopAutoUpdate
Add tagbar#StopAutoUpdate
2019-10-21 16:14:15 +03:00
Caleb Maclennan
15431176a8
Merge pull request #423 from jolan78/master
compatibility with phpctags
2019-10-21 16:10:49 +03:00
Ayman Bagabas
231428ebcd Add uctags markdown support
This adds basic markdown headings support based on Universal ctags.
https://github.com/universal-ctags/ctags/pull/1727 #489

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
2019-07-04 05:22:16 -04:00
PreslavMihaylov
1998a45805 added support for golang for exuberant ctags 2019-04-27 09:06:04 +03:00
R. Tyler Croy
5acba55275
Discover the universal-ctags binary
At least in the openSUSE package for `universal-ctags` it is not installed as `ctags`
2019-03-28 08:36:39 -07:00
Marco Herrn
7e53921d4d Add support for manpages 2019-03-26 16:31:26 +01:00
Marco Herrn
a91422aae3 Add asciidoc support 2019-03-26 14:06:55 +01:00
chocoladisco
db1b710289 fixed the deprecated --extra to --extras 2018-08-15 13:34:35 +02:00
fievel
44f114a7cb Add map to allow pausing/unpausing tagbar 2018-06-15 10:27:33 +02:00
Michael Goerz
9c60e7f6c6 Accept a list, allowing 'NONE' to avoid duplicates 2018-02-03 20:14:37 -05:00
Michael Goerz
df960e8b9c Add g:tagbar_ctags_options 2018-02-03 17:54:44 -05:00
Daniel Hahler
b8065cfee4 Add tagbar#StopAutoUpdate
This is useful to stop updating information, after using
`tagbar#currenttag` manually/temporarily only.
2018-01-11 17:13:51 +01:00
Jan Larres
387bbadda9 Highlight correctly if visibility disabled
The highlight pattern for the current tag didn't account for the fact
that the visibility symbol is optional.

Closes #463
2017-12-17 16:14:51 +13:00
Jan Larres
c004652797 Only equalize windows after shrinking app window, closes #452 2017-12-03 16:21:34 +13:00
Wilfried Chauveau
7f693a0cd4 Rust: fix method kind from F to P 2017-11-20 23:18:28 +01:00
Mitesh Athia
af94c07aea Formatting 2017-10-17 21:53:58 -04:00
Mitesh Athia
c86ab1caa6 Update uctags.vim 2017-10-17 21:50:02 -04:00
natfitz
e330124f6e Update tagbar.vim
fix typo
2017-10-17 14:14:14 -07:00
Matthieu Coudron
72416b1c62 Ease debuggin
When debug is enabled
- add verbose flag to ctags
- don't remove temp files
- log the temporary file created
2017-09-23 22:19:26 +09:00
Jan Larres
a9fc0fc46b Log version info at beginning of logfile 2017-09-18 21:04:43 +12:00
wuhy
cfabd89c0f fixed encoding bug of balloon 2017-09-18 14:53:48 +08:00
Jan Larres
460f3c8f2e Use function references in prototypes
This makes it possible to actually see the function names in
stacktraces. It also means that the internal objects of some of the tag
prototypes don't need to be public any more.
2017-09-13 17:48:43 +12:00
Jan Larres
7299257d77 Fix tag jumping if tag pattern is not actually a pattern
Closes #439
References jstemmer/gotags#31
2017-09-03 20:36:46 +12:00
Jan Larres
937354ebb5 Log individual user types being loaded 2017-09-03 20:34:54 +12:00
Jan Larres
7e4928c056 Log message when closing Tagbar due to QuitPre 2017-09-03 19:07:10 +12:00
Jan Larres
b4643521ff Add support for various types for [u]ctags
Exuberant Ctags:
- ObjectiveC

Universal Ctags:
- Ada
- Autoconf
- Automake
- Ctags config
- D
- Elm (courtesy of @bitterjug)
- Go
- ObjectiveC
- Perl 6
- Protobuf (closes #437)
- R

Also various improvements to existing definitions based on changes in
Universal Ctags.
2017-09-03 19:01:16 +12:00
Chiu-Hsiang Hsu
c6c88004c7 Add Rust support 2017-08-22 23:45:25 +12:00
Ruchee
c2af2173b5 Added CSS support with Universal Ctags 2017-08-22 23:36:46 +12:00
Michael Rubanov
c2ae24e7ab Clojure support improvement
Added kinds:

  * namespace
  * definition
  * function
  * private function
  * macro
  * inline
  * multimethod definition
  * multimethod instance
  * definition (once)
  * struct
  * intern
  * namespace
2017-08-22 22:37:24 +12:00
Jan Larres
886af9ddc1 Fix Ruby typedef for current uctags, closes #407 2017-08-21 22:57:46 +12:00
Jan Larres
da87ee9439 Add missing ftype field to jsctags type def 2017-08-21 09:54:37 +12:00
Jan Larres
d4c370cf0e Handle tags that cover multiple scopes correctly
References: #430
2017-08-20 20:07:34 +12:00
Jan Larres
02f8a922b1 Remove unused 'j' php kind 2017-08-20 18:08:31 +12:00
Bruce Weirdan
6e1f1b8c85 Added interface and trait scopes
* Added interface and trait scopes that were missing from the previous
commit.
 * Also restored fold status for classes kind to upstream value.
2017-08-20 17:24:26 +12:00
Bruce Weirdan
7ffec4539d Added php scopes and additional kinds
Added scopes, so tagbar will show the following hierarchy:
```
  namespace
    subnamespace
      ...
        class
	  property (variable)
	  ...
	  method
	  ...
```

Additional kinds added (basically the same as #283):
 * namespaces
 * use aliases (imports)
 * traits
2017-08-20 17:24:26 +12:00
Jan Larres
f20edb5a56 Rename types autoload directory 2017-08-20 17:11:37 +12:00
Jan Larres
877a4a939c Extract debug functionality into separate file 2017-08-20 17:02:36 +12:00
Jan Larres
8a1bbcb420 Create kinddict for jsctags type def
Closes #431
Closes #432
2017-08-19 18:14:21 +12:00
Jan Larres
fef0732394 Separate {ex,u}ctags definitions out into individual files 2017-08-14 21:18:02 +12:00
Jan Larres
2abcbf33f0 Extract prototypes to separate autoload files 2017-08-14 21:18:02 +12:00
AdnoC
96275e3921 Reduce code dupication in ChangeFoldLevel 2017-07-30 12:11:31 -04:00
AdnoC
e3732091bf Add ability to open or close folds a single level 2017-07-26 10:18:18 -04:00
Jolan
b7890e27ca compatibility with phpctags 2017-06-27 15:15:46 +02:00
Jan Larres
f5792732de Escape tag name when removing it from a pseudo tag's scope path 2017-06-15 17:36:38 +12:00
Jan Larres
b1c6cbc2d8 Short-circuit parent searches if tag doesn't have line number 2017-06-15 17:36:38 +12:00
Jan Larres
41ee79fc0f Escape tag search pattern with \M instead of \V
This follows the Vim manual in |tag-search|, which says that searches
are executed as if 'magic' was off.
2017-06-15 17:36:38 +12:00
Jan Larres
b9e7b51ea5 Fix jsctags config, closes #421
This seems to be different for the tern-based jsctags, and the old one
is deprecated anyway.
2017-06-15 17:35:38 +12:00
Jan Larres
87a1263f5d Don't try to restore session on 'loadview', closes #382
The view files created with the 'mkview' command run the
'SessionLoadPost' autocommand at the end, which creates problems if
Tagbar has alread been initialized. Add a new variable so that we can
detect this situation.
2017-06-05 17:24:55 +12:00
Jan Larres
959f487981 Functions create class scope in exctags, ref #397 2017-02-18 16:43:16 +13:00
Jan Larres
e089b61e25 Don't error on incorrect ctags scope info, ref #397 2017-02-18 16:32:30 +13:00
Jan Larres
9d051c1e2d Handle cases where parent is below child tag, closes #396 2017-02-12 21:39:13 +13:00
Jan Larres
aab5f214c5 Save ctags output in separate file when debugging 2017-02-11 17:40:24 +13:00
Jan Larres
68eebbb50c Update tags on CursorHold after writing
Currently the tags will always get updated immediately when writing a
file. However, for large files that can slow down the writing process
noticeably, leading to annoying pauses. This commit instead defers the
updating process to the first CursorHold/CursorHoldI event after writing
a file, which should make the process much less noticeable.

Closes #289
Closes #381
References SpaceVim/SpaceVim#129
2017-02-05 19:06:20 +13:00
Jan Larres
72a7ef378f Add name-indexed dicts of tags alongside lists
When constructing the tag tree it is often necessary to look up tags
with a certain name and other attributes at the current depth. This was
previously done with the filter() function on the list of all the
relevant tags. However, this filtering is very slow.

This commit changes the FileInfo and TagInfo objects to save added tags
in a dictionary indexed by the name of the tag in addition to the list
(which is still maintained in parallel since it is necessary for things
like sorting). This significatly speeds up tag lookup since most tags
have unique names.
2017-02-04 19:02:54 +13:00
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
Martin Vuille
9f6dce3351 HandleBufDelete: Use str2nr for conversion 2016-12-27 08:05:35 -05:00
Martin Vuille
5b563a0d2d HandleBufDelete: Ignore apparent 'set nobuflisted' events 2016-12-18 11:35:00 -05: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
Chesley Tan
8bbbb0530e Escape filename in ShowInPreviewWin() 2016-11-03 12:57:26 -04: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
Anmol Sethi
b99e103258 Silent option
If the silent option is set, tagbar doesn't echo out information about
the tag the cursor is on in the tagbar window.
2016-10-19 12:58:40 +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