Commit Graph

71 Commits

Author SHA1 Message Date
Phil Runninger
c372911c4a
Refresh buffers after m, m operation on a folder (#888)
* WIP: Wow! That's an ugly diff. I'm not done yet, though.

* Fix the ugliness of the previous commit, and finish the work.

If the node being renamed is a directory, get a list of all open buffers
whose file lives in the old directory. If that list is not empty, ask
the user if he wants to replace the old buffers with the new files. The
logic to handle renaming a file node stays the same, although the code
has been refactored a bit.
2018-10-24 22:20:59 -04:00
Phil Runninger
f98078d3ae
Force sort to recalculate the cached sortKey. (#898)
* Force sort to recalculate the cached sortKey.

The problem in issue #880 was caused by the sort using the old sortKey.
For example, given nodes A, B, and C, if B were renamed to D, the sort
was still using B as its sortKey, thus not moving it.

It's a bit of a hack, but if we set g:NERDTreeOldSortOrder to an empty
list, the cached sortKey will be recalculated. I did the same thing for
both the Copy and Add functions as well.

* Add a comment to explain the let ... = [] statement.
2018-10-18 16:13:15 -04:00
Phil Runninger
6b6cadf86c
Use a better arg for FINDSTR when using the m,l command in Windows. (#887)
* Use a better arg for FINDSTR when using the m,l command in Windows.

* Remove trailing spaces.

* Use vim getf...() functions in place of DOS commands.

* Remove unnecessary variable.

* Put labels in the text of the file/dir listing.
2018-10-10 22:19:18 -04:00
Andrew Flockhart
9e9d16a38a Reword renamed-buffer prompt to be more clear 2018-08-04 01:16:46 -04:00
Bubba
08db3a0eea Do not need to check for unix os here. 2018-06-15 12:02:58 -04:00
Bubba
a053179d6a Use the case-insensitive regex 2018-06-15 11:29:09 -04:00
Bubba
c0d87db309 Better OSX detection 2018-06-15 10:43:20 -04:00
Phil Runninger (mac)
c4f8a0f370 Like m-c did before, create parent directories if needed on m-m. 2018-05-16 13:09:20 -04:00
Hieu Nguyen
435861ee69 Support revealing file and executing file with xdg-open for Linux 2018-04-09 19:08:09 +02:00
Phil Runninger (mac)
b37495fa98 If node isn't open, count children on disk before deleting.
Fixes #821. If a node isn't opened in NERDTree, it's children aren't
known yet, so when deleting the node (with `m`, `d`), the user isn't
properly asked to confirm the delete. It was going to the less strict
`Y`/`n` confirmation, instead of the `yes` confirmation for non-empty
directories.

This change checks to see if the node is opened already. If it is, the
existing getChildCount() function is used; otherwise, the disk is read
to get the number of children there.
2018-04-02 09:26:34 -04:00
Jason Franklin
9f985514f0 Add modelines 2017-12-17 08:43:43 -05:00
Phil Runninger
97433edd43 Merge pull request #754 from branch comma-separated-file-size
This change will display the file size (printed with the "ml"
command) in an easy-to-read format, while still displaying its
precise value.  It uses the "stat" command (with the correct
switches for Unix and OSX) to get the file size, "sed" to add the
commas, and "sed" again to replace the original size with the
modified number.
2017-11-02 08:36:07 -04:00
Mohamed Boughaba
a8c6245057 Merge pull request #756 from mboughaba/master
Previously, deleting a file in the NERDTree with "md" would cause
a new buffer to be created to fill the window(s) occupied by
a buffer on the file.  This pull request makes it so that a new
buffer is not created.  Instead, the next buffer in the buffer list
fills the window.

Fixes #755.
2017-11-02 08:26:48 -04:00
Jason Franklin
876283b07c Improve display of shell output from menu command
This small change reverts to the previous method of breaking shell
output into lines.  The reason for this is to avoid the printing of
trailing carriage return characters on Windows.
2017-08-19 09:39:25 -04:00
Jason Franklin
f4ff6dcf84 Fix a menu command that breaks under 'shellslash'
The (l) menu command breaks on Windows systems when 'shellslash' is
set.  This is due to the fact that the menu item uses a hard coded
shell command, thus relying on the use of the default Windows shell
without the 'shellslash' setting.

The pattern used for the fix is localized to the problem function.
However, this technique could easily be abstracted into its own
function to execute Windows shell commands with the default shell
throughout the NERDTree codebase.
2017-08-19 08:58:57 -04:00
Dan Schaub
682a7b64db Fix typo in argument usage in promptToRenameBuffer 2016-10-03 18:04:50 -04:00
Phil Runninger
f640646f2c Change confirmation prompt when deleting non-empty directory. 2016-09-22 16:42:17 -04:00
Phil Runninger
1a6c502f19 Merge pull request #530 from mikeperri/delete-empty-directory
Don't require user to type 'yes' to delete an empty directory
2016-09-22 16:40:25 -04:00
Zachary Voase
916f6b8f8f Use fnameescape to quote filenames for :badd. 2016-06-30 16:21:13 -07:00
Mike Perri
d2509d279e Don't require user to type 'yes' to delete an empty directory 2016-06-27 11:28:47 -05:00
Martin Grenfell
665f326577 remove dependency on b:NERDTree from classes that dont need it
Inject it where needed.
2015-11-20 01:44:12 +00:00
Martin Grenfell
d36b793656 dont use b:NERDTreeRoot internally, but leave the var there for compat
Use b:NERDTree.root instead. I will eventually remove  b:NERDTreeRoot
altogether - but this will break some other plugins so leave it for now.
2015-11-16 11:28:24 +00:00
Martin Grenfell
be8f18914c remove some unneeded header comments 2015-11-13 16:54:47 +00:00
Martin Grenfell
e27ab9c5c7 fsmenu: use nerdtree#echo* methods instead of reimplementing them 2015-11-13 10:53:42 +00:00
Martin Grenfell
5b7085d9ae fs menu: remove unused var assigns 2015-11-13 10:46:12 +00:00
Martin Grenfell
adc11983bc fs_menu: put the NERDTreeListNode* methods together 2015-11-13 10:44:27 +00:00
Phil Runninger
3fb18e7399 Switch to upper case DIR /Q, in true DOS fashion 2015-11-12 21:38:22 -05:00
Phil Runninger
f1af61ddf7 Use the system('DIR /Q...') function to display file info. 2015-11-12 21:29:34 -05:00
Phil Runninger
c60f401371 Merge (p)roperties (for Windows) into the (l)ist menu item. 2015-11-12 16:20:20 -05:00
Phil Runninger
fb030bcb1c Merge pull request #1 from scrooloose/master
Merge official code into my fork
2015-11-12 16:11:56 -05:00
Martin Grenfell
caca3af211 Merge pull request #496 from evindor/master
Fix MacOS/neovim detection for extra menu options
2015-11-12 14:23:28 +00:00
Jonathan Seidel
88104d26ac Add ability to list file metadata...
(Based on a change by github.com/apbarrero))
Add menu/list command to display file metadata
Support OSX as well as Unix
2015-11-02 11:30:16 -08:00
Arseny Zarechnev
8996ea5bb5 Fix MacOS detection for menu, fixes #478 2015-10-04 01:59:40 +01:00
Martin Grenfell
3ce33f017e fix escaping for :edit when renaming files 2014-10-29 18:35:53 +00:00
Artem Baguinski
2fd0aa3ec7 Fix reloading renamed file 2014-09-25 11:08:53 +02:00
Phil Runninger
6ccf83df24 Add menu option to display file/directory properties. 2014-09-15 11:14:44 -04:00
Martin Grenfell
579d96a0f3 remove testing git plugin 2014-07-10 20:14:41 +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
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
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
3863e69733 Merge pull request #316 from ZeroProbability/master
Issue 315 - Incorrect buffer deleted on file delete
2014-06-26 22:48:14 +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
Tristan Koch
fbab099fa9 Support space in path when renaming 2014-05-30 13:05:37 +02:00
aramasamy
13b4058f2f Issue 315 - Incorrect buffer deleted on file delete 2014-02-21 00:46:15 +00:00
Danielle Sucher
eacd5d72ec Create nested parent directories as needed
Allows the user to create or copy a nested node
in a single step with ma or mc, recursively
creating nested parent directories if needed, and
without throwing any errors if they already exist.

[Finishes #163, #34]
2013-10-12 20:18:43 -04:00
Martin Grenfell
3e44d4ea5c Merge pull request #191 from ZeusTheTrueGod/master
Improve handling obsolete buffers when renaming or deleting a file via the NERDTree 'm' menu
2012-10-18 01:11:35 -07:00
Mark Rushakoff
92a31a6fb2 Fix typo in copy action 2012-10-03 12:39:56 -07:00
ZeusTheTrueGod
6b687977d9 Better handling file renaming and deleting
If you are renaming a file via the mm hotkey and it is already opened then all
tabs and windows containing the old file will be replaced with a
new file. Current tab and windows structure is not changed anymore

If you are deleting a file via the md hotkey and it is already open, i.e.
presents in buffer lists then a buffer will be removed but a window and tab
will be kept with a ':enew' file
2012-08-26 13:23:06 +00:00
ZeusTheTrueGod
0a16b24268 Better flow for renaming and deleting files
Previously when you delete or moved a file via
md or mm commands the NERDTree was asking you about what to do
with the remaining buffer of the just deleted or moved file. I
always press 'y' in this cases so I've decided to add a new parameter,
NERDTreeAutoDeleteBuffer which you can set to 1 in order to skip
this confirmation.
2012-08-26 11:56:45 +00:00