mirror of
https://github.com/preservim/tagbar.git
synced 2024-11-22 20:11:42 +08:00
cd74f18d10
* Add JumpToNearbyTag functionality Closes #779 Updated functions: `s:GetNearbyTag()` - Allow for a direction parameter to be passed into the routine. This will allow for a forward or backward search. It will default to a backward search line the current behavior if the `a:direction` parameter is not used. `s:JumpToTag()` - Allow for an optional parameter to be passed in to specify the tag instead of using the tag under the cursor on the current line. This also allows this routine to be executed from the file window instead of the tagbar window. Assume `autoclose=0` if passing in the tag. Add new functions: `s:JumpToNearbyTag()` - This routine will do a forward or backward search for the nearst tag using the `GetNearbyTag()` with the new direction field, then call the `JumpToTag()` with the tag we found. `tagbar#jumpToNextTag()` - New public facing wrapper routine around the `JumpToNearbyTag()` routine. Optionally take in `a:lnum` and `a:search_method` to be used in other routines. If `a:lnum` is not present, then the line number will search from the next or previous line depending on the `a:direction` value. TODO: - [ ] Still need to write up the documentation for this. - [ ] Possibly look at providing default keymap. Currently this can be done using a custom definition in `.vimrc`. * Add documentation and fix lazy scroll Added documentation for this feature Corrected the lazy scroll behavior when the next/prev tag is visible Use the existing `w:autoclose` if set, else default to 0. * Fix argument ordering Correct the argument ordering and numbering for the jumpToNearbyTag() routine. Add documentation example for the 'nearest' search-method. Rename jumpToNextTag() to jumpToNearbyTag() to be more inline with the other routines. * remove debug * Fix current line processing In the event there is a tag on the immediately previous/next line, then the GetNearbyTag will return that tag even if the scoped-stl search-method is set. * Cleanup optional argument initialization * Update tagbar#jumpToNearbyTag() - remove lnum and add flags parameter Changes to the tagbar#jumpToNearbyTag() routine to allow more flexibility. Removing the optional lnum parameter as this likely will not be needed and could actually cause confusion in its use. Add a flags field so different options can be set such as the 's':'scroll_offset' option. |
||
---|---|---|
.. | ||
tagbar | ||
tagbar.vim |