Compare commits

...

6 Commits

Author SHA1 Message Date
Martin Grenfell
5fcdd03f12 refactor the help page slightly
put all the option help tags in single quotes
2008-10-01 23:17:34 +13:00
Martin Grenfell
d89dbd354a dont clobber &cpo 2008-10-01 23:17:33 +13:00
Martin Grenfell
ed273e108d minor refactor to Bookmark#toRoot() 2008-09-29 11:33:58 +13:00
Martin Grenfell
03dec4cde4 rename TreeFileNode#findOpenDirSiblingWithChildren
to TreeFileNode#findOpenDirSiblingWithVisibleChildren
2008-09-24 12:42:42 +12:00
Martin Grenfell
171c3825fa bug fix for TreeDirNode#hasVisibleChildren() 2008-09-24 12:42:15 +12:00
Martin Grenfell
be2e602efa make path.bookmarkNames private 2008-09-11 12:01:54 +12:00
2 changed files with 82 additions and 69 deletions

View File

@@ -122,7 +122,7 @@ For example, you could use bookmarks to tag all of your project directories.
2.2.1. The Bookmark Table *NERDTreeBookmarkTable* 2.2.1. The Bookmark Table *NERDTreeBookmarkTable*
If the bookmark table is active (see |NERDTree-B| and If the bookmark table is active (see |NERDTree-B| and
|NERDTreeShowBookmarks|), it will be rendered above the tree. You can double |'NERDTreeShowBookmarks'|), it will be rendered above the tree. You can double
click bookmarks or use the |NERDTree-o| mapping to activate them. See also, click bookmarks or use the |NERDTree-o| mapping to activate them. See also,
|NERDTree-t| and |NERDTree-T| |NERDTree-t| and |NERDTree-T|
@@ -160,7 +160,7 @@ Note that the following commands are only available in the NERD tree buffer.
Remove all bookmarks. Remove all bookmarks.
:ReadBookmarks :ReadBookmarks
Re-read the bookmarks in the |NERDTreeBookmarksFile|. Re-read the bookmarks in the |'NERDTreeBookmarksFile'|.
See also |:NERDTree| and |:NERDTreeFromBookmark|. See also |:NERDTree| and |:NERDTreeFromBookmark|.
@@ -171,7 +171,7 @@ If invalid bookmarks are detected, the script will issue an error message and
the invalid bookmarks will become unavailable for use. the invalid bookmarks will become unavailable for use.
These bookmarks will still be stored in the bookmarks file (see These bookmarks will still be stored in the bookmarks file (see
|NERDTreeBookmarksFile|), down the bottom. There will always be a blank line |'NERDTreeBookmarksFile'|), down the bottom. There will always be a blank line
after the valid bookmarks but before the invalid ones. after the valid bookmarks but before the invalid ones.
Each line in the bookmarks file represents one bookmark. The proper format is: Each line in the bookmarks file represents one bookmark. The proper format is:
@@ -314,8 +314,8 @@ Applies to: directories.
Recursively opens the selelected directory. Recursively opens the selelected directory.
All files and directories are cached, but if a directory would not be All files and directories are cached, but if a directory would not be
displayed due to file filters (see |NERDTreeIgnore| |NERDTree-f|) or the displayed due to file filters (see |'NERDTreeIgnore'| |NERDTree-f|) or the
hidden file filter (see |NERDTreeShowHidden|) then its contents are not hidden file filter (see |'NERDTreeShowHidden'|) then its contents are not
cached. This is handy, especially if you have .svn directories. cached. This is handy, especially if you have .svn directories.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
@@ -477,7 +477,7 @@ Default key: f
Map option: NERDTreeMapToggleFilters Map option: NERDTreeMapToggleFilters
Applies to: no restrictions. Applies to: no restrictions.
Toggles whether file filters are used. See |NERDTreeIgnore| for details. Toggles whether file filters are used. See |'NERDTreeIgnore'| for details.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-F* *NERDTree-F*
@@ -561,53 +561,53 @@ then id be grateful if you'd email me.
The script provides the following options that can customise the behaviour the The script provides the following options that can customise the behaviour the
NERD tree. These options should be set in your vimrc. NERD tree. These options should be set in your vimrc.
|loaded_nerd_tree| Turns off the script. |'loaded_nerd_tree'| Turns off the script.
|NERDChristmasTree| Tells the NERD tree to make itself colourful |'NERDChristmasTree'| Tells the NERD tree to make itself colourful
and pretty. and pretty.
|NERDTreeAutoCenter| Controls whether the NERD tree window centers |'NERDTreeAutoCenter'| Controls whether the NERD tree window centers
when the cursor moves within a specified when the cursor moves within a specified
distance to the top/bottom of the window. distance to the top/bottom of the window.
|NERDTreeAutoCenterThreshold| Controls the sensitivity of autocentering. |'NERDTreeAutoCenterThreshold'| Controls the sensitivity of autocentering.
|NERDTreeCaseSensitiveSort| Tells the NERD tree whether to be case |'NERDTreeCaseSensitiveSort'| Tells the NERD tree whether to be case
sensitive or not when sorting nodes. sensitive or not when sorting nodes.
|NERDTreeChDirMode| Tells the NERD tree if/when it should change |'NERDTreeChDirMode'| Tells the NERD tree if/when it should change
vim's current working directory. vim's current working directory.
|NERDTreeHighlightCursorline| Tell the NERD tree whether to highlight the |'NERDTreeHighlightCursorline'| Tell the NERD tree whether to highlight the
current cursor line. current cursor line.
|NERDTreeIgnore| Tells the NERD tree which files to ignore. |'NERDTreeIgnore'| Tells the NERD tree which files to ignore.
|NERDTreeBookmarksFile| Where the bookmarks are stored. |'NERDTreeBookmarksFile'| Where the bookmarks are stored.
|NERDTreeMouseMode| Tells the NERD tree how to handle mouse |'NERDTreeMouseMode'| Tells the NERD tree how to handle mouse
clicks. clicks.
|NERDTreeQuitOnOpen| Closes the tree window after opening a file. |'NERDTreeQuitOnOpen'| Closes the tree window after opening a file.
|NERDTreeShowBookmarks| Tells the NERD tree whether to display the |'NERDTreeShowBookmarks'| Tells the NERD tree whether to display the
bookmarks table on startup. bookmarks table on startup.
|NERDTreeShowFiles| Tells the NERD tree whether to display files |'NERDTreeShowFiles'| Tells the NERD tree whether to display files
in the tree on startup. in the tree on startup.
|NERDTreeShowHidden| Tells the NERD tree whether to display hidden |'NERDTreeShowHidden'| Tells the NERD tree whether to display hidden
files on startup. files on startup.
|NERDTreeShowLineNumbers| Tells the NERD tree whether to display line |'NERDTreeShowLineNumbers'| Tells the NERD tree whether to display line
numbers in the tree window. numbers in the tree window.
|NERDTreeSortOrder| Tell the NERD tree how to sort the nodes in |'NERDTreeSortOrder'| Tell the NERD tree how to sort the nodes in
the tree. the tree.
|NERDTreeWinPos| Tells the script where to put the NERD tree |'NERDTreeWinPos'| Tells the script where to put the NERD tree
window. window.
|NERDTreeWinSize| Sets the window size when the NERD tree is |'NERDTreeWinSize'| Sets the window size when the NERD tree is
opened. opened.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
@@ -616,13 +616,13 @@ NERD tree. These options should be set in your vimrc.
To enable any of the below options you should put the given line in your To enable any of the below options you should put the given line in your
~/.vimrc ~/.vimrc
*loaded_nerd_tree* *'loaded_nerd_tree'*
If this plugin is making you feel homicidal, it may be a good idea to turn it If this plugin is making you feel homicidal, it may be a good idea to turn it
off with this line in your vimrc: > off with this line in your vimrc: >
let loaded_nerd_tree=1 let loaded_nerd_tree=1
< <
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDChristmasTree* *'NERDChristmasTree'*
Values: 0 or 1. Values: 0 or 1.
Default: 1. Default: 1.
@@ -632,12 +632,12 @@ added to the nerd tree to make it more colourful.
Set it to 0 for a more vanilla looking tree. Set it to 0 for a more vanilla looking tree.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeAutoCenter* *'NERDTreeAutoCenter'*
Values: 0 or 1. Values: 0 or 1.
Default: 1 Default: 1
If set to 1, the NERD tree window will center around the cursor if it moves to If set to 1, the NERD tree window will center around the cursor if it moves to
within |NERDTreeAutoCenterThreshold| lines of the top/bottom of the window. within |'NERDTreeAutoCenterThreshold'| lines of the top/bottom of the window.
This is ONLY done in response to tree navigation mappings, This is ONLY done in response to tree navigation mappings,
i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-c-K| |NERDTree-p| i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-c-K| |NERDTree-p|
@@ -646,15 +646,15 @@ i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-c-K| |NERDTree-p|
The centering is done with a |zz| operation. The centering is done with a |zz| operation.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeAutoCenterThreshold* *'NERDTreeAutoCenterThreshold'*
Values: Any natural number. Values: Any natural number.
Default: 3 Default: 3
This option controls the "sensitivity" of the NERD tree auto centering. See This option controls the "sensitivity" of the NERD tree auto centering. See
|NERDTreeAutoCenter| for details. |'NERDTreeAutoCenter'| for details.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeCaseSensitiveSort* *'NERDTreeCaseSensitiveSort'*
Values: 0 or 1. Values: 0 or 1.
Default: 0. Default: 0.
@@ -675,7 +675,7 @@ account. The above nodes would then be sorted like this: >
boner.c boner.c
< <
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeChDirMode* *'NERDTreeChDirMode'*
Values: 0, 1 or 2. Values: 0, 1 or 2.
Default: 0. Default: 0.
@@ -698,7 +698,7 @@ is /home/marty/foobar and you make the node for /home/marty/foobar/baz the new
root then the CWD will become /home/marty/foobar/baz. root then the CWD will become /home/marty/foobar/baz.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeHighlightCursorline* *'NERDTreeHighlightCursorline'*
Values: 0 or 1. Values: 0 or 1.
Default: 1. Default: 1.
@@ -706,13 +706,14 @@ If set to 1, the current cursor line in the NERD tree buffer will be
highlighted. This is done using the |cursorline| option. highlighted. This is done using the |cursorline| option.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeIgnore* *'NERDTreeIgnore'*
Values: a list of regular expressions. Values: a list of regular expressions.
Default: ['\~$']. Default: ['\~$'].
This option is used to specify which files the NERD tree should ignore. It This option is used to specify which files the NERD tree should ignore. It
must be a list of regular expressions. When the NERD tree is rendered, any must be a list of regular expressions. When the NERD tree is rendered, any
files/dirs that match any of the regex's in NERDTreeIgnore wont be displayed. files/dirs that match any of the regex's in 'NERDTreeIgnore' wont be
displayed.
For example if you put the following line in your vimrc: > For example if you put the following line in your vimrc: >
let NERDTreeIgnore=['\.vim$', '\~$'] let NERDTreeIgnore=['\.vim$', '\~$']
@@ -728,14 +729,14 @@ The file filters can be turned on and off dynamically with the |NERDTree-f|
mapping. mapping.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeBookmarksFile* *'NERDTreeBookmarksFile'*
Values: a path Values: a path
Default: $HOME/.NERDTreeBookmarks Default: $HOME/.NERDTreeBookmarks
This is where bookmarks are saved. See |NERDTreeBookmarkCommands|. This is where bookmarks are saved. See |NERDTreeBookmarkCommands|.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeMouseMode* *'NERDTreeMouseMode'*
Values: 1, 2 or 3. Values: 1, 2 or 3.
Default: 1. Default: 1.
@@ -753,7 +754,7 @@ then (to single click activate it) you must click somewhere in
'application.rb'. 'application.rb'.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeQuitOnOpen* *'NERDTreeQuitOnOpen'*
Values: 0 or 1. Values: 0 or 1.
Default: 0 Default: 0
@@ -762,16 +763,17 @@ If set to 1, the NERD tree window will close after opening a file with the
|NERDTree-o| or |NERDTree-tab| mappings. |NERDTree-o| or |NERDTree-tab| mappings.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeShowBookmarks* *'NERDTreeShowBookmarks'*
Values: 0 or 1. Values: 0 or 1.
Default: 0. Default: 0.
If this option is set to 1 then the bookmarks table will be displayed. If this option is set to 1 then the bookmarks table will be displayed.
This option can be toggled dynamically, per tree, with the |NERDTree-B| mapping. This option can be toggled dynamically, per tree, with the |NERDTree-B|
mapping.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeShowFiles* *'NERDTreeShowFiles'*
Values: 0 or 1. Values: 0 or 1.
Default: 1. Default: 1.
@@ -783,7 +785,7 @@ mapping and is useful for drastically shrinking the tree when you are
navigating to a different part of the tree. navigating to a different part of the tree.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeShowHidden* *'NERDTreeShowHidden'*
Values: 0 or 1. Values: 0 or 1.
Default: 0. Default: 0.
@@ -795,7 +797,7 @@ of the follow lines to set this option: >
< <
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeShowLineNumbers* *'NERDTreeShowLineNumbers'*
Values: 0 or 1. Values: 0 or 1.
Default: 0. Default: 0.
@@ -806,7 +808,7 @@ window. Use one of the follow lines to set this option: >
< <
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeSortOrder* *'NERDTreeSortOrder'*
Values: a list of regular expressions. Values: a list of regular expressions.
Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$'] Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$']
@@ -821,8 +823,8 @@ all .h files. All files containing the string 'foobar' will be placed at the
end. The star is a special flag: it tells the script that every node that end. The star is a special flag: it tells the script that every node that
doesnt match any of the other regexps should be placed here. doesnt match any of the other regexps should be placed here.
If no star is present in NERDTreeSortOrder then one is automatically appended If no star is present in 'NERDTreeSortOrder' then one is automatically
to the array. appended to the array.
The regex '\/$' should be used to match directory nodes. The regex '\/$' should be used to match directory nodes.
@@ -839,7 +841,7 @@ Other examples: >
backup files will appear last with everything else preceding them. backup files will appear last with everything else preceding them.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeWinPos* *'NERDTreeWinPos'*
Values: "left", "right", "top" or "bottom" Values: "left", "right", "top" or "bottom"
Default: "left". Default: "left".
@@ -854,7 +856,7 @@ plugins simultaneously. For example, you could have the taglist plugin on the
left of the window and the NERD tree on the right. left of the window and the NERD tree on the right.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeWinSize* *'NERDTreeWinSize'*
Values: a positive integer. Values: a positive integer.
Default: 31. Default: 31.
@@ -899,6 +901,9 @@ fridge for later ;)
============================================================================== ==============================================================================
7. Changelog *NERDTreeChangelog* 7. Changelog *NERDTreeChangelog*
2.xx.xx
- dont clobber &cpo. Thanks to godlygeek for the bug report.
2.14.0 2.14.0
- fix a bug where the <c-w>o mapping would cause the tree window to be - fix a bug where the <c-w>o mapping would cause the tree window to be
incorrectly sized when reopened. incorrectly sized when reopened.
@@ -938,8 +943,8 @@ fridge for later ;)
- applied a patch from Matan Nassau to add the NERDTreeQuitOnOpen option - applied a patch from Matan Nassau to add the NERDTreeQuitOnOpen option
which closes the tree window after opening a file. See :help which closes the tree window after opening a file. See :help
NERDTreeQuitOnOpen. NERDTreeQuitOnOpen.
- optimised the nerd tree rendering. Now it takes just over 1/3 of the time - optimised the nerd tree rendering. Now it takes just over 1/3 of the
it previously took to render. time it previously took to render.
- now the tree filter mappings toggle the filters "per tree" rather than - now the tree filter mappings toggle the filters "per tree" rather than
globally. The global filter variables are used to set the initial filter globally. The global filter variables are used to set the initial filter
settings for each new NERD tree. settings for each new NERD tree.
@@ -1015,9 +1020,9 @@ fridge for later ;)
and you use <c-j/k> the cursor will jump to its PARENTS next/previous and you use <c-j/k> the cursor will jump to its PARENTS next/previous
sibling. Go :help NERDTree-c-j and :help NERDTree-c-k for info. sibling. Go :help NERDTree-c-j and :help NERDTree-c-k for info.
- Extended the behaviour of the J/K mappings. Now if the cursor is on the - Extended the behaviour of the J/K mappings. Now if the cursor is on the
last child of a node and you push J/K it will jump down to the last child last child of a node and you push J/K it will jump down to the last
of the next/prev of its parents siblings that is open and has children. child of the next/prev of its parents siblings that is open and has
Go :help NERDTree-J and :help NERDTree-K for info. children. Go :help NERDTree-J and :help NERDTree-K for info.
- The goal of these changes is to make tree navigation faster. - The goal of these changes is to make tree navigation faster.
- Reorganised the help page a bit. - Reorganised the help page a bit.
- Removed the E mapping. - Removed the E mapping.
@@ -1057,8 +1062,8 @@ fridge for later ;)
- Tree navigation changes: - Tree navigation changes:
- Added J and K mappings to jump to last/first child of the current dir. - Added J and K mappings to jump to last/first child of the current dir.
Options to customise these mappings have also been added. Options to customise these mappings have also been added.
- Remapped the jump to next/prev sibling commands to be <C-j> and <C-k> by - Remapped the jump to next/prev sibling commands to be <C-j> and <C-k>
default. by default.
These changes should hopefully make tree navigation mappings easier to These changes should hopefully make tree navigation mappings easier to
remember and use as the j and k keys are simply reused 3 times (twice remember and use as the j and k keys are simply reused 3 times (twice
with modifier keys). with modifier keys).
@@ -1220,6 +1225,8 @@ NERDTreeQuitOnOpen was set.
Thanks to Charlton Wang for reporting bugs with the 'o' mapping and with Thanks to Charlton Wang for reporting bugs with the 'o' mapping and with
handling named pipes. handling named pipes.
Chur to godlygeek for reporting a bug where &cpo was getting clobbered.
============================================================================== ==============================================================================
9. License *NERDTreeLicense* 9. License *NERDTreeLicense*

View File

@@ -22,6 +22,11 @@ if v:version < 700
finish finish
endif endif
let loaded_nerd_tree = 1 let loaded_nerd_tree = 1
"for line continuation - i.e dont want C in &cpo
let s:old_cpo = &cpo
set cpo&vim
"Function: s:initVariable() function {{{2 "Function: s:initVariable() function {{{2
"This function is used to initialise a given variable to a given value. The "This function is used to initialise a given variable to a given value. The
"variable is only initialised if it does not exist prior "variable is only initialised if it does not exist prior
@@ -355,7 +360,7 @@ endfunction
function! s:Bookmark.toRoot() function! s:Bookmark.toRoot()
if self.validate() if self.validate()
try try
let targetNode = s:Bookmark.GetNodeForName(self.name, 1) let targetNode = self.getNode(1)
catch /NERDTree.BookmarkedNodeNotFound/ catch /NERDTree.BookmarkedNodeNotFound/
let targetNode = s:TreeFileNode.New(s:Bookmark.BookmarkFor(self.name).path) let targetNode = s:TreeFileNode.New(s:Bookmark.BookmarkFor(self.name).path)
endtry endtry
@@ -495,7 +500,7 @@ function! s:TreeFileNode.findNode(path)
endif endif
return {} return {}
endfunction endfunction
"FUNCTION: TreeFileNode.findOpenDirSiblingWithChildren(direction) {{{3 "FUNCTION: TreeFileNode.findOpenDirSiblingWithVisibleChildren(direction) {{{3
" "
"Finds the next sibling for this node in the indicated direction. This sibling "Finds the next sibling for this node in the indicated direction. This sibling
"must be a directory and may/may not have children as specified. "must be a directory and may/may not have children as specified.
@@ -505,7 +510,7 @@ endfunction
" "
"Return: "Return:
"a treenode object or {} if no appropriate sibling could be found "a treenode object or {} if no appropriate sibling could be found
function! s:TreeFileNode.findOpenDirSiblingWithChildren(direction) function! s:TreeFileNode.findOpenDirSiblingWithVisibleChildren(direction)
"if we have no parent then we can have no siblings "if we have no parent then we can have no siblings
if self.parent != {} if self.parent != {}
let nextSibling = self.findSibling(a:direction) let nextSibling = self.findSibling(a:direction)
@@ -824,7 +829,7 @@ endfunction
"FUNCTION: TreeDirNode.hasVisibleChildren() {{{3 "FUNCTION: TreeDirNode.hasVisibleChildren() {{{3
"returns 1 if this node has any childre, 0 otherwise.. "returns 1 if this node has any childre, 0 otherwise..
function! s:TreeDirNode.hasVisibleChildren() function! s:TreeDirNode.hasVisibleChildren()
return self.getChildCount() != 0 return self.getVisibleChildCount() != 0
endfunction endfunction
"FUNCTION: TreeDirNode._initChildren() {{{3 "FUNCTION: TreeDirNode._initChildren() {{{3
@@ -1050,10 +1055,10 @@ endfunction
let s:Path = {} let s:Path = {}
"FUNCTION: Path.bookmarkNames() {{{3 "FUNCTION: Path.bookmarkNames() {{{3
function! s:Path.bookmarkNames() function! s:Path.bookmarkNames()
if !exists("self.bookmarkNames") if !exists("self._bookmarkNames")
call self.cacheDisplayString() call self.cacheDisplayString()
endif endif
return self.bookmarkNames return self._bookmarkNames
endfunction endfunction
"FUNCTION: Path.cacheDisplayString() {{{3 "FUNCTION: Path.cacheDisplayString() {{{3
function! s:Path.cacheDisplayString() function! s:Path.cacheDisplayString()
@@ -1063,14 +1068,14 @@ function! s:Path.cacheDisplayString()
let self.cachedDisplayString = self.cachedDisplayString . '*' let self.cachedDisplayString = self.cachedDisplayString . '*'
endif endif
let self.bookmarkNames = [] let self._bookmarkNames = []
for i in s:Bookmark.Bookmarks() for i in s:Bookmark.Bookmarks()
if i.path.equals(self) if i.path.equals(self)
call add(self.bookmarkNames, i.name) call add(self._bookmarkNames, i.name)
endif endif
endfor endfor
if !empty(self.bookmarkNames) if !empty(self._bookmarkNames)
let self.cachedDisplayString .= ' {' . join(self.bookmarkNames) . '}' let self.cachedDisplayString .= ' {' . join(self._bookmarkNames) . '}'
endif endif
if self.isSymLink if self.isSymLink
@@ -1828,9 +1833,6 @@ function! s:createTreeWin()
endif endif
" for line continuation
let cpo_save1 = &cpo
set cpo&vim
call s:bindMappings() call s:bindMappings()
setfiletype nerdtree setfiletype nerdtree
@@ -2231,7 +2233,7 @@ function! s:jumpToChild(direction)
endif endif
if targetNode.equals(currentNode) if targetNode.equals(currentNode)
let siblingDir = currentNode.parent.findOpenDirSiblingWithChildren(a:direction) let siblingDir = currentNode.parent.findOpenDirSiblingWithVisibleChildren(a:direction)
if siblingDir != {} if siblingDir != {}
let indx = a:direction ? siblingDir.getVisibleChildCount()-1 : 0 let indx = a:direction ? siblingDir.getVisibleChildCount()-1 : 0
let targetNode = siblingDir.getChildByIndex(indx, 1) let targetNode = siblingDir.getChildByIndex(indx, 1)
@@ -3527,4 +3529,8 @@ function! s:upDir(keepState)
endif endif
endfunction endfunction
"reset &cpo back to users setting
let &cpo = s:old_cpo
" vim: set sw=4 sts=4 et fdm=marker: " vim: set sw=4 sts=4 et fdm=marker: