nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 9afa6b38286d6e3e86fbe4616812f8e7a128b2c1
parent ed446e5cbe0733a8f98befc88d33e42edebb67d2
Author: Kutsan Kaplan <me@kutsankaplan.com>
Date:   Tue, 13 Mar 2018 06:14:39 +0300

Add new variable g:NERDTreeRemoveFileCmd

Diffstat:
Mdoc/NERDTree.txt | 6++++++
Mlib/nerdtree/path.vim | 12+++++++++---
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/doc/NERDTree.txt b/doc/NERDTree.txt
@@ -694,6 +694,12 @@ NERD tree. These options should be set in your vimrc.
 |'NERDTreeCreatePrefix'|        Specify a prefix to be used when creating the
                                 NERDTree window.
 
+|'NERDTreeRemoveFileCmd'|       Specify a custom shell command that will used
+                                when deleting files with delete action. Note
+                                that, it should be one space character at the
+                                end of the command and it applies only for files.
+                                See |g:NERDTreeRemoveDirCmd| for directories.
+
 ------------------------------------------------------------------------------
 3.2. Customisation details                             *NERDTreeOptionDetails*
 
diff --git a/lib/nerdtree/path.vim b/lib/nerdtree/path.vim
@@ -246,7 +246,13 @@ function! s:Path.delete()
             throw "NERDTree.PathDeletionError: Could not delete directory: '" . self.str() . "'"
         endif
     else
-        let success = delete(self.str())
+        if exists('g:NERDTreeRemoveFileCmd')
+            let cmd = g:NERDTreeRemoveFileCmd . self.str({'escape': 1})
+            let success = system(cmd)
+        else
+            let success = delete(self.str())
+        endif
+
         if success != 0
             throw "NERDTree.PathDeletionError: Could not delete file: '" . self.str() . "'"
         endif
@@ -409,7 +415,7 @@ endfunction
 
 " FUNCTION: Path.isHiddenUnder(path) {{{1
 function! s:Path.isHiddenUnder(path)
-    
+
     if !self.isUnder(a:path)
         return 0
     endif
@@ -418,7 +424,7 @@ function! s:Path.isHiddenUnder(path)
     let l:segments = self.pathSegments[l:startIndex : ]
 
     for l:segment in l:segments
-        
+
         if l:segment =~# '^\.'
             return 1
         endif