Commit Graph

61 Commits

Author SHA1 Message Date
Vincent Tsang
80e184df56 Refactor code to use getSortKey() and replace regular expression with
simple string comparison in tree_dir_node.vim
2015-05-11 11:56:08 +08:00
Vincent Tsang
57d5bd7731 Speed up sortChildren() by using sorting token
This improves the sorting functions from 12 seconds to 0.66 seconds for
~4000 objects
2015-05-09 22:47:33 +08:00
Martin Grenfell
a87b1bf3c5 Merge branch 'update_reuse_option' 2015-05-06 21:42:03 +01:00
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
7270212214 bugfix for secondary trees occurring when the screen state is saved 2015-05-03 11:14:34 +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
fc4bcb4806 remove UI.lolcats()... not sure what the story is there 2015-05-02 15:26:59 +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
b0114d202b move dumpHelp out of autoload 2015-05-02 15:05:28 +01:00
Martin Grenfell
53d2de86eb move the closeTree functions out of autoload
Remove `closeTreeIfOpen` and just make `closeTree` fail silently.
2015-05-02 15:03:54 +01:00
Martin Grenfell
0d88ce946f move isTreeOpen() out of autoload 2015-05-02 14:44:32 +01:00
Martin Grenfell
8270b6d717 move nerdtree#getTreeWinNum out of autoload 2015-05-02 14:32:21 +01:00
Martin Grenfell
973c9906f8 refactor 3 more functions out of the monolithic autoload file 2015-05-02 14:17:52 +01:00
Martin Grenfell
f8499462c5 Revert "Use different arrow characters for compatibility."
This reverts commit f6cad7e957.
2015-05-02 11:29:43 +01:00
Martin Grenfell
5cec19365a Merge pull request #411 from xdl/master
Fix for nonexistent dir/bookmarks given to NERDTree commands
2015-05-01 16:05:35 +01:00
Martin Grenfell
87b27802b5 allow control over whether to reuse windows in different tabs
When opening a file we will "reuse" a window if the buffer is already
open somewhere.

Add an option to NERDTreeOpener to configure it to not reuse windows
across tabs.
2015-05-01 15:33:06 +01:00
Curtiss Howard
f6cad7e957 Use different arrow characters for compatibility. 2015-04-17 17:36:23 -04:00
xiaodili
6dfbcd660a Return early if exception was thrown in pathForString 2014-12-21 17:44:41 +00:00
Giacomo Comitti
ba26044746 Truncate paths at slashes. 2014-11-20 07:50:47 +01:00
Martin Grenfell
3d421b8ec5 use the built in fnamemodify() to make a path relative
Closes #383
2014-10-29 19:18:28 +00:00
Martin Grenfell
1c08146224 apply @mixvin's windows path fix at the top of the method instead 2014-10-29 11:20:58 +00:00
mixvin
cd8d87fa57 Fix opening file path, in Windows 2014-10-29 11:17:53 +00:00
Xuyuan Pang
8cd045d0e2 add refreshDirFlags method to avoid refreshing too many files 2014-07-19 17:57:41 +08:00
Martin Grenfell
c2dd750860 move nerdtree#treeExists.* methods into the NERDTree class 2014-07-17 20:31:17 +01:00
Martin Grenfell
fd14757c04 add proper events and make the notifier class generic
Expand the event system to have explicit Event objects and potentially
many Notifiers. Previously they was only one notifier and one (implied)
event.

A lot of this is stolen from #358.
2014-07-17 20:18:09 +01:00
Martin Grenfell
f9a933991d allow plugins to override the default mappings 2014-07-15 19:00:17 +01:00
Martin Grenfell
9f351de594 Merge branch 'master' into expt_add_path_flags_and_git 2014-07-09 09:26:17 +01:00
Martin Grenfell
1e0d1cbc8f move some more view code into the UI class 2014-07-09 09:25:25 +01:00
Martin Grenfell
2f59cc2080 Merge branch 'master' into expt_add_path_flags_and_git 2014-07-08 09:47:38 +01:00
Martin Grenfell
8644622000 Merge branch 'master' into expt_add_path_flags_and_git
Conflicts:
	autoload/nerdtree.vim
	lib/nerdtree/creator.vim
2014-07-08 09:38:43 +01:00
Lucas Caton
1784de15dd Updating creator.vim file (this fixes #352) 2014-07-08 10:57:39 +10: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
86488b1aa0 move ui functions out into their own autoload
All of the autoload shit needs to be cleaned up... break it out first
2014-07-07 19:36:34 +01:00
Martin Grenfell
04d9b27541 add .refreshFlags() to path/dir/file objects
This will trigger the path refresh callbacks without refreshing the
path's from disk (which takes ages)
2014-07-07 18:24:37 +01:00
Martin Grenfell
3941389f13 fix a retarded bug with FlagSet.clearFlags 2014-07-06 23:36:45 +01:00
Martin Grenfell
32cf3ee62d allow flags to be scoped to a plugin
Add new FlagSet class and init each Path with one.

Call Path.flagSet.addFlag(scope, flag) instead of Path.addFlag(flag)
2014-07-05 20:51:21 +01:00
Martin Grenfell
a7428eba38 add proof of concept for path flags API and add git modified flags 2014-07-05 00:29:45 +01:00
Martin Grenfell
d162c08fd7 comment and tweak the <LeftRelease> fix in 24561ad 2014-07-02 20:54:14 +01:00
Martin Grenfell
2a769a7263 Merge pull request #298 from buggo/master
Fix error 121 when clicking on command line below another window
2014-07-02 20:49:59 +01:00
Martin Grenfell
0ee888ee17 simplify the <cr> mapping definition 2014-07-02 20:25:17 +01:00
Shane Smith
82cd4f5a9f Fix <CR> not working if active node map is special char such as <Right> 2014-07-01 20:29:52 -04:00
Martin Grenfell
4b89264dfc Merge branch 'better-set-filetype' of https://github.com/inkarkat/nerdtree into inkarkat-better-set-filetype 2014-06-27 19:37:17 +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
186abb84c1 Merge pull request #303 from amarshall/wildignore
Add option to respect wildignore
2014-06-26 09:48:39 +01:00
Martin Grenfell
10ba84b1fc Merge pull request #308 from igrep/patch-1
correct invalid reference to MenuController
2014-06-26 09:40:01 +01:00
Martin Grenfell
a45304832b Merge pull request #295 from DanielleSucher/create_parent_directories_as_needed
Create parent directories as needed when creating or copying nested nodes
2014-06-26 09:35:02 +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