Commit Graph

505 Commits

Author SHA1 Message Date
Martin Grenfell
76dbc0c8ee Merge branch 'add_path_filter_api' 2015-05-06 20:58:55 +01:00
Martin Grenfell
da3874cf93 fix a bug when opening files in a new tab
On bufleave we save the nerdtree window state. However, sometimes when
bufleave is triggered the tree is no longer open in this tab - e.g. for
secondary trees or mappings that open in another tab. Dont bother saving
screen state in these cases as the code doing the saving assumes the
tree is available in this tab.
2015-05-04 20:25:43 +01:00
Martin Grenfell
64a9579c11 add a path filter API
Add an API to allow custom "path filter callbacks" to be added.

Previously we allowed one path filtering function to exist called
`NERDTreeCustomIgnoreFilter`. This has been removed and replaced with an
API to allow any number of such functions to exist -  via the new
`NERDTreeAddPathFilter()`
2015-05-02 22:21:41 +01:00
Martin Grenfell
8b189cb263 move some rendering and cursor moving functions out of autoload 2015-05-02 15:24:59 +01:00
Martin Grenfell
0d88ce946f move isTreeOpen() out of autoload 2015-05-02 14:44:32 +01:00
Martin Grenfell
aa831e242b Merge pull request #356 from alvan/patch-2
Use event BufLeave instead of BufWinLeave to record screen state
2014-07-14 10:03:01 +01:00
Martin Grenfell
0c045d85ea fix a bug from recent refactoring RE some NERDTreeCWD 2014-07-14 09:43:45 +01:00
alvan
98a5d1fca7 Use event BufLeave instead of BufWinLeave to record screen state to avoid undefined b:NERDTree error
Use event BufLeave instead of BufWinLeave to record screen state. The BufWinLeave event also triggered when exiting(:qa), will cause an undefined b:NERDTree error.
2014-07-09 15:20:24 +08:00
Martin Grenfell
23dfc6d818 continue breaking down the epic autoload module
Add 2 new classes and move code into them from autoload:

* NERDTree. Each nerdtree buffer now has a NERDTree object that holds
  the root node and will old other util functions
* UI. Each NERDTree object holds a UI object which is responsible for
  rendering, getting the current node, etc

Still a fair few methods to sort through in autoload (many of which will
end up in the above classes) - need sleep though.
2014-07-07 22:59:28 +01:00
Martin Grenfell
f982f61e8a continue breaking up the autoload/nerdtree god module 2014-07-07 21:34:57 +01:00
Martin Grenfell
b33d6daf0b remove the NERDChristmasTree option
If users want to customise the tree colours, this can be done trivially
in their vimrc. e.g.

    hi link NERDTreeFile error
2014-06-29 19:53:57 +01:00
Martin Grenfell
0928b5b026 Merge pull request #251 from pendulm/master
fix typo and smart close single child directory
2014-06-27 19:25:48 +01:00
Martin Grenfell
8b48413155 rename NERDTreeWildIgnore option and refactor the usage of it
Rename it to the more intention revealing NERDTreeRespectWildIgnore.

Use it directly in the `globpath()` call rather than surrounding if
statement. Its subjective, but I find this clearer.

Add an initializer for the option.
2014-06-26 10:02:42 +01:00
Martin Grenfell
23d2d19846 Merge pull request #331 from jinnko/add-bookmarks-sort-flag
Add flag to disable/enable bookmark sorting
2014-06-26 09:27:58 +01:00
Jaeho Shin
43842e0de5 Option for mixing dot files when sorting
NERDTree can now optionally ignore the dot at the beginning of hidden
filenames for sorting to show them next to normal files if
`g:NERDTreeSortHiddenFirst` is set to 0.  (By default it's set to 1 to
preserve the current behavior.)  This is just like what GNU ls does when
`LC_COLLATE` environment variable is set to `en_US`.
2014-06-09 23:11:44 -07:00
Jinn Koriech
e38d8a8340 Add flag to disable/enable bookmark sorting
The bookmarks are normally sorted, however with a newly introduced
flag this can be disabled.
2014-04-24 15:51:55 +01:00
pendulm
60683f1cce Fix typo Casade to Cascade 2013-04-22 23:35:15 +08:00
Martin Grenfell
eaf19734e7 move the class files out of the plugin dir
On some new versions of vim these files were being loaded before the
main NERD_tree.vim which was causing errors as dependencies werent
loaded in time. Move the classes into lib - so vim wont try to load them
until we tell it
2013-04-13 20:32:25 +01:00
Martin Grenfell
9a341ec18f fix a bug where the user couldnt override the mapping for <cr> 2013-04-09 10:10:14 +01:00
Martin Grenfell
40d05ace57 catch an error thrown when refreshing a dir with a FIFO or socket 2013-01-30 13:54:30 +00:00
Martin Grenfell
64cb6204cc move a couple of functions into NERDTreeCreator
The "next buffer name" functions are only used in NERDTreeCreator so put
them there.
2013-01-09 09:51:28 +00:00
Martin Grenfell
c3b63d2fd9 add some class methods to wrap the NERDTreeCreator public methods
This is needed because some versions of vim dont let you chain method
calls together. So do the work in NERDTreeCreator instead of forcing all
callers to break the New().createXXX() calls out onto 2 lines with an
intermediate variable.

Fixes #226.
2013-01-09 00:43:37 +00:00
Dmitry Kasimtsev
f5956dbbcf fixed error messages on copy node in NERDTree buffer 2013-01-08 17:17:04 +02:00
Martin Grenfell
25b80b8a16 extract the tree creation functions out into their own class
Add the NERDTreeCreator class.

Stick all functions related to creating a primary/secondary/mirror
nerdtree in there. We may break this down further in the future, but
this is a good starting point.

Make some of the interface binding functions in autoload/nerdtree
public. This is needed since we are accessing some of them from
NERDTreeCreator. Should be temporary until we get some kind of proper
interface binding system set up.
2013-01-08 00:04:30 +00:00
Martin Grenfell
29d3db8ffe fix a couple of function calls that should have been renamed
Call nerdtree#echo, not s:echo. This was changed in the big refactor.

Fixes #224.
2013-01-06 00:56:22 +00:00
Martin Grenfell
2eff928e7c some cosmetic updates to the class files
* fix the fold markers (they were unnecessarily deep)
* always have one line under each method
* update some of the fold comments -> always use FUNCTION in all caps
* add a modeline to each class file
2013-01-05 12:30:07 +00:00
Martin Grenfell
cc0777b792 move KeyMap_Invoke into the autoload file
This will keep the class file cleaner, and may also fix #223
2013-01-05 11:44:48 +00:00
Martin Grenfell
8a984260e7 manually apply #220 to fix NERDTreeFind for hidden dirs 2013-01-05 01:48:13 +00:00
Martin Grenfell
fb4a5a116a decompose the giant NERD_tree.vim file
* Move the classes out into `plugin/nerdtree/<classname>`.
* Move the other functions out into `autoload/nerdtree.vim`.

Stuff still to do:

* extract out at least one view class from `autoload/nerdtree` -
  something like NERDTreeWindow
* figure out which functions in autoload/nerdtree should be scoped to
  the script instead of public
2013-01-05 01:08:06 +00:00
Chris Perl
bb1390c0c7 Fix s:Path.Resolve to it handles '/' properly 2012-12-10 14:44:01 -05:00
Martin Grenfell
1dc3891f96 Merge pull request #204 from techlivezheng/feature/chrootcwd
Add a NERDTreeCWD command to change tree root to CWD
2012-11-12 02:10:45 -08:00
Martin Grenfell
dff80ff7d0 Merge pull request #203 from techlivezheng/feature/find-in-existing-window
Reveal the current editing file in current NERDTree window instaead initiating a new one
2012-11-12 02:06:22 -08:00
Martin Grenfell
30a770aab0 add Path.isUnixHiddenFile and refactor to use it 2012-11-12 10:01:15 +00:00
Techlive Zheng
072d46880a Add a NERDTreeCWD command to change tree root to CWD 2012-11-05 19:11:44 +08:00
Techlive Zheng
c59ac8fba1 Make NERDTreeFind use an existing NERDTree window 2012-11-05 01:25:11 +08:00
Techlive Zheng
ce6c347f85 Make NERDTreeFind work on hidden files 2012-11-05 01:25:11 +08:00
Joseph Thomson
16268c9c21 Fix call to globpath() for Vim 7.2 and below.
globpath() takes an extra optional parameter in Vim 7.3, but this
breaks NERD tree on earlier versions.
2012-10-29 16:30:29 +00:00
Martin Grenfell
d62180d0ff Merge pull request #150 from cperl82/issue-144
Replace virtcol() with len() in handleLeftClick().
2012-10-15 05:55:21 -07:00
Martin Grenfell
b64f4428c1 default NERDTreeCasadeOpenSingleChildDir to 1 2012-07-05 15:51:13 +01:00
pendulm
29e687978b add option NERDTreeCasadeOpenSingleChildDir and function
TreeDirNode.openAlong for Issues #179.
2012-07-05 22:26:57 +08:00
Martin Grenfell
dbeb1947ea Merge pull request #172 from stephenprater/master
Files matching wildignore patterns are not shown in NERDTree
2012-06-30 01:59:22 -07:00
Frank S
87208d210b Fixed typo. changing s:clearBoomarks to s:clearBookmarks. 2012-06-27 20:07:52 -07:00
A.G. Russell Knives
121607b351 ignore wildignore setting 2012-06-14 09:57:24 -05:00
Martin Grenfell
2cb0fc78fb add autocmds for fugitive integration
Add 2 autocmds - NERDTreeInit and NERDTreeNewRoot. These are called when
a tree is created and when the root is changed. The goal is to give the
fugitive plugin something to listen for so it can add the G* commands to
nerdtree buffers in git repo dirs.
2012-04-02 14:51:19 +01:00
Chris Perl
94b2db2de6 Replace virtcol() with len() in handleLeftClick().
When 'virtualedit' is set, the column where the cursor resides can no longer be
relied on for determining the number of elements in the 'line' list for
iterating.  Replacing virtcol() with len() seems to work correctly and not
result in E684 errors.  Fixes Issue #144
2012-03-17 09:36:47 -04:00
Martin Grenfell
678bb28168 add NERDTreeFocus command - calls the NERDTreeFocus() function 2012-02-17 15:31:37 +00:00
Martin Grenfell
aa1e7d642f fix previewing of directory nodes
Previously if we used the gi/gs mappings on a dir node/bookmark the
cursor would end up in the new window. Now it stays in the current
window as expected
2012-02-16 16:31:50 +00:00
Martin Grenfell
7e7e761d7f Merge pull request #122 from cperl82/fixes
Add calls to NERDTreeAddKeyMap for previewing Bookmarks
2012-02-16 08:16:51 -08:00
Martin Grenfell
0b3b8f7833 add NERDTreeFocus function 2012-02-16 16:11:44 +00:00
Andrew Radev
71465f79b1 Don't output a message on opening a file node 2012-02-14 12:38:52 +02:00