Commit Graph

481 Commits

Author SHA1 Message Date
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
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
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
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
Andrew Radev
ff0816979c Remove second "edit" from Opener 2012-02-14 12:38:23 +02:00
Chris Perl
30cc73d6ed Make handling of '<>' notation more robust.
Previous case could fail with something like '<Tab><Tab>'.  Cases like
that should be handled correctly now.
2012-01-27 00:12:33 -05:00
Martin Grenfell
7fbb77c067 fix the ctrl-j/ctrl-k mappings 2012-01-26 23:59:07 +00:00
Chris Perl
f29d6a4f0f Escape mappings that use '<>' notation.
KeyMap.bind() does not gracefully handle use of '<>' notation.  For
example, trying to call NERDTreeAddKeyMap() with a 'key' argument of
'<Leader>e'.  There were some workarounds KeyMap.bind() to help with
this by specifically allowing you to leave off the '<>' parts for
'<C-...>', '<M-...>' and mouse mappings and it would add them back for
you before creating the mapping.  This commit reverts some of that logic
and simply says that if the key starts with '<', replace it with <lt>.
2012-01-26 17:06:42 -05:00
Chris Perl
597cccce0f Add calls to NERDTreeAddKeyMap for previewing Bookmarks
These calls to NERDTreeAddKeyMap use the same callback as when these
keys are mapped with a 'scope' of "Node."  This should not pose a
problem though as s:previewNodeCurrent, s:previewNodeHSplit and
s:previewNodeVSplit all just call the passed in node's open() method,
which gets passed on to an Opener object.
2012-01-25 15:57:41 -05:00
Martin Grenfell
eced5f98a0 Merge pull request #110 from cperl82/fixes
Symlinks Not Showing as Symlinks
2012-01-11 12:19:41 -08:00
Martin Grenfell
20f7ab8ade map <cr> to the default o mapping (again)
this was broken in one of the recent "epic refactor" commits
2012-01-11 20:03:56 +00:00
Martin Grenfell
e5682d3948 dont close the tree window when using the 'preview' maps 2012-01-11 19:55:27 +00:00
Martin Grenfell
b843635a50 fix NERDTreeQuitOnOpen option 2012-01-11 19:55:18 +00:00
Chris Perl
ba74b99fd7 Add s:Path.Resolve function to address trailing slash issues.
The core issue is that in some versions of vim resolve() will remove trailing
slashes, while in others it will not.  This lead to commit
bc745b6e99 attempting to address a double slash
problem.  However, that broke symlink detection on systems where resolve()
removes trailing slashes.  This new function just calls vim's resolve()
function, but removes trailing slashes if they exist.
2012-01-11 10:55:39 -05:00
Chris Perl
6d0183ea78 Revert "Fixed resolve() double endslash defect"
This reverts commit bc745b6e99.  This
broke symlink detection on systems where vim's resolve() removes the
trailing slash from a path.
2012-01-11 09:31:03 -05:00
Twinside
5c01c5acd8 Deactivating folds in NERDtree buffer 2012-01-11 15:20:57 +01:00
Martin Grenfell
6d83575490 remove a now misleading comment 2012-01-11 13:46:46 +00:00
Martin Grenfell
e51a40c0d8 make the mouse work as expected with NERDTreeMouseMode
This was broken at some point - fix it.
2012-01-11 13:44:19 +00:00
Martin Grenfell
53bc77644c refactor KeyMap so we dont use index() on an array of objects
Dont do `remove(array_of_prototype_obs, index(...)))`. In the past this
has been found to cause seg faults when the objects get large.
2012-01-11 13:08:08 +00:00
Martin Grenfell
6782ec0104 make the default keymap generation happen only once
Previously we are doing this every time a nerdtree window was created -
which is wrong and was removing custom mappings from users that overrode
default key mappings.

Now we only generate the defaults once.
2012-01-11 13:06:15 +00:00
Martin Grenfell
588e71c1e9 unlet TreeDirNode.openInNewTab since we are overriding it
Older versions of vim require you to unlet a dictionary function if you
are replacing it (i.e. overriding it in a prototype OO scenario). The
unlet call got lost in the recent refactoring.
2012-01-11 09:09:38 +00:00
Martin Grenfell
6b7c9aa5c8 update the method comment for TreeDirNode.open 2012-01-10 09:31:07 +00:00
Martin Grenfell
5e53df769d fix a bug with the T (open in new tab silently) mapping 2012-01-10 09:31:07 +00:00
Martin Grenfell
3b325f6812 rename 'split' to 'where' in the open() interface 2012-01-10 09:31:07 +00:00
Martin Grenfell
4f1a205c83 add Opener class to handle opening nodes/bookmarks
Move the code to split windows and open nodes and bookmarks out into a
dedicated class. This will remove duplication and remove and centralise
a concern from the other classes.
2012-01-10 09:31:06 +00:00
Martin Grenfell
3620029ae0 make Bookmark use the new open() interface 2012-01-10 09:31:06 +00:00
Martin Grenfell
217d9f6651 Merge pull request #78 from actionshrimp/master
Add windows network share support
2012-01-06 14:39:21 -08:00
Dave Aitken
ba3d43138a Added comment to clarify which part of the path is the 'drive' for windows network shares 2012-01-06 19:36:26 +00:00