Commit Graph

758 Commits

Author SHA1 Message Date
6f02f1f852 Add g:tagbar_highlight_follow_insert option (#725)
This adds an option making the highlight in the Tagbar follow the cursor
in insert mode as well. This feature is guarded behind an option because
it may introduce some delay in the input.

GitHub: closes #724
2021-01-11 07:24:49 -06:00
778d41f437 Improve tag highlighting and signature matching (#735)
1. Correctly highlight tags that contain spaces.
2. Match function signature on special case: operator()(...).
2021-01-11 07:23:42 -06:00
978e1fe761 Fix the problem that the data type was unexpectedly displayed in the C++ destructor's tag. (#734)
* Fix the problem that the data type was unexpectedly displayed in the C++ destructor's tag.

* Update autoload/tagbar/prototypes/normaltag.vim

Co-authored-by: Caleb Maclennan <caleb@alerque.com>
2021-01-07 07:31:45 -06:00
4c1a1a1bc6 Use universal_newlines for Popen call (#733)
Closes #629
2021-01-06 07:34:09 -06:00
f8e8f8cfb4 Add support for frames kind in tex file definition (#730)
Closes #654
2021-01-06 15:25:57 +03:00
5dd1102552 Add support for kotlin type (#731)
Closes #632

Support for kotlin type was recently added into universal ctags
(https://github.com/universal-ctags/ctags/pull/2769)

Currently there is no scope information in the ctags definition. So the
`scope2kind` and `kind2scope` settings are not functional. If support is
added, then these definitions can be updated to include that info.

Note: these kind definitions are based on the output from `ctags
--list-kinds=kotlin` which is slightly different than the definitions
provided in #632. So this may not be fully compatible with the custom
ctags configuration from that issue. The default definition for
univercal ctags should be used instead.
2021-01-06 15:25:33 +03:00
52ec4e03f3 Feature Request: Ignore anonymous option (#727)
Closes #726

New option `g:tagbar_ignore_anonymous` to ignore any tags with __anon in
the tag name. CTAGS will print any unlabeled tags with the __anon###
name with a custom hash. This option will ignore those tags and they
will not be visible in the tagbar window. This could potentially result
in unknown behavior when a parent object has been ignored in this way.
However these tags should then fall under the default hierarchy for that
particular kind.
2021-01-06 15:24:33 +03:00
7cf83a4330 Check for tilde in cpp destructor (#732) 2021-01-06 15:24:14 +03:00
5f912e6ad0 Add tagbar#IsOpen() helper routine (#728)
Closes #717

Add a `tagbar#IsOpen()` helper routine to check if the tagbar window is open or not.
2021-01-06 15:23:55 +03:00
eaadf90b61 Add mapping for arduino filetypes (#722)
Closes #721
2020-12-21 13:25:16 -06:00
b63e8cb83f Merge pull request #638 from jrc2139/dart-ctags 2020-11-30 21:31:45 +03:00
ed1bbe554d Use the same example hotkey in docs as in README.md (#712) 2020-11-23 12:55:24 +03:00
9b8619bab5 Fix typo in help (#711) 2020-11-20 11:20:11 +03:00
68a77323cb Add option for g:tagbar_highlight_method (#709)
* Add option for g:tagbar_highlight_current_tag

Closes #708

Add option for g:tagbar_highlight_current_tag which will allow
highlighting of tags on the current line in addition to highlighting the
scoped tags. Reverts the behavior added in #638 to the default from
before that commit

* Rework to allow direct configuration of highlight method

* Address review comments
2020-11-13 07:29:07 -06:00
6eadc15054 Add g:tagbar_jump_lazy_scroll option. (#705)
* Add g:tagbar_jump_lazy_scroll option.

When this option is on, a jump to a tag will only cause the
window to scroll if the tag line is not already visible on
the window.  If it is visible, the cursor will simply move
to that line without scrolling the window.  If the tagline
is not visible then the window will be scrolled as in current
behavior (according to the g:tagbar_jump_offset option).

Fixes #703

* Factor our new logic into a function.

* Add jump target line to doc.
2020-11-10 16:07:57 -06:00
10a4a9bc38 Add linenr protection into getPrototype (#707)
* Add linenr protection into getPrototype
Closes #706

Add protection to not go beyond the last line in the file when calling the `s:getPrototype()` routine. This occurs when there is an `=` character in the tag prototype. For example in a python tag with a parameter line this: `some_function(arg1, optional_arg_2=False)`

* Fix issue with python prototypes that can include `=` character in the argument list
2020-11-10 07:49:36 -06:00
53c8e19676 Cleanup the PrintHelp() routine (#702)
Closes #681
2020-11-03 11:33:33 +03:00
92e2a0c5a8 Merge pull request #701 from Shane-XB-Qian/master 2020-11-03 11:15:37 +03:00
7261ab5f92 Update .gitignore 2020-11-03 11:12:13 +03:00
bd0c32242d Setup syntax highlighting group for tag line numbers 2020-11-03 11:12:13 +03:00
55b8ffa85c Scoped kinds (#696)
* Add support for scope
Closes #508, #516

Add --fields=e (end) to the ctags field types to look for the end of the scope.
Update the `s:GetNearbyTag()` routine to use this scope to look for the correct tag.

* Update comment to call out exuberant ctags not supporting the -e option

* Update autoload/tagbar.vim

Co-authored-by: Caleb Maclennan <caleb@alerque.com>

* Optimize nearesttag search, add option for scoped-stl search method

Co-authored-by: Caleb Maclennan <caleb@alerque.com>
2020-11-02 15:15:55 -06:00
601b5c0073 Add tag datatype (#698)
Closes #680

Add `g:tagbar_show_data_type` field to show the tag datatype next to the tag in the tagbar window
This uses the `--fields=t` field to get the datatype from ctags. If not found, then it will attempt to derive the datatype by extracting all the output from the `pattern` preceeding the tag name.

More testing is needed on other languages. So far this has been stable with C / C++ files parsing the datatype from ctags output. It has also been tested with Java files for the inferred datatype by parsing the pattern line and pulling out everything prior to the tag.
2020-11-02 15:06:40 -06:00
99c22f1bb2 Fix the scrolloff local setting in RenderKeepView (#697) 2020-10-30 23:56:36 +03:00
30b20fc87d Fix issue with tagbar changing the global scrolloff value. (#694)
Co-authored-by: Caleb Maclennan <caleb@alerque.com>
2020-10-29 21:21:52 +03:00
d55c16e875 Add g:tagbar_jump_offset configuration (#695)
Closes #504

Add a new `g:tagbar_jump_offset` value which will control the tag jump location relative to the center of the screen.
2020-10-29 12:58:17 -05:00
00841836b4 Add g:tagbar_scrolloff configuration (#692)
* Add g:tagbar_scroll_offset configuration
Closes #564

Add option for `g:tagbar_scrolloff` to issue a `setlocal scrolloff=#` during tagbar window init

* Address review comments
2020-10-29 10:36:47 -05:00
7a54a7d4ae Document how to use relative sizes in g:tagbar_width (#689) 2020-10-28 22:24:17 +03:00
8efec2509b shane: compact tag line# should be good enough if user set it (#687) 2020-10-28 10:17:50 -05:00
aa8c592201 Help visibility (#686)
Closes #410

Add `g:tagbar_help_visibility` option to always show the help dialog
2020-10-27 14:14:39 -05:00
469c4b3188 Add g:tagbar_show_tag_count option (#685)
* Add g:tagbar_show_tag_count option

Closes #290

This option will show the tag kind count next to the kind label in the
tagbar window.

* Address review comments
2020-10-27 09:18:30 -05:00
0d1c6442d9 Add option to print the tag linenumber in the tagbar window (#684)
* Add option to print the tag linenumber in the tagbar window

* Update documentation markup

* Change variable name to g:tagbar_show_tag_linenumbers to be more consistent with other variables

* Fix documentation
2020-10-27 08:37:33 -05:00
bc48b8b84b Scoped Highlighting (#683)
* Scoped highlighting fix
Attempt to change the scoped highlighting of the tagbar window. This
will now look only for 'stl' tag types when looking for the nearby tag
when looking to highlight. It does however take into account if the
cursor is on the same line as the tag and highlights it then as well.

* Add additional documentation

* Add documentation for tagbar#printfileinfo() debug routine
2020-10-26 10:19:14 -05:00
2a9270cb24 sq: would mess if set key mapping to '' (#675)
Co-authored-by: Caleb Maclennan <caleb@alerque.com>
2020-10-24 10:17:11 +03:00
c26bf78a61 Merge pull request #676 from raven42/unknown-kinds
Add protection for unknown kinds
2020-10-20 07:54:10 -05:00
877561b727 Merge pull request #677 from diegok/master
Add missing attributes and methods kinds on perl type #672
2020-10-20 07:53:49 -05:00
353701eb8c Undone changes on legacy exuberant-ctags types file 2020-10-20 12:01:37 +02:00
f9012df43b Add missing attributes and methods kinds on perl type 2020-10-20 11:11:29 +02:00
34a95983ed Add protection for unknown kinds
Perform a has_key() check prior to referencing the dictionary to ensure
the dictionary has a valid key for the specified kind.
Note: When an unknown kind is found, it can mess up the tag highlighting
in the tagbar window. Not sure why this is occurring.
2020-10-19 12:16:36 -05:00
0838f3c101 Merge pull request #674 from maujim/feature/compact-option 2020-10-16 22:28:20 +03:00
05bc912c76 Update doc to reflect new possible values for tagbar_compact. 2020-10-16 14:16:54 -04:00
f5abcd6f46 Allow more granular control of tagbar_compact option. 2020-10-16 14:16:19 -04:00
55f3513d10 Merge pull request #669 from joshfrench/add-typescript-mappings
Add typescript mappings for universal ctags
2020-10-01 15:58:08 -05:00
5fc8a7a209 enumerators -> enumerations 2020-10-01 16:52:36 -04:00
edb5d15f4d Add typescript mappings for universal ctags 2020-10-01 16:03:37 -04:00
a1e0e7a571 Hide signcolumn in tagbar window (#666) 2020-09-29 13:01:42 +03:00
98efae9899 vim 7.4 compatibility for variable init (#665) 2020-09-28 22:33:07 +03:00
6099093050 Merge pull request #656 from raven42/large-file-handling
Add option to not trigger update on large files
2020-09-23 12:17:50 -05:00
9e2e5d93b4 Merge branch 'master' into large-file-handling 2020-09-23 11:47:24 -05:00
64730d27a9 Added fsize calculation in fileinfo so better tracking can be used to display in tagbar window 2020-09-23 11:45:02 -05:00
259b47a691 Fix vimscript snafu from #660, closes #662 2020-09-23 17:09:39 +03:00