Compare commits

..

10 Commits
5.1.3 ... 5.2.7

Author SHA1 Message Date
Phil Runninger
4ac07f52a3 Use :mode only in neovim. MacVim still needs to use :redraw! (#1019)
* Use :mode only in neovim. MacVim still needs to use :redraw!

* Make nerdtree#redraw do both redraw and redraw! based on a parameter.

* Make bang a required parameter.

* Replace all redraw statments with call nerdtree#redraw function calls.

* Update version in change log.
2019-07-10 09:45:58 -04:00
Phil Runninger (mac)
2f0d48d632 Update version in change log. 2019-07-07 03:53:06 -04:00
Phil Runninger
a460d6ef7f In CHANGELOG.md and PR template, make reference to PR a true HTML link. (#1017) 2019-07-07 03:50:59 -04:00
Phil Runninger
3b1a850b85 Use :mode instead of :redraw! when updating menu. (#1016)
* Use :mode instead of :redraw! when updating screen.

In neovim, it will actually clear the whole screen, whereas, redraw!
does not.

* Update version number in change log.
2019-07-07 03:19:17 -04:00
Phil Runninger
89a1a4355b When searching for root line num, stop at the end of the file. (#1015)
* When searching for root line num, stop at the end of the file.

When using the following NERDTreeStatusLine, Vim would lock up and not
work anymore. The problem was that when trying to find the root line
number, the loop was continuing past the end of the file, looping
"forever". The fix was to simply stop at the end of the file.

let g:NERDTreeStatusline = "%{exists('g:NERDTreeFileNode')&&" .
      \ "has_key(g:NERDTreeFileNode.GetSelected(),'path')?" .
      \ "g:NERDTreeFileNode.GetSelected().path.getLastPathComponent(0):''}"

* Update change log.
2019-07-04 00:21:50 -04:00
Phil Runninger
62b78de367 Update Change Log 2019-07-03 11:12:21 -04:00
Kebin Liu
aef6baf6e2 Update ui_glue.vim (#1014)
Fix `<CR>` key map on the bookmark
2019-07-03 11:11:25 -04:00
Phil Runninger
06c9d9c963 Make Enter work on the .. ( up a dir ) line (#1013)
* Make Enter work on the `.. ( up a dir )` line.

* Simpler instructions for getting bug info.

* Update changelog.
2019-07-02 15:45:36 -04:00
Phil Runninger
ca16df25fa Fix nerdtree#version() on Windows. 2019-07-01 23:29:56 -04:00
Phil Runninger
cce6fb373f Expand functionality of <CR> mapping (#1011)
* Define default values for new variables governing new "Default Open".

"Default Open" means to open a file with the Enter key (which of course
can be changed.) The key can be changed in the vimrc, and there is a
variable for specifying the Opener parameters for opening the node. This
lets the user decide whether Enter (or another key) will open a file in
the current tab or a new one, and whether or not to open the file again
in the tab or jump to a window where the file is already open.

* Remove the old mapping for <CR>, a duplicate of 'o'.

<CR> will be defined like all the other keys, in plugin/NERD_tree.vim

* Assign functions to the new <CR> key mapping.

Three separate functions handle directories, files, and bookmarks.

* Rename variables: NERDTreeCustomOpen and NERDTreeCustomOpenArgs

* Add documentation for NERDTreeCustomOpenArgs and NERDTree-<CR>.

* Make key mapping variables be indexed in the Vim help

* Remove angle brackets from <CR> to see if help navigation improves.

* Rename functions from defaultOpen... to customOpen...

* Use separate options for file and directory nodes.

* Update documentation for separate file/directory options.

* Update version number and change log.

* Change CR to <CR> in help tags.

* Fix missing backtick in patch number.

* Update the quickhelp text.

* Update Pull Request template.

* Update change log with simpler formatting of patch number.

* Get NERDTree version number directly from CHANGELOG.md

* Reformat the lists of contributors in the Change Log.

* Initialize the version text, just in case the while loop finds nothing.
2019-07-01 22:13:20 -04:00
11 changed files with 331 additions and 246 deletions

View File

@@ -22,9 +22,8 @@ After reading, and before submitting your issue, please remove this introductory
#### Environment (for bug reports) #### Environment (for bug reports)
- [ ] Operating System: - [ ] Operating System:
- [ ] Vim/Neovim version `:version`: - [ ] Vim/Neovim version `:echo v:version`:
- [ ] NERDTree version `git rev-parse --short HEAD`: - [ ] NERDTree version, found on 1st line in NERDTree quickhelp `?`:
- [ ] A link to my [vimrc](), or
- [ ] vimrc settings - [ ] vimrc settings
- [ ] NERDTree variables - [ ] NERDTree variables
```vim ```vim

View File

@@ -1,22 +1,20 @@
<!-- Enter the issue number this PR addresses below. If none, remove the line. -->
### Description of Changes ### Description of Changes
Closes # <!-- Issue number this PR addresses. If none, remove this line. -->
Closes #
--- ---
### New Version Info ### New Version Info
- [ ] Derive a new version number. Increment the: - [ ] Derive a new version number. Increment the:
- [ ] `MAJOR` version when you make incompatible API changes, - [ ] `MAJOR` version when you make incompatible API changes
- [ ] `MINOR` version when you add functionality in a backwards-compatible manner, and - [ ] `MINOR` version when you add functionality in a backwards-compatible manner
- [ ] `PATCH` version when you make backwards-compatible bug fixes. - [ ] `PATCH` version when you make backwards-compatible bug fixes
- [ ] Update version number in [autoload/nerdtree.vim](https://github.com/scrooloose/nerdtree/blob/master/autoload/nerdtree.vim#L7) - [ ] Update [CHANGELOG.md](https://github.com/scrooloose/nerdtree/blob/master/CHANGELOG.md), following this format/example:
- [ ] Update the ChangeLog, following this format/example:
``` ```
MAJOR.MINOR... #### MAJOR.MINOR...
- **.PATCH**: PR Title (Author) #PR Number - **.PATCH**: PR Title (Author) [#PR Number](link to PR)
### 5.1... #### 5.1...
- **.1**: Update Changelog and create PR Template (PhilRunninger) #1007 - **.1**: Update Changelog and create PR Template (PhilRunninger) [#1007](https://github.com/scrooloose/nerdtree/pull/1007)
- **.0**: Too many changes for one patch... - **.0**: Too many changes for one patch...
``` ```

View File

@@ -1,132 +1,141 @@
# Change Log # Change Log
### 5.1... #### 5.2...
- **`.3`**: Remove @mentions from PR template and change log. They weren't working. (PhilRunninger) #1009 - **.7**: Use :mode only in neovim. MacVim still needs to use :redraw! [#1019](https://github.com/scrooloose/nerdtree/pull/1019)
- **`.2`**: Fix NERDTree opening with the wrong size. (PhilRunninger) #1008 - **.6**: In CHANGELOG.md and PR template, make reference to PR a true HTML link. [#1017](https://github.com/scrooloose/nerdtree/pull/1017)
- **`.1`**: Update Changelog and create PR Template (PhilRunninger) #1007 - **.5**: Use `:mode` instead of `:redraw!` when updating menu. (PhilRunninger) [#1016](https://github.com/scrooloose/nerdtree/pull/1016)
- **`.0`**: Too many changes for one patch... - **.4**: When searching for root line num, stop at end of file. (PhilRunninger) [#1015](https://github.com/scrooloose/nerdtree/pull/1015)
- Refresh a dir_node if the file wasn't found in it, and look once more. (PhilRunninger) #1005 - **.3**: Fix `<CR>` key map on the bookmark (lkebin) [#1014](https://github.com/scrooloose/nerdtree/pull/1014)
- Add a "copy path to clipboard" menu option (PhilRunninger) #1002 - **.2**: Make Enter work on the `.. ( up a dir )` line (PhilRunninger) [#1013](https://github.com/scrooloose/nerdtree/pull/1013)
- Enable root refresh on "vim ." a different way than #999. (PhilRunninger) #1001 - **.1**: Fix nerdtree#version() on Windows. (PhilRunninger)
- Fix refreshroot (PhilRunninger) #999 - **.0**: Expand functionality of `<CR>` mapping. (PhilRunninger) [#1011](https://github.com/scrooloose/nerdtree/pull/1011)
- Change version check to look for 703 not 730 (vhalis) #994 #### 5.1...
- Change minimum vim (PhilRunninger) #991 - **.3**: Remove @mentions from PR template and change log. They weren't working. (PhilRunninger) [#1009](https://github.com/scrooloose/nerdtree/pull/1009)
- Allow multi-character DirArrows (PhilRunninger) #985 - **.2**: Fix NERDTree opening with the wrong size. (PhilRunninger) [#1008](https://github.com/scrooloose/nerdtree/pull/1008)
- Remove redraw! while still clearing last message empty string. (PhilRunninger) #979 - **.1**: Update Changelog and create PR Template (PhilRunninger) [#1007](https://github.com/scrooloose/nerdtree/pull/1007)
- fix _initChildren function value set to numChildrenCached error (terryding77) #969 - **.0**: Too many changes for one patch...
- On Windows, do a case-insensitive comparison of paths. (PhilRunninger) #967 - Refresh a dir_node if the file wasn't found in it, and look once more. (PhilRunninger) [#1005](https://github.com/scrooloose/nerdtree/pull/1005)
- Remove the "Please wait... DONE" messages. (PhilRunninger) #966 - Add a "copy path to clipboard" menu option (PhilRunninger) [#1002](https://github.com/scrooloose/nerdtree/pull/1002)
- Smarter delimiter default (PhilRunninger) #963 - Enable root refresh on "vim ." a different way than [#999](https://github.com/scrooloose/nerdtree/pull/999). (PhilRunninger) [#1001](https://github.com/scrooloose/nerdtree/pull/1001)
- Update directory .vimdc readme example (spencerdcarlson) #961 - Fix refreshroot (PhilRunninger) [#999](https://github.com/scrooloose/nerdtree/pull/999)
- Preview bookmarks (PhilRunninger) #956 - Change version check to look for 703 not 730 (vhalis) [#994](https://github.com/scrooloose/nerdtree/pull/994)
- Add new value to NERDTreeQuitOnOpen to close bookmark table (PhilRunninger) #955 - Change minimum vim (PhilRunninger) [#991](https://github.com/scrooloose/nerdtree/pull/991)
- Add an :EditBookmarks command to edit the bookmarks file (PhilRunninger) #954 - Allow multi-character DirArrows (PhilRunninger) [#985](https://github.com/scrooloose/nerdtree/pull/985)
- Before copying, turn off &shellslash. Restore after copy is finished. (PhilRunninger) #952 - Remove redraw! while still clearing last message empty string. (PhilRunninger) [#979](https://github.com/scrooloose/nerdtree/pull/979)
- Set a maximum window size when zooming. (PhilRunninger) #950 - fix `_initChildren` function value set to numChildrenCached error (terryding77) [#969](https://github.com/scrooloose/nerdtree/pull/969)
- Confirm the wipeout of a unsaved buffer whose file has been renamed. (PhilRunninger) #949 - On Windows, do a case-insensitive comparison of paths. (PhilRunninger) [#967](https://github.com/scrooloose/nerdtree/pull/967)
- Escape a backslash so it can be used in a key mapping. (PhilRunninger) #948 - Remove the **Please wait... DONE** messages. (PhilRunninger) [#966](https://github.com/scrooloose/nerdtree/pull/966)
- Add a NERDTreeMinimalMenu feature (tuzz) #938 - Smarter delimiter default (PhilRunninger) [#963](https://github.com/scrooloose/nerdtree/pull/963)
- fixed root path error for windows (zcodes) #935 - Update directory .vimdc readme example (spencerdcarlson) [#961](https://github.com/scrooloose/nerdtree/pull/961)
- Restore getDirChildren for use in nerdtree-project-plugin. (PhilRunninger) #929 - Preview bookmarks (PhilRunninger) [#956](https://github.com/scrooloose/nerdtree/pull/956)
- Document NERDTreeNodeDelimiter #912 (PhilRunninger) #926 - Add new value to NERDTreeQuitOnOpen to close bookmark table (PhilRunninger) [#955](https://github.com/scrooloose/nerdtree/pull/955)
- Allow modification of menu keybindings (Leandros) #923 - Add an :EditBookmarks command to edit the bookmarks file (PhilRunninger) [#954](https://github.com/scrooloose/nerdtree/pull/954)
- Add two more disqualifications for isCascadable(). (PhilRunninger) #914 - Before copying, turn off &shellslash. Restore after copy is finished. (PhilRunninger) [#952](https://github.com/scrooloose/nerdtree/pull/952)
- Allow highlighting more than one flag. (kristijanhusak) #908 - Set a maximum window size when zooming. (PhilRunninger) [#950](https://github.com/scrooloose/nerdtree/pull/950)
- Support sorting files and directories by modification time. (PhilRunninger) #901 - Confirm the wipeout of a unsaved buffer whose file has been renamed. (PhilRunninger) [#949](https://github.com/scrooloose/nerdtree/pull/949)
- Parse . and .. from path string with trailing slash. (PhilRunninger) #899 - Escape a backslash so it can be used in a key mapping. (PhilRunninger) [#948](https://github.com/scrooloose/nerdtree/pull/948)
- Force sort to recalculate the cached sortKey. (PhilRunninger) #898 - Add a NERDTreeMinimalMenu feature (tuzz) [#938](https://github.com/scrooloose/nerdtree/pull/938)
- Add NERDTreeRefreshRoot command (wgfm) #897 - fixed root path error for windows (zcodes) [#935](https://github.com/scrooloose/nerdtree/pull/935)
- Call Resolve on the file's path when calling :NERDTreeFind. (PhilRunninger) #896 - Restore getDirChildren for use in nerdtree-project-plugin. (PhilRunninger) [#929](https://github.com/scrooloose/nerdtree/pull/929)
- Catch all errors, not just NERDTree errors. (PhilRunninger) #894 - Document NERDTreeNodeDelimiter [#912](https://github.com/scrooloose/nerdtree/pull/912) (PhilRunninger) [#926](https://github.com/scrooloose/nerdtree/pull/926)
- Fix typo in help file (lvoisin) #892 - Allow modification of menu keybindings (Leandros) [#923](https://github.com/scrooloose/nerdtree/pull/923)
- Make NERDTreeCreator set the `'nolist'` option (lifecrisis) #889 - Add two more disqualifications for isCascadable(). (PhilRunninger) [#914](https://github.com/scrooloose/nerdtree/pull/914)
- Refresh buffers after `m`, `m` operation on a folder (PhilRunninger) #888 - Allow highlighting more than one flag. (kristijanhusak) [#908](https://github.com/scrooloose/nerdtree/pull/908)
- Use a better arg for FINDSTR when using the m,l command in Windows. (PhilRunninger) #887 - Support sorting files and directories by modification time. (PhilRunninger) [#901](https://github.com/scrooloose/nerdtree/pull/901)
- Fix the <C-J>/<C-K> motions, which currently fail with cascades (lifecrisis) #886 - Parse . and .. from path string with trailing slash. (PhilRunninger) [#899](https://github.com/scrooloose/nerdtree/pull/899)
- Function "s:UI.getLineNum()" doesn't always work on cascades. (lifecrisis) #882 - Force sort to recalculate the cached sortKey. (PhilRunninger) [#898](https://github.com/scrooloose/nerdtree/pull/898)
- NERDTreeCWD: reset CWD if changed by NERDTreeFocus (PhilRunninger) #878 - Add NERDTreeRefreshRoot command (wgfm) [#897](https://github.com/scrooloose/nerdtree/pull/897)
- Use <count>tabnext instead of <count>gt to allow users to remap gt. (PhilRunninger) #877 - Call Resolve on the file's path when calling :NERDTreeFind. (PhilRunninger) [#896](https://github.com/scrooloose/nerdtree/pull/896)
- Do a case sensitive comparison of new/existing buffers. (PhilRunninger) #875 - Catch all errors, not just NERDTree errors. (PhilRunninger) [#894](https://github.com/scrooloose/nerdtree/pull/894)
- Fix opening sub-directories that have commas in their name. (PhilRunninger) #873 - Fix typo in help file (lvoisin) [#892](https://github.com/scrooloose/nerdtree/pull/892)
- Add new command to open NERDTree in the root of a VCS repository. (PhilRunninger) #872 - Make NERDTreeCreator set the `'nolist'` option (lifecrisis) [#889](https://github.com/scrooloose/nerdtree/pull/889)
- Make sure the path to the bookmarks file exists before writing it. (PhilRunninger) #871 - Refresh buffers after `m`, `m` operation on a folder (PhilRunninger) [#888](https://github.com/scrooloose/nerdtree/pull/888)
- Unzoom NERDTree when opening a file (PhilRunninger) #870 - Use a better arg for FINDSTR when using the m,l command in Windows. (PhilRunninger) [#887](https://github.com/scrooloose/nerdtree/pull/887)
- Support unusual characters in file and directory names (PhilRunninger) #868 - Fix the <C-J>/<C-K> motions, which currently fail with cascades (lifecrisis) [#886](https://github.com/scrooloose/nerdtree/pull/886)
- Reword renamed-buffer prompt to be more clear (aflock) #867 - Function "s:UI.getLineNum()" doesn't always work on cascades. (lifecrisis) [#882](https://github.com/scrooloose/nerdtree/pull/882)
- Default to placing cursor on root when closing bookmark table (lifecrisis) #866 - NERDTreeCWD: reset CWD if changed by NERDTreeFocus (PhilRunninger) [#878](https://github.com/scrooloose/nerdtree/pull/878)
- Fix issues with sorting of nodes (PhilRunninger) #856 - Use <count>tabnext instead of <count>gt to allow users to remap gt. (PhilRunninger) [#877](https://github.com/scrooloose/nerdtree/pull/877)
- Better OSX detection (bubba-h57) #853 - Do a case sensitive comparison of new/existing buffers. (PhilRunninger) [#875](https://github.com/scrooloose/nerdtree/pull/875)
- Bugfix - ensure keymaps dictionary exists before using it (mnussbaum) #852 - Fix opening sub-directories that have commas in their name. (PhilRunninger) [#873](https://github.com/scrooloose/nerdtree/pull/873)
- Decrease startup-time by avoiding linear-time iteration over key mappings (mnussbaum) #851 - Add new command to open NERDTree in the root of a VCS repository. (PhilRunninger) [#872](https://github.com/scrooloose/nerdtree/pull/872)
- Add code to sort mappings in quickhelp (lifecrisis) #849 - Make sure the path to the bookmarks file exists before writing it. (PhilRunninger) [#871](https://github.com/scrooloose/nerdtree/pull/871)
- Use ":clearjumps" in new NERDTree windows (lifecrisis) #844 - Unzoom NERDTree when opening a file (PhilRunninger) [#870](https://github.com/scrooloose/nerdtree/pull/870)
- Like m-c did before, create parent directories if needed on m-m. (PhilRunninger) #840 - Support unusual characters in file and directory names (PhilRunninger) [#868](https://github.com/scrooloose/nerdtree/pull/868)
- BUGFIX: Repair a problem with the `'u'` mapping. (lifecrisis) #838 - Reword renamed-buffer prompt to be more clear (aflock) [#867](https://github.com/scrooloose/nerdtree/pull/867)
- Make the NERDTree buffer writable when rendering it. (PhilRunninger) #837 - Default to placing cursor on root when closing bookmark table (lifecrisis) [#866](https://github.com/scrooloose/nerdtree/pull/866)
- Code cleanup: Remove unsupported bookmark table mappings (lifecrisis) #835 - Fix issues with sorting of nodes (PhilRunninger) [#856](https://github.com/scrooloose/nerdtree/pull/856)
- Replace strcharpart() with substitute() for backward compatibility (bravestarr) #834 - Better OSX detection (bubba-h57) [#853](https://github.com/scrooloose/nerdtree/pull/853)
- Fixed error `unknown function strcharpart` for older versions of Vim (hav4ik) #833 - Bugfix - ensure keymaps dictionary exists before using it (mnussbaum) [#852](https://github.com/scrooloose/nerdtree/pull/852)
- Clear output when NERDTree menu is aborted (lifecrisis) #832 - Decrease startup-time by avoiding linear-time iteration over key mappings (mnussbaum) [#851](https://github.com/scrooloose/nerdtree/pull/851)
- Display a path with multi-byte characters correctly when it is truncated (bravestarr) #830 - Add code to sort mappings in quickhelp (lifecrisis) [#849](https://github.com/scrooloose/nerdtree/pull/849)
- Support revealing file and executing file with xdg-open for Linux (ngnmhieu) #824 - Use ":clearjumps" in new NERDTree windows (lifecrisis) [#844](https://github.com/scrooloose/nerdtree/pull/844)
- If node isn't open, count children on disk before deleting. (PhilRunninger) #822 - Like m-c did before, create parent directories if needed on m-m. (PhilRunninger) [#840](https://github.com/scrooloose/nerdtree/pull/840)
- Add new variable g:NERDTreeRemoveFileCmd (kutsan) #816 - BUGFIX: Repair a problem with the `'u'` mapping. (lifecrisis) [#838](https://github.com/scrooloose/nerdtree/pull/838)
- Use a better check for existence of the NERDTree buffer. (PhilRunninger) #814 - Make the NERDTree buffer writable when rendering it. (PhilRunninger) [#837](https://github.com/scrooloose/nerdtree/pull/837)
- Fix focussing previous buffer when closing NERDTree (mrubli) #801 - Code cleanup: Remove unsupported bookmark table mappings (lifecrisis) [#835](https://github.com/scrooloose/nerdtree/pull/835)
- Update the docs for "NERDTreeStatusline" (lifecrisis) #796 - Replace strcharpart() with substitute() for backward compatibility (bravestarr) [#834](https://github.com/scrooloose/nerdtree/pull/834)
- BUGFIX: Unstable behavior in the "getPath()" method (lifecrisis) #795 - Fixed error `unknown function strcharpart` for older versions of Vim (hav4ik) [#833](https://github.com/scrooloose/nerdtree/pull/833)
- Revert the bugfix from pull request #785 (lifecrisis) #794 - Clear output when NERDTree menu is aborted (lifecrisis) [#832](https://github.com/scrooloose/nerdtree/pull/832)
- BUGFIX: Allow ":NERDTreeFind" to discover hidden files (lifecrisis) #786 - Display a path with multi-byte characters correctly when it is truncated (bravestarr) [#830](https://github.com/scrooloose/nerdtree/pull/830)
- BUGFIX: Allow ":NERDTreeFind" to reveal new files (lifecrisis) #785 - Support revealing file and executing file with xdg-open for Linux (ngnmhieu) [#824](https://github.com/scrooloose/nerdtree/pull/824)
- Add modelines (lifecrisis) #782 - If node isn't open, count children on disk before deleting. (PhilRunninger) [#822](https://github.com/scrooloose/nerdtree/pull/822)
- Change the type of completion used by NERDTreeFind (lifecrisis) #781 - Add new variable g:NERDTreeRemoveFileCmd (kutsan) [#816](https://github.com/scrooloose/nerdtree/pull/816)
- change NERDTreeFind with args (zhenyangze) #778 - Use a better check for existence of the NERDTree buffer. (PhilRunninger) [#814](https://github.com/scrooloose/nerdtree/pull/814)
- Style Choice: Using confirm() when deleting a bookmark (lifecrisis) #777 - Fix focussing previous buffer when closing NERDTree (mrubli) [#801](https://github.com/scrooloose/nerdtree/pull/801)
- remove useless substitute when `file =~# "/$"` (skyblueee) #773 - Update the docs for "NERDTreeStatusline" (lifecrisis) [#796](https://github.com/scrooloose/nerdtree/pull/796)
- remove useless removeLeadingSpaces in _stripMarkup (skyblueee) #772 - BUGFIX: Unstable behavior in the "getPath()" method (lifecrisis) [#795](https://github.com/scrooloose/nerdtree/pull/795)
- Make the "o" mapping consistent with "x" (lifecrisis) #769 - Revert the bugfix from pull request [#785](https://github.com/scrooloose/nerdtree/pull/785) (lifecrisis) [#794](https://github.com/scrooloose/nerdtree/pull/794)
- Fix a problem with the "x" handler (lifecrisis) #768 - BUGFIX: Allow ":NERDTreeFind" to discover hidden files (lifecrisis) [#786](https://github.com/scrooloose/nerdtree/pull/786)
- Clean up the handler for the "x" mapping (lifecrisis) #767 - BUGFIX: Allow ":NERDTreeFind" to reveal new files (lifecrisis) [#785](https://github.com/scrooloose/nerdtree/pull/785)
- Revert change to tab opening method (lifecrisis) #766 - Add modelines (lifecrisis) [#782](https://github.com/scrooloose/nerdtree/pull/782)
- BUGFIX: Add back support for "b:NERDTreeRoot" (lifecrisis) #765 - Change the type of completion used by NERDTreeFind (lifecrisis) [#781](https://github.com/scrooloose/nerdtree/pull/781)
- Fix broken "t" and "T" mappings, tabs now open at end (lifecrisis) #759 - change NERDTreeFind with args (zhenyangze) [#778](https://github.com/scrooloose/nerdtree/pull/778)
- Update doc with already existing mapping variables (asnr) #699 - Style Choice: Using confirm() when deleting a bookmark (lifecrisis) [#777](https://github.com/scrooloose/nerdtree/pull/777)
- Fix the broken g:NERDTreeBookmarksSort setting (lifecrisis) #696 - remove useless substitute when `file =~# "/$"` (skyblueee) [#773](https://github.com/scrooloose/nerdtree/pull/773)
- Correct NERDTreeIgnore pattern in doc (cntoplolicon) #648 - remove useless removeLeadingSpaces in _stripMarkup (skyblueee) [#772](https://github.com/scrooloose/nerdtree/pull/772)
- Remove empty segments when splitting path (sooth-sayer) #574 - Make the "o" mapping consistent with "x" (lifecrisis) [#769](https://github.com/scrooloose/nerdtree/pull/769)
- Suppress autocmds less agressively (wincent) #578 #691 - Fix a problem with the "x" handler (lifecrisis) [#768](https://github.com/scrooloose/nerdtree/pull/768)
- Clean up the handler for the "x" mapping (lifecrisis) [#767](https://github.com/scrooloose/nerdtree/pull/767)
- Revert change to tab opening method (lifecrisis) [#766](https://github.com/scrooloose/nerdtree/pull/766)
- BUGFIX: Add back support for "b:NERDTreeRoot" (lifecrisis) [#765](https://github.com/scrooloose/nerdtree/pull/765)
- Fix broken "t" and "T" mappings, tabs now open at end (lifecrisis) [#759](https://github.com/scrooloose/nerdtree/pull/759)
- Update doc with already existing mapping variables (asnr) [#699](https://github.com/scrooloose/nerdtree/pull/699)
- Fix the broken g:NERDTreeBookmarksSort setting (lifecrisis) [#696](https://github.com/scrooloose/nerdtree/pull/696)
- Correct NERDTreeIgnore pattern in doc (cntoplolicon) [#648](https://github.com/scrooloose/nerdtree/pull/648)
- Remove empty segments when splitting path (sooth-sayer) [#574](https://github.com/scrooloose/nerdtree/pull/574)
- Suppress autocmds less agressively (wincent) [#578](https://github.com/scrooloose/nerdtree/pull/578) [#691](https://github.com/scrooloose/nerdtree/pull/691)
- Add an Issues template to ask for more info initially. - Add an Issues template to ask for more info initially.
- Fix markdown headers in readme (josephfrazier) #676 - Fix markdown headers in readme (josephfrazier) [#676](https://github.com/scrooloose/nerdtree/pull/676)
- Don't touch @o and @h registers when rendering - Don't touch `@o` and `@h` registers when rendering
- Fix bug with files and directories with dollar signs (alegen) #649 - Fix bug with files and directories with dollar signs (alegen) [#649](https://github.com/scrooloose/nerdtree/pull/649)
- Reuse/reopen existing window trees where possible #244 - Reuse/reopen existing window trees where possible [#244](https://github.com/scrooloose/nerdtree/pull/244)
- Remove NERDTree.previousBuf() - Remove NERDTree.previousBuf()
- Change color of arrow (Leeiio) #630 - Change color of arrow (Leeiio) [#630](https://github.com/scrooloose/nerdtree/pull/630)
- Improved a tip in README.markdown (ggicci) #628 - Improved a tip in README.markdown (ggicci) [#628](https://github.com/scrooloose/nerdtree/pull/628)
- Shorten delete confimration of empty directory to `y` (mikeperri) #530 - Shorten delete confimration of empty directory to `y` (mikeperri) [#530](https://github.com/scrooloose/nerdtree/pull/530)
- Fix API call to open directory tree in window (devm33) #533 - Fix API call to open directory tree in window (devm33) [#533](https://github.com/scrooloose/nerdtree/pull/533)
- Change default arrows on non-Windows platforms (gwilk) #546 - Change default arrows on non-Windows platforms (gwilk) [#546](https://github.com/scrooloose/nerdtree/pull/546)
- Update to README - combine cd and git clone (zwhitchcox) #584 - Update to README - combine cd and git clone (zwhitchcox) [#584](https://github.com/scrooloose/nerdtree/pull/584)
- Update to README - Tip: start NERDTree when vim starts (therealplato) #593 - Update to README - Tip: start NERDTree when vim starts (therealplato) [#593](https://github.com/scrooloose/nerdtree/pull/593)
- Escape filename when moving an open buffer (zacharyvoase) #595 - Escape filename when moving an open buffer (zacharyvoase) [#595](https://github.com/scrooloose/nerdtree/pull/595)
- Fixed incorrect :helptags command in README (curran) #619 - Fixed incorrect :helptags command in README (curran) [#619](https://github.com/scrooloose/nerdtree/pull/619)
- Fixed incomplete escaping of folder arrows (adityanatraj) #548 - Fixed incomplete escaping of folder arrows (adityanatraj) [#548](https://github.com/scrooloose/nerdtree/pull/548)
- Added NERDTreeCascadeSingleChildDir option (juanibiapina) #558 - Added NERDTreeCascadeSingleChildDir option (juanibiapina) [#558](https://github.com/scrooloose/nerdtree/pull/558)
- Replace strchars() with backward compatible workaround. - Replace strchars() with backward compatible workaround.
- Add support for copy command in Windows (SkylerLipthay) #231 - Add support for copy command in Windows (SkylerLipthay) [#231](https://github.com/scrooloose/nerdtree/pull/231)
- Fixed typo in README.markdown - :Helptags -> :helptags - Fixed typo in README.markdown - :Helptags -> :helptags
- Rename "primary" and "secondary" trees to "tab" and "window" trees. - Rename "primary" and "secondary" trees to "tab" and "window" trees.
- Move a bunch of buffer level variables into the NERDTree and UI classes. - Move a bunch of buffer level variables into the NERDTree and UI classes.
- Display cascading dirs on one line to save vertical/horizontal space (@matt-gardner: brainstorming/testing) - Display cascading dirs on one line to save vertical/horizontal space (matt-gardner: brainstorming/testing)
- Remove the old style UI - Remove `NERDTreeDirArrows` option. - Remove the old style UI - Remove `NERDTreeDirArrows` option.
- On windows default to + and ~ for expand/collapse directory symbols. - On windows default to + and ~ for expand/collapse directory symbols.
- Lots more refactoring. Move a bunch of b: level vars into b:NERDTree and friends. - Lots more refactoring. Move a bunch of b: level vars into b:NERDTree and friends.
### 5.0.0 #### 5.0.0
- Refactor the code significantly: - Refactor the code significantly:
* Break the classes out into their own files. * Break the classes out into their own files.
* Make the majority of the code OO - previously large parts were effectively a tangle of "global" methods. * Make the majority of the code OO - previously large parts were effectively a tangle of "global" methods.
- Add an API to assign flags to nodes. This allows VCS plugins like https://github.com/Xuyuanp/nerdtree-git-plugin to exist. Thanks to @Xuyuanp for helping design/test/build said API. - Add an API to assign flags to nodes. This allows VCS plugins like https://github.com/Xuyuanp/nerdtree-git-plugin to exist. Thanks to **Xuyuanp** for helping design/test/build said API.
- add `scope` argument to the key map API see :help NERDTreeAddKeyMap() - add `scope` argument to the key map API see :help NERDTreeAddKeyMap()
- add magic [[dir]] and [[file]] flags to NERDTreeIgnore - add magic [[dir]] and [[file]] flags to NERDTreeIgnore
- add support for custom path filters. See :help NERDTreeAddPathFilter() - add support for custom path filters. See :help NERDTreeAddPathFilter()
@@ -139,32 +148,9 @@
- make the root note render prettier by truncating it at a path slash (gcmt) - make the root note render prettier by truncating it at a path slash (gcmt)
- remove NERDChristmasTree option - its always christmas now - remove NERDChristmasTree option - its always christmas now
- add "cascade" open and closing for dirs containing only another single dir. See :help NERDTreeCascadeOpenSingleChildDir (pendulm) - add "cascade" open and closing for dirs containing only another single dir. See :help NERDTreeCascadeOpenSingleChildDir (pendulm)
- Many other fixes, doc updates and contributions from: - Many other fixes, doc updates and contributions from: **actionshrimp**, **agrussellknives**, **alvan**, **AndrewRadev**, **cperl82** (*many small fixes*), **devmanhinton**, **egalpin**, **franksort**, **gastropoda**, **handcraftedbits**, **kelaban**, **lucascaton**, **mixvin**, **pendulm**, **SchDen**, **shanesmith**, **staeff**, **stephenprater**, **toiffel**, **Twinside**, **WoLpH**, **xiaodili**, **zhangoose**
- @actionshrimp
- @SchDen
- @egalpin
- @cperl82 - many small fixes
- @toiffel
- @WoLpH
- @handcraftedbits
- @devmanhinton
- @xiaodili
- @zhangoose
- @gastropoda
- @mixvin
- @alvan
- @lucascaton
- @kelaban
- @shanesmith
- @staeff
- @pendulm
- @stephenprater
- @franksort
- @agrussellknives
- @AndrewRadev
- @Twinside
### 4.2.0 #### 4.2.0
- Add NERDTreeDirArrows option to make the UI use pretty arrow chars instead of the old +~| chars to define the tree structure (sickill) - Add NERDTreeDirArrows option to make the UI use pretty arrow chars instead of the old +~| chars to define the tree structure (sickill)
- shift the syntax highlighting out into its own syntax file (gnap) - shift the syntax highlighting out into its own syntax file (gnap)
- add some mac specific options to the filesystem menu - for macvim only (andersonfreitas) - add some mac specific options to the filesystem menu - for macvim only (andersonfreitas)
@@ -172,69 +158,58 @@
- tweak the behaviour of :NERDTreeFind - see :help :NERDTreeFind for the new behaviour (benjamingeiger) - tweak the behaviour of :NERDTreeFind - see :help :NERDTreeFind for the new behaviour (benjamingeiger)
- if no name is given to :Bookmark, make it default to the name of the target file/dir (minyoung) - if no name is given to :Bookmark, make it default to the name of the target file/dir (minyoung)
- use `file` completion when doing copying, create, and move operations (EvanDotPro) - use `file` completion when doing copying, create, and move operations (EvanDotPro)
- lots of misc bug fixes from: - lots of misc bug fixes from: **AndrewRadev**, **Bogdanov**, **camthompson**, **kml**, **mathias**, **paddyoloughlin**, **scottstvnsn**, **sdewald**, **Vitaly**, **wycats**, me RAWR!
- @paddyoloughlin
- @sdewald
- @camthompson
- @Vitaly
- @Bogdanov
- @AndrewRadev
- @mathias
- @scottstvnsn
- @kml
- @wycats
- me RAWR!
### 4.1.0 #### 4.1.0
- features: - features:
- NERDTreeFind to reveal the node for the current buffer in the tree, see `|NERDTreeFind|`. This effectively merges the FindInNERDTree plugin (by Doug McInnes) into the script. - NERDTreeFind to reveal the node for the current buffer in the tree, see `|NERDTreeFind|`. This effectively merges the FindInNERDTree plugin (by **Doug McInnes**) into the script.
- make NERDTreeQuitOnOpen apply to the t/T keymaps too. Thanks to Stefan Ritter and Rémi Prévost. - make NERDTreeQuitOnOpen apply to the t/T keymaps too. Thanks to **Stefan Ritter** and **Rémi Prévost**.
- truncate the root node if wider than the tree window. Thanks to Victor Gonzalez. - truncate the root node if wider than the tree window. Thanks to **Victor Gonzalez**.
- bugfixes: - bugfixes:
- really fix window state restoring - really fix window state restoring
- fix some win32 path escaping issues. Thanks to Stephan Baumeister, Ricky, jfilip1024, and Chris Chambers - fix some win32 path escaping issues. Thanks to **Stephan Baumeister**, **Ricky**, **jfilip1024**, and **Chris Chambers**.
### 4.0.0 #### 4.0.0
- add a new programmable menu system (see `:help NERDTreeMenu`). - add a new programmable menu system (see `:help NERDTreeMenu`).
- add new APIs to add menus/menu-items to the menu system as well as custom key mappings to the NERD tree buffer (see `:help NERDTreeAPI`). - add new APIs to add menus/menu-items to the menu system as well as custom key mappings to the NERD tree buffer (see `:help NERDTreeAPI`).
- removed the old API functions - removed the old API functions
- added a mapping to maximize/restore the size of nerd tree window, thanks to Guillaume Duranceau for the patch. See :help NERDTree-A for details. - added a mapping to maximize/restore the size of nerd tree window, thanks to Guillaume Duranceau for the patch. See :help NERDTree-A for details.
- fix a bug where secondary nerd trees (netrw hijacked trees) and NERDTreeQuitOnOpen didnt play nicely, thanks to Curtis Harvey. - fix a bug where secondary nerd trees (netrw hijacked trees) and NERDTreeQuitOnOpen didnt play nicely, thanks to **Curtis Harvey**.
- fix a bug where the script ignored directories whose name ended in a dot, thanks to Aggelos Orfanakos for the patch. - fix a bug where the script ignored directories whose name ended in a dot, thanks to **Aggelos Orfanakos** for the patch.
- fix a bug when using the x mapping on the tree root, thanks to Bryan Venteicher for the patch. - fix a bug when using the x mapping on the tree root, thanks to **Bryan Venteicher** for the patch.
- fix a bug where the cursor position/window size of the nerd tree buffer wasnt being stored on closing the window, thanks to Richard Hart. - fix a bug where the cursor position/window size of the nerd tree buffer wasnt being stored on closing the window, thanks to **Richard Hart**.
- fix a bug where NERDTreeMirror would mirror the wrong tree - fix a bug where NERDTreeMirror would mirror the wrong tree
### 3.1.1 #### 3.1.1
- fix a bug where a non-listed no-name buffer was getting created every time the tree windows was created, thanks to Derek Wyatt and owen1 - fix a bug where a non-listed no-name buffer was getting created every time the tree windows was created, thanks to **Derek Wyatt** and **owen1**
- make `<CR>` behave the same as the `o` mapping - make `<CR>` behave the same as the `o` mapping
- some helptag fixes in the doc, thanks @strull - some helptag fixes in the doc, thanks **strull**.
- fix a bug when using `:set nohidden` and opening a file where the previous buf was modified. Thanks @iElectric - fix a bug when using `:set nohidden` and opening a file where the previous buf was modified. Thanks **iElectric**.
- other minor fixes - other minor fixes
### 3.1.0 #### 3.1.0
- New features: - New features:
- add mappings to open files in a vsplit, see `:help NERDTree-s` and `:help NERDTree-gs` - add mappings to open files in a vsplit, see `:help NERDTree-s` and `:help NERDTree-gs`
- make the statusline for the nerd tree window default to something hopefully more useful. See `:help 'NERDTreeStatusline'` - make the statusline for the nerd tree window default to something hopefully more useful. See `:help 'NERDTreeStatusline'`
- Bugfixes: - Bugfixes:
- make the hijack netrw functionality work when vim is started with `vim <some dir>` (thanks to Alf Mikula for the patch). - make the hijack netrw functionality work when vim is started with `vim <some dir>` (thanks to **Alf Mikula** for the patch).
- fix a bug where the CWD wasnt being changed for some operations even when NERDTreeChDirMode==2 (thanks to Lucas S. Buchala) - fix a bug where the CWD wasnt being changed for some operations even when NERDTreeChDirMode==2 (thanks to **Lucas S. Buchala**)
- add -bar to all the nerd tree :commands so they can chain with other :commands (thanks to tpope) - add -bar to all the nerd tree :commands so they can chain with other :commands (thanks to **tpope**)
- fix bugs when ignorecase was set (thanks to nach) - fix bugs when ignorecase was set (thanks to **nach**)
- fix a bug with the relative path code (thanks to nach) - fix a bug with the relative path code (thanks to **nach**)
- fix a bug where doing a `:cd` would cause `:NERDTreeToggle` to fail (thanks nach) - fix a bug where doing a `:cd` would cause `:NERDTreeToggle` to fail (thanks **nach**)
### 3.0.1 #### 3.0.1
- Bugfixes: - Bugfixes:
- fix bugs with :NERDTreeToggle and :NERDTreeMirror when `'hidden'` was not set - fix bugs with :NERDTreeToggle and :NERDTreeMirror when `'hidden'` was not set
- fix a bug where `:NERDTree <path>` would fail if `<path>` was relative and didnt start with a `./` or `../` Thanks to James Kanze. - fix a bug where `:NERDTree <path>` would fail if `<path>` was relative and didnt start with a `./` or `../` Thanks to **James Kanze**.
- make the `q` mapping work with secondary (`:e <dir>` style) trees, thanks to jamessan - make the `q` mapping work with secondary (`:e <dir>` style) trees, thanks to **jamessan**
- fix a bunch of small bugs with secondary trees - fix a bunch of small bugs with secondary trees
- More insane refactoring. - More insane refactoring.
### 3.0.0 #### 3.0.0
- hijack netrw so that doing an `:edit <directory>` will put a NERD tree in the window rather than a netrw browser. See :help 'NERDTreeHijackNetrw' - hijack netrw so that doing an `:edit <directory>` will put a NERD tree in the window rather than a netrw browser. See :help 'NERDTreeHijackNetrw'
- allow sharing of trees across tabs, see `:help :NERDTreeMirror` - allow sharing of trees across tabs, see `:help :NERDTreeMirror`
- remove "top" and "bottom" as valid settings for NERDTreeWinPos - remove "top" and "bottom" as valid settings for NERDTreeWinPos

View File

@@ -3,13 +3,54 @@ if exists("g:loaded_nerdtree_autoload")
endif endif
let g:loaded_nerdtree_autoload = 1 let g:loaded_nerdtree_autoload = 1
function! nerdtree#version() let s:rootNERDTreePath = resolve(expand("<sfile>:p:h:h"))
return '5.1.3' function! nerdtree#version(...)
let l:changelog = readfile(join([s:rootNERDTreePath, "CHANGELOG.md"], nerdtree#slash()))
let l:text = 'Unknown'
let l:line = 0
while l:line <= len(l:changelog)
if l:changelog[l:line] =~ '\d\+\.\d\+'
let l:text = substitute(l:changelog[l:line], '.*\(\d\+.\d\+\).*', '\1', '')
let l:text .= substitute(l:changelog[l:line+1], '^.\{-}\(\.\d\+\).\{-}:\(.*\)', a:0>0 ? '\1:\2' : '\1', '')
break
endif
let l:line += 1
endwhile
return l:text
endfunction endfunction
" SECTION: General Functions {{{1 " SECTION: General Functions {{{1
"============================================================ "============================================================
"FUNCTION: nerdtree#redraw(bang)
" Redraws the screen (Neovim uses the mode statement). If bang is TRUE, use
" redraw! instead of redraw.
function! nerdtree#redraw(bang)
if has('nvim')
mode
else
if a:bang
redraw!
else
redraw
endif
endif
endfunction
"FUNCTION: nerdtree#slash()
" Returns the directory separator based on OS and &shellslash
function! nerdtree#slash()
if nerdtree#runningWindows()
if exists('+shellslash') && &shellslash
return '/'
endif
return '\'
endif
return '/'
endfunction
"FUNCTION: nerdtree#and(x,y) {{{2 "FUNCTION: nerdtree#and(x,y) {{{2
" Implements and() function for Vim <= 7.2 " Implements and() function for Vim <= 7.2
function! nerdtree#and(x,y) function! nerdtree#and(x,y)
@@ -191,7 +232,7 @@ endfunction
"Args: "Args:
"msg: the message to echo "msg: the message to echo
function! nerdtree#echo(msg) function! nerdtree#echo(msg)
redraw call nerdtree#redraw(0)
echomsg empty(a:msg) ? "" : ("NERDTree: " . a:msg) echomsg empty(a:msg) ? "" : ("NERDTree: " . a:msg)
endfunction endfunction

View File

@@ -14,6 +14,10 @@ function! nerdtree#ui_glue#createDefaultBindings()
call NERDTreeAddKeyMap({ 'key': '<2-LeftMouse>', 'scope': "Bookmark", 'callback': s."activateBookmark" }) call NERDTreeAddKeyMap({ 'key': '<2-LeftMouse>', 'scope': "Bookmark", 'callback': s."activateBookmark" })
call NERDTreeAddKeyMap({ 'key': '<2-LeftMouse>', 'scope': "all", 'callback': s."activateAll" }) call NERDTreeAddKeyMap({ 'key': '<2-LeftMouse>', 'scope': "all", 'callback': s."activateAll" })
call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapCustomOpen, 'scope':'FileNode', 'callback': s."customOpenFile"})
call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapCustomOpen, 'scope':'DirNode', 'callback': s."customOpenDir"})
call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapCustomOpen, 'scope':'Bookmark', 'callback': s."customOpenBookmark"})
call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapCustomOpen, 'scope':'all', 'callback': s."activateAll" })
call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "DirNode", 'callback': s."activateDirNode" }) call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "DirNode", 'callback': s."activateDirNode" })
call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "FileNode", 'callback': s."activateFileNode" }) call NERDTreeAddKeyMap({ 'key': g:NERDTreeMapActivateNode, 'scope': "FileNode", 'callback': s."activateFileNode" })
@@ -76,6 +80,35 @@ endfunction
"SECTION: Interface bindings {{{1 "SECTION: Interface bindings {{{1
"============================================================ "============================================================
"FUNCTION: s:customOpenFile() {{{1
" Open file node with the "custom" key, initially <CR>.
function! s:customOpenFile(node)
call a:node.activate(s:initCustomOpenArgs().file)
endfunction
"FUNCTION: s:customOpenDir() {{{1
" Open directory node with the "custom" key, initially <CR>.
function! s:customOpenDir(node)
call s:activateDirNode(a:node, s:initCustomOpenArgs().dir)
endfunction
"FUNCTION: s:customOpenBookmark() {{{1
" Open bookmark node with the "custom" key, initially <CR>.
function! s:customOpenBookmark(node)
if a:node.path.isDirectory
call a:node.activate(b:NERDTree, s:initCustomOpenArgs().dir)
else
call a:node.activate(b:NERDTree, s:initCustomOpenArgs().file)
endif
endfunction
"FUNCTION: s:initCustomOpenArgs() {{{1
" Make sure NERDTreeCustomOpenArgs has needed keys
function! s:initCustomOpenArgs()
let g:NERDTreeCustomOpenArgs = get(g:, 'NERDTreeCustomOpenArgs', {})
return extend(g:NERDTreeCustomOpenArgs, {'file':{'reuse': 'all', 'where': 'p'}, 'dir':{}}, 'keep')
endfunction
"FUNCTION: s:activateAll() {{{1 "FUNCTION: s:activateAll() {{{1
"handle the user activating the updir line "handle the user activating the updir line
function! s:activateAll() function! s:activateAll()
@@ -84,15 +117,16 @@ function! s:activateAll()
endif endif
endfunction endfunction
" FUNCTION: s:activateDirNode(directoryNode) {{{1 " FUNCTION: s:activateDirNode(directoryNode, options) {{{1
function! s:activateDirNode(directoryNode) " Open a directory with optional options
function! s:activateDirNode(directoryNode, ...)
if a:directoryNode.isRoot() && a:directoryNode.isOpen if a:directoryNode.isRoot() && a:directoryNode.isOpen
call nerdtree#echo('cannot close tree root') call nerdtree#echo('cannot close tree root')
return return
endif endif
call a:directoryNode.activate() call a:directoryNode.activate((a:0 > 0) ? a:1 : {})
endfunction endfunction
"FUNCTION: s:activateFileNode() {{{1 "FUNCTION: s:activateFileNode() {{{1
@@ -220,7 +254,7 @@ function! s:deleteBookmark(bookmark)
let l:choices = "&Yes\n&No" let l:choices = "&Yes\n&No"
echo | redraw echo | call nerdtree#redraw(0)
let l:selection = confirm(l:message, l:choices, 1, 'Warning') let l:selection = confirm(l:message, l:choices, 1, 'Warning')
if l:selection != 1 if l:selection != 1
@@ -232,7 +266,7 @@ function! s:deleteBookmark(bookmark)
call a:bookmark.delete() call a:bookmark.delete()
silent call b:NERDTree.root.refresh() silent call b:NERDTree.root.refresh()
call b:NERDTree.render() call b:NERDTree.render()
echo | redraw echo | call nerdtree#redraw(0)
catch /^NERDTree/ catch /^NERDTree/
call nerdtree#echoWarning('could not remove bookmark') call nerdtree#echoWarning('could not remove bookmark')
endtry endtry
@@ -543,7 +577,7 @@ function! s:refreshRoot()
call nerdtree#exec(g:NERDTree.GetWinNum() . "wincmd w") call nerdtree#exec(g:NERDTree.GetWinNum() . "wincmd w")
call b:NERDTree.root.refresh() call b:NERDTree.root.refresh()
call b:NERDTree.render() call b:NERDTree.render()
redraw call nerdtree#redraw(0)
call nerdtree#exec(l:curWin . "wincmd w") call nerdtree#exec(l:curWin . "wincmd w")
call nerdtree#echo("") call nerdtree#echo("")
endfunction endfunction

View File

@@ -247,12 +247,12 @@ i........Open selected file in a split window.......................|NERDTree-i|
gi.......Same as i, but leave the cursor on the NERDTree...........|NERDTree-gi| gi.......Same as i, but leave the cursor on the NERDTree...........|NERDTree-gi|
s........Open selected file in a new vsplit.........................|NERDTree-s| s........Open selected file in a new vsplit.........................|NERDTree-s|
gs.......Same as s, but leave the cursor on the NERDTree...........|NERDTree-gs| gs.......Same as s, but leave the cursor on the NERDTree...........|NERDTree-gs|
<CR>.....User-definable custom open action.......................|NERDTree-<CR>|
O........Recursively open the selected directory....................|NERDTree-O| O........Recursively open the selected directory....................|NERDTree-O|
x........Close the current nodes parent.............................|NERDTree-x| x........Close the current nodes parent.............................|NERDTree-x|
X........Recursively close all children of the current node.........|NERDTree-X| X........Recursively close all children of the current node.........|NERDTree-X|
e........Edit the current dir.......................................|NERDTree-e| e........Edit the current dir.......................................|NERDTree-e|
<CR>............same as |NERDTree-o|.
double-click....same as |NERDTree-o|. double-click....same as |NERDTree-o|.
middle-click....same as |NERDTree-i| for files, and |NERDTree-e| for dirs. middle-click....same as |NERDTree-i| for files, and |NERDTree-e| for dirs.
@@ -319,7 +319,7 @@ The default key combo for this mapping is "g" + NERDTreeMapActivateNode (see
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-t* *NERDTree-t*
Default key: t Default key: t
Map setting: NERDTreeMapOpenInTab Map setting: *NERDTreeMapOpenInTab*
Applies to: files and directories. Applies to: files and directories.
Opens the selected file in a new tab. If a directory is selected, a fresh Opens the selected file in a new tab. If a directory is selected, a fresh
@@ -332,7 +332,7 @@ in a new tab.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-T* *NERDTree-T*
Default key: T Default key: T
Map setting: NERDTreeMapOpenInTabSilent Map setting: *NERDTreeMapOpenInTabSilent*
Applies to: files and directories. Applies to: files and directories.
The same as |NERDTree-t| except that the focus is kept in the current tab. The same as |NERDTree-t| except that the focus is kept in the current tab.
@@ -340,7 +340,7 @@ The same as |NERDTree-t| except that the focus is kept in the current tab.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-i* *NERDTree-i*
Default key: i Default key: i
Map setting: NERDTreeMapOpenSplit Map setting: *NERDTreeMapOpenSplit*
Applies to: files. Applies to: files.
Opens the selected file in a new split window and puts the cursor in the new Opens the selected file in a new split window and puts the cursor in the new
@@ -349,7 +349,7 @@ window.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-gi* *NERDTree-gi*
Default key: gi Default key: gi
Map setting: NERDTreeMapPreviewSplit Map setting: *NERDTreeMapPreviewSplit*
Applies to: files. Applies to: files.
The same as |NERDTree-i| except that the cursor is not moved. The same as |NERDTree-i| except that the cursor is not moved.
@@ -360,7 +360,7 @@ The default key combo for this mapping is "g" + NERDTreeMapOpenSplit (see
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-s* *NERDTree-s*
Default key: s Default key: s
Map setting: NERDTreeMapOpenVSplit Map setting: *NERDTreeMapOpenVSplit*
Applies to: files. Applies to: files.
Opens the selected file in a new vertically split window and puts the cursor Opens the selected file in a new vertically split window and puts the cursor
@@ -369,7 +369,7 @@ in the new window.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-gs* *NERDTree-gs*
Default key: gs Default key: gs
Map setting: NERDTreeMapPreviewVSplit Map setting: *NERDTreeMapPreviewVSplit*
Applies to: files. Applies to: files.
The same as |NERDTree-s| except that the cursor is not moved. The same as |NERDTree-s| except that the cursor is not moved.
@@ -377,10 +377,19 @@ The same as |NERDTree-s| except that the cursor is not moved.
The default key combo for this mapping is "g" + NERDTreeMapOpenVSplit (see The default key combo for this mapping is "g" + NERDTreeMapOpenVSplit (see
|NERDTree-s|). |NERDTree-s|).
------------------------------------------------------------------------------
*NERDTree-<CR>*
Default key: <CR>
Map setting: *NERDTreeMapCustomOpen*
Applies to: files, directories, and bookmarks
Performs a customized open action on the selected node. This allows the user
to define an action that behaves differently from any of the standard
keys. See |NERDTreeCustomOpenArgs| for more details.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-O* *NERDTree-O*
Default key: O Default key: O
Map setting: NERDTreeMapOpenRecursively Map setting: *NERDTreeMapOpenRecursively*
Applies to: directories. Applies to: directories.
Recursively opens the selected directory. Recursively opens the selected directory.
@@ -393,7 +402,7 @@ cached. This is handy, especially if you have .svn directories.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-x* *NERDTree-x*
Default key: x Default key: x
Map setting: NERDTreeMapCloseDir Map setting: *NERDTreeMapCloseDir*
Applies to: files and directories. Applies to: files and directories.
Closes the parent of the selected node. Closes the parent of the selected node.
@@ -401,7 +410,7 @@ Closes the parent of the selected node.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-X* *NERDTree-X*
Default key: X Default key: X
Map setting: NERDTreeMapCloseChildren Map setting: *NERDTreeMapCloseChildren*
Applies to: directories. Applies to: directories.
Recursively closes all children of the selected directory. Recursively closes all children of the selected directory.
@@ -411,7 +420,7 @@ Tip: To quickly "reset" the tree, use |NERDTree-P| with this mapping.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-e* *NERDTree-e*
Default key: e Default key: e
Map setting: NERDTreeMapOpenExpl Map setting: *NERDTreeMapOpenExpl*
Applies to: files and directories. Applies to: files and directories.
|:edit|s the selected directory, or the selected file's directory. This could |:edit|s the selected directory, or the selected file's directory. This could
@@ -421,7 +430,7 @@ result in a NERDTree or a netrw being opened, depending on
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-D* *NERDTree-D*
Default key: D Default key: D
Map setting: NERDTreeMapDeleteBookmark Map setting: *NERDTreeMapDeleteBookmark*
Applies to: lines in the bookmarks table Applies to: lines in the bookmarks table
Deletes the currently selected bookmark. Deletes the currently selected bookmark.
@@ -429,7 +438,7 @@ Deletes the currently selected bookmark.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-P* *NERDTree-P*
Default key: P Default key: P
Map setting: NERDTreeMapJumpRoot Map setting: *NERDTreeMapJumpRoot*
Applies to: no restrictions. Applies to: no restrictions.
Jump to the tree root. Jump to the tree root.
@@ -437,7 +446,7 @@ Jump to the tree root.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-p* *NERDTree-p*
Default key: p Default key: p
Map setting: NERDTreeMapJumpParent Map setting: *NERDTreeMapJumpParent*
Applies to: files and directories. Applies to: files and directories.
Jump to the parent node of the selected node. Jump to the parent node of the selected node.
@@ -445,7 +454,7 @@ Jump to the parent node of the selected node.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-K* *NERDTree-K*
Default key: K Default key: K
Map setting: NERDTreeMapJumpFirstChild Map setting: *NERDTreeMapJumpFirstChild*
Applies to: files and directories. Applies to: files and directories.
Jump to the first child of the current nodes parent. Jump to the first child of the current nodes parent.
@@ -458,7 +467,7 @@ If the cursor is already on the first node then do the following:
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-J* *NERDTree-J*
Default key: J Default key: J
Map setting: NERDTreeMapJumpLastChild Map setting: *NERDTreeMapJumpLastChild*
Applies to: files and directories. Applies to: files and directories.
Jump to the last child of the current nodes parent. Jump to the last child of the current nodes parent.
@@ -471,7 +480,7 @@ If the cursor is already on the last node then do the following:
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-C-J* *NERDTree-C-J*
Default key: <C-J> Default key: <C-J>
Map setting: NERDTreeMapJumpNextSibling Map setting: *NERDTreeMapJumpNextSibling*
Applies to: files and directories. Applies to: files and directories.
Jump to the next sibling of the selected node. Jump to the next sibling of the selected node.
@@ -479,7 +488,7 @@ Jump to the next sibling of the selected node.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-C-K* *NERDTree-C-K*
Default key: <C-K> Default key: <C-K>
Map setting: NERDTreeMapJumpPrevSibling Map setting: *NERDTreeMapJumpPrevSibling*
Applies to: files and directories. Applies to: files and directories.
Jump to the previous sibling of the selected node. Jump to the previous sibling of the selected node.
@@ -487,7 +496,7 @@ Jump to the previous sibling of the selected node.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-C* *NERDTree-C*
Default key: C Default key: C
Map setting: NERDTreeMapChangeRoot Map setting: *NERDTreeMapChangeRoot*
Applies to: files and directories. Applies to: files and directories.
Make the selected directory node the new tree root. If a file is selected, its Make the selected directory node the new tree root. If a file is selected, its
@@ -496,7 +505,7 @@ parent is used.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-u* *NERDTree-u*
Default key: u Default key: u
Map setting: NERDTreeMapUpdir Map setting: *NERDTreeMapUpdir*
Applies to: no restrictions. Applies to: no restrictions.
Move the tree root up a dir (like doing a "cd .."). Move the tree root up a dir (like doing a "cd ..").
@@ -504,7 +513,7 @@ Move the tree root up a dir (like doing a "cd ..").
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-U* *NERDTree-U*
Default key: U Default key: U
Map setting: NERDTreeMapUpdirKeepOpen Map setting: *NERDTreeMapUpdirKeepOpen*
Applies to: no restrictions. Applies to: no restrictions.
Like |NERDTree-u| except that the old tree root is kept open. Like |NERDTree-u| except that the old tree root is kept open.
@@ -512,7 +521,7 @@ Like |NERDTree-u| except that the old tree root is kept open.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-r* *NERDTree-r*
Default key: r Default key: r
Map setting: NERDTreeMapRefresh Map setting: *NERDTreeMapRefresh*
Applies to: files and directories. Applies to: files and directories.
If a dir is selected, recursively refresh that dir, i.e. scan the filesystem If a dir is selected, recursively refresh that dir, i.e. scan the filesystem
@@ -523,7 +532,7 @@ If a file node is selected then the above is done on it's parent.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-R* *NERDTree-R*
Default key: R Default key: R
Map setting: NERDTreeMapRefreshRoot Map setting: *NERDTreeMapRefreshRoot*
Applies to: no restrictions. Applies to: no restrictions.
Recursively refresh the tree root. Recursively refresh the tree root.
@@ -531,7 +540,7 @@ Recursively refresh the tree root.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-m* *NERDTree-m*
Default key: m Default key: m
Map setting: NERDTreeMapMenu Map setting: *NERDTreeMapMenu*
Applies to: files and directories. Applies to: files and directories.
Display the NERDTree menu. See |NERDTreeMenu| for details. Display the NERDTree menu. See |NERDTreeMenu| for details.
@@ -539,7 +548,7 @@ Display the NERDTree menu. See |NERDTreeMenu| for details.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-cd* *NERDTree-cd*
Default key: cd Default key: cd
Map setting: NERDTreeMapChdir Map setting: *NERDTreeMapChdir*
Applies to: files and directories. Applies to: files and directories.
Change Vim's current working directory to that of the selected node. Change Vim's current working directory to that of the selected node.
@@ -547,7 +556,7 @@ Change Vim's current working directory to that of the selected node.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-CD* *NERDTree-CD*
Default key: CD Default key: CD
Map setting: NERDTreeMapCWD Map setting: *NERDTreeMapCWD*
Applies to: no restrictions. Applies to: no restrictions.
Change the NERDTree root to Vim's current working directory. Change the NERDTree root to Vim's current working directory.
@@ -555,7 +564,7 @@ Change the NERDTree root to Vim's current working directory.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-I* *NERDTree-I*
Default key: I Default key: I
Map setting: NERDTreeMapToggleHidden Map setting: *NERDTreeMapToggleHidden*
Applies to: no restrictions. Applies to: no restrictions.
Toggles whether hidden files (i.e. "dot files") are displayed. Toggles whether hidden files (i.e. "dot files") are displayed.
@@ -563,7 +572,7 @@ Toggles whether hidden files (i.e. "dot files") are displayed.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-f* *NERDTree-f*
Default key: f Default key: f
Map setting: NERDTreeMapToggleFilters Map setting: *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.
@@ -571,7 +580,7 @@ Toggles whether file filters are used. See |NERDTreeIgnore| for details.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-F* *NERDTree-F*
Default key: F Default key: F
Map setting: NERDTreeMapToggleFiles Map setting: *NERDTreeMapToggleFiles*
Applies to: no restrictions. Applies to: no restrictions.
Toggles whether file nodes are displayed. Toggles whether file nodes are displayed.
@@ -579,7 +588,7 @@ Toggles whether file nodes are displayed.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-B* *NERDTree-B*
Default key: B Default key: B
Map setting: NERDTreeMapToggleBookmarks Map setting: *NERDTreeMapToggleBookmarks*
Applies to: no restrictions. Applies to: no restrictions.
Toggles whether the bookmarks table is displayed. Toggles whether the bookmarks table is displayed.
@@ -587,7 +596,7 @@ Toggles whether the bookmarks table is displayed.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-q* *NERDTree-q*
Default key: q Default key: q
Map setting: NERDTreeMapQuit Map setting: *NERDTreeMapQuit*
Applies to: no restrictions. Applies to: no restrictions.
Closes the NERDTree window. Closes the NERDTree window.
@@ -595,7 +604,7 @@ Closes the NERDTree window.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-A* *NERDTree-A*
Default key: A Default key: A
Map setting: NERDTreeMapToggleZoom Map setting: *NERDTreeMapToggleZoom*
Applies to: no restrictions. Applies to: no restrictions.
Maximize (zoom) and minimize the NERDTree window. Maximize (zoom) and minimize the NERDTree window.
@@ -603,7 +612,7 @@ Maximize (zoom) and minimize the NERDTree window.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-?* *NERDTree-?*
Default key: ? Default key: ?
Map setting: NERDTreeMapHelp Map setting: *NERDTreeMapHelp*
Applies to: no restrictions. Applies to: no restrictions.
Toggles whether the quickhelp is displayed. Toggles whether the quickhelp is displayed.
@@ -625,7 +634,7 @@ Related tags: |NERDTree-m| |NERDTreeApi|
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeMenu-j* *NERDTreeMenu-j*
Default key: j Default key: j
Map option: NERDTreeMenuDown Map option: *NERDTreeMenuDown*
Applies to: The NERDTree menu. Applies to: The NERDTree menu.
Moves the cursor down. Moves the cursor down.
@@ -633,7 +642,7 @@ Moves the cursor down.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTreeMenu-k* *NERDTreeMenu-k*
Default key: k Default key: k
Map option: NERDTreeMenuUp Map option: *NERDTreeMenuUp*
Applies to: The NERDTree menu. Applies to: The NERDTree menu.
Moves the cursor up. Moves the cursor up.
@@ -754,6 +763,9 @@ the NERDTree. These settings should be set in your vimrc, using `:let`.
file or directory name from the rest of the file or directory name from the rest of the
characters on the line of text. characters on the line of text.
|NERDTreeCustomOpenArgs| A dictionary with values that control how a node
is opened with the |NERDTree-<CR>| key.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
3.2. Customisation details *NERDTreeSettingsDetails* 3.2. Customisation details *NERDTreeSettingsDetails*
@@ -1233,6 +1245,32 @@ when specifying by hex or Unicode. >
let NERDTreeNodeDelimiter="\u00a0" "non-breaking space let NERDTreeNodeDelimiter="\u00a0" "non-breaking space
let NERDTreeNodeDelimiter="😀" "smiley face let NERDTreeNodeDelimiter="😀" "smiley face
< <
------------------------------------------------------------------------------
*NERDTreeCustomOpenArgs*
Values: A nested dictionary, as described below
Default: {'file': {'reuse': 'all', 'where': 'p'}, 'dir': {}}
This dictionary contains two keys, 'file' and 'dir', whose values each are
another dictionary. The inner dictionary is a set of parameters used by
|NERDTree-<CR>| to open a file or directory. Setting these parameters allows you
to customize the way the node is opened. The default value matches what
|NERDTree-o| does. To change that behavior, use these keys and
values in the inner dictionaries:
'where': specifies whether the node should be opened in a new split ("h" or
"v"), in a new tab ("t") or, in the last window ("p").
'reuse': if file is already shown in a window, jump there; takes values
"all", "currenttab", or empty
'keepopen': boolean (0 or 1); if true, the tree window will not be closed
'stay': boolean (0 or 1); if true, remain in tree window after opening
For example:
To open files and directories (creating a new NERDTree) in a new tab, >
{'file':{'where': 't'}, 'dir':{'where':'t'}}
<
To open a file always in the current tab, and expand directories in place, >
{'file': {'reuse':'currenttab', 'where':'p', 'keepopen':1, 'stay':1}}
<
============================================================================== ==============================================================================
4. The NERDTree API *NERDTreeAPI* 4. The NERDTree API *NERDTreeAPI*

View File

@@ -13,9 +13,6 @@ let g:NERDTreeCreator = s:Creator
" FUNCTION: s:Creator._bindMappings() {{{1 " FUNCTION: s:Creator._bindMappings() {{{1
function! s:Creator._bindMappings() function! s:Creator._bindMappings()
"make <cr> do the same as the activate node mapping
nnoremap <silent> <buffer> <cr> :call nerdtree#ui_glue#invokeKeyMap(g:NERDTreeMapActivateNode)<cr>
call g:NERDTreeKeyMap.BindAll() call g:NERDTreeKeyMap.BindAll()
command! -buffer -nargs=? Bookmark :call nerdtree#ui_glue#bookmarkNode('<args>') command! -buffer -nargs=? Bookmark :call nerdtree#ui_glue#bookmarkNode('<args>')

View File

@@ -31,7 +31,7 @@ function! s:MenuController.showMenu()
let l:done = 0 let l:done = 0
while !l:done while !l:done
redraw! call nerdtree#redraw(1)
call self._echoPrompt() call self._echoPrompt()
let l:key = nr2char(getchar()) let l:key = nr2char(getchar())
@@ -42,7 +42,7 @@ function! s:MenuController.showMenu()
" Redraw when "Ctrl-C" or "Esc" is received. " Redraw when "Ctrl-C" or "Esc" is received.
if !l:done || self.selection == -1 if !l:done || self.selection == -1
redraw! call nerdtree#redraw(1)
endif endif
endtry endtry

View File

@@ -28,7 +28,6 @@ function! s:UI._dumpHelp()
let help .= "\" ============================\n" let help .= "\" ============================\n"
let help .= "\" File node mappings~\n" let help .= "\" File node mappings~\n"
let help .= "\" ". (g:NERDTreeMouseMode ==# 3 ? "single" : "double") ."-click,\n" let help .= "\" ". (g:NERDTreeMouseMode ==# 3 ? "single" : "double") ."-click,\n"
let help .= "\" <CR>,\n"
if self.nerdtree.isTabTree() if self.nerdtree.isTabTree()
let help .= "\" ". g:NERDTreeMapActivateNode .": open in prev window\n" let help .= "\" ". g:NERDTreeMapActivateNode .": open in prev window\n"
else else
@@ -44,6 +43,7 @@ function! s:UI._dumpHelp()
let help .= "\" ". g:NERDTreeMapPreviewSplit .": preview split\n" let help .= "\" ". g:NERDTreeMapPreviewSplit .": preview split\n"
let help .= "\" ". g:NERDTreeMapOpenVSplit .": open vsplit\n" let help .= "\" ". g:NERDTreeMapOpenVSplit .": open vsplit\n"
let help .= "\" ". g:NERDTreeMapPreviewVSplit .": preview vsplit\n" let help .= "\" ". g:NERDTreeMapPreviewVSplit .": preview vsplit\n"
let help .= "\" ". g:NERDTreeMapCustomOpen .": custom open\n"
let help .= "\"\n\" ----------------------------\n" let help .= "\"\n\" ----------------------------\n"
let help .= "\" Directory node mappings~\n" let help .= "\" Directory node mappings~\n"
@@ -52,6 +52,7 @@ function! s:UI._dumpHelp()
let help .= "\" ". g:NERDTreeMapOpenRecursively .": recursively open node\n" let help .= "\" ". g:NERDTreeMapOpenRecursively .": recursively open node\n"
let help .= "\" ". g:NERDTreeMapOpenInTab.": open in new tab\n" let help .= "\" ". g:NERDTreeMapOpenInTab.": open in new tab\n"
let help .= "\" ". g:NERDTreeMapOpenInTabSilent .": open in new tab silently\n" let help .= "\" ". g:NERDTreeMapOpenInTabSilent .": open in new tab silently\n"
let help .= "\" ". g:NERDTreeMapCustomOpen .": custom open\n"
let help .= "\" ". g:NERDTreeMapCloseDir .": close parent of node\n" let help .= "\" ". g:NERDTreeMapCloseDir .": close parent of node\n"
let help .= "\" ". g:NERDTreeMapCloseChildren .": close all child nodes of\n" let help .= "\" ". g:NERDTreeMapCloseChildren .": close all child nodes of\n"
let help .= "\" current node recursively\n" let help .= "\" current node recursively\n"
@@ -66,6 +67,7 @@ function! s:UI._dumpHelp()
let help .= "\" ". g:NERDTreeMapPreview .": find dir in tree\n" let help .= "\" ". g:NERDTreeMapPreview .": find dir in tree\n"
let help .= "\" ". g:NERDTreeMapOpenInTab.": open in new tab\n" let help .= "\" ". g:NERDTreeMapOpenInTab.": open in new tab\n"
let help .= "\" ". g:NERDTreeMapOpenInTabSilent .": open in new tab silently\n" let help .= "\" ". g:NERDTreeMapOpenInTabSilent .": open in new tab silently\n"
let help .= "\" ". g:NERDTreeMapCustomOpen .": custom open\n"
let help .= "\" ". g:NERDTreeMapDeleteBookmark .": delete bookmark\n" let help .= "\" ". g:NERDTreeMapDeleteBookmark .": delete bookmark\n"
let help .= "\"\n\" ----------------------------\n" let help .= "\"\n\" ----------------------------\n"
@@ -252,7 +254,7 @@ endfunction
" gets the line number of the root node " gets the line number of the root node
function! s:UI.getRootLineNum() function! s:UI.getRootLineNum()
let rootLine = 1 let rootLine = 1
while getline(rootLine) !~# '^\(/\|<\)' while rootLine <= line('$') && getline(rootLine) !~# '^\(/\|<\)'
let rootLine = rootLine + 1 let rootLine = rootLine + 1
endwhile endwhile
return rootLine return rootLine

View File

@@ -78,7 +78,7 @@ function! s:inputPrompt(action)
endif endif
if g:NERDTreeMenuController.isMinimal() if g:NERDTreeMenuController.isMinimal()
redraw! " Clear the menu call nerdtree#redraw(1) " Clear the menu
return minimal . " " return minimal . " "
else else
let divider = "==========================================================" let divider = "=========================================================="
@@ -185,7 +185,7 @@ function! NERDTreeAddNode()
call newTreeNode.putCursorHere(1, 0) call newTreeNode.putCursorHere(1, 0)
endif endif
redraw! call nerdtree#redraw(1)
catch /^NERDTree/ catch /^NERDTree/
call nerdtree#echoWarning("Node Not Created.") call nerdtree#echoWarning("Node Not Created.")
endtry endtry
@@ -234,7 +234,7 @@ function! NERDTreeMoveNode()
call curNode.putCursorHere(1, 0) call curNode.putCursorHere(1, 0)
redraw! call nerdtree#redraw(1)
catch /^NERDTree/ catch /^NERDTree/
call nerdtree#echoWarning("Node Not Renamed.") call nerdtree#echoWarning("Node Not Renamed.")
endtry endtry
@@ -272,7 +272,7 @@ function! NERDTreeDeleteNode()
call s:promptToDelBuffer(bufnum, prompt) call s:promptToDelBuffer(bufnum, prompt)
endif endif
redraw! call nerdtree#redraw(1)
catch /^NERDTree/ catch /^NERDTree/
call nerdtree#echoWarning("Could not remove node") call nerdtree#echoWarning("Could not remove node")
endtry endtry
@@ -362,7 +362,7 @@ function! NERDTreeCopyNode()
call nerdtree#echo("Copy aborted.") call nerdtree#echo("Copy aborted.")
endif endif
let &shellslash = l:shellslash let &shellslash = l:shellslash
redraw! call nerdtree#redraw(1)
endfunction endfunction
" FUNCTION: NERDTreeCopyPath() {{{1 " FUNCTION: NERDTreeCopyPath() {{{1

View File

@@ -121,6 +121,7 @@ endif
"SECTION: Init variable calls for key mappings {{{2 "SECTION: Init variable calls for key mappings {{{2
call s:initVariable("g:NERDTreeMapCustomOpen", "<CR>")
call s:initVariable("g:NERDTreeMapActivateNode", "o") call s:initVariable("g:NERDTreeMapActivateNode", "o")
call s:initVariable("g:NERDTreeMapChangeRoot", "C") call s:initVariable("g:NERDTreeMapChangeRoot", "C")
call s:initVariable("g:NERDTreeMapChdir", "cd") call s:initVariable("g:NERDTreeMapChdir", "cd")