- Replace strchars() with backward compatible workaround.
- Add support for copy command in Windows (@SkylerLipthay) #231
- Fixed typo in README.markdown - :Helptags -> :helptags
- Rename "primary" and "secondary" trees to "tab" and "window" trees.
- 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)
- Remove the old style UI - Remove `NERDTreeDirArrows` option.
- 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.
### 5.0.0
- Refactor the code significantly:
* 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.
- 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 magic [[dir]] and [[file]] flags to NERDTreeIgnore
- add support for custom path filters. See :help NERDTreeAddPathFilter()
- add path listener API. See :help NERDTreePathListenerAPI.
- expand the fs menu functionality to list file properties (@PhilRunninger, @apbarrero, @JESii)
- make bookmarks work with `~` home shortcuts (@hiberabyss)
- show OSX specific fsmenu options in regular vim on mac (@evindor)
- make dir arrow icons configurable (@PickRelated)
- optimise node sorting performance when opening large dirs (@vtsang)
- make the root note render prettier by truncating it at a path slash (@gcmt)
- remove NERDChristmasTree option - its always christmas now
- add "cascade" open and closing for dirs containing only another single dir. See :help NERDTreeCascadeOpenSingleChildDir (@pendulm)
- Many other fixes, doc updates and contributions from:
-@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
- 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)
- add some mac specific options to the filesystem menu - for macvim only (@andersonfreitas)
- Add NERDTreeMinimalUI option to remove some non functional parts of the nerdtree ui (@camthompson)
- 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)
- use `file` completion when doing copying, create, and move operations (@EvanDotPro)
- lots of misc bug fixes from:
-@paddyoloughlin
-@sdewald
-@camthompson
-@Vitaly
-@Bogdanov
-@AndrewRadev
-@mathias
-@scottstvnsn
-@kml
-@wycats
- me RAWR!
### 4.1.0
- 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.
- 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.
- bugfixes:
- really fix window state restoring
- fix some win32 path escaping issues. Thanks to Stephan Baumeister, Ricky, jfilip1024, and Chris Chambers
### 4.0.0
- 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`).
- 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.
- 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 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 NERDTreeMirror would mirror the wrong tree
### 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
- make `<CR>` behave the same as the `o` mapping
- 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
- other minor fixes
### 3.1.0
- New features:
- 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'`
- Bugfixes:
- 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)
- 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 a bug with the relative path code (thanks to @nach)
- fix a bug where doing a `:cd` would cause `:NERDTreeToggle` to fail (thanks @nach)
### 3.0.1
- Bugfixes:
- 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.
- make the `q` mapping work with secondary (`:e <dir>` style) trees, thanks to @jamessan
- fix a bunch of small bugs with secondary trees
- More insane refactoring.
### 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'
- allow sharing of trees across tabs, see `:help :NERDTreeMirror`
- remove "top" and "bottom" as valid settings for NERDTreeWinPos