nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 3d421b8ec5147ab46d708582290f257f0155d797
parent 3ce33f017ebf8da773b03f1cc9dfd6fb34c7f1d2
Author: Martin Grenfell <martin.grenfell@gmail.com>
Date:   Wed, 29 Oct 2014 19:18:28 +0000

use the built in fnamemodify() to make a path relative

Closes #383

Diffstat:
Mlib/nerdtree/path.vim | 22++++++----------------
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/lib/nerdtree/path.vim b/lib/nerdtree/path.vim
@@ -653,24 +653,14 @@ endfunction
 "command
 function! s:Path._strForEdit()
     let p = escape(self.str(), self._escChars())
-    let cwd = getcwd() . s:Path.Slash()
 
-    "return a relative path if we can
-    let isRelative = 0
-    if nerdtree#runningWindows()
-        let isRelative = stridx(tolower(p), tolower(cwd)) == 0
-    else
-        let isRelative = stridx(p, cwd) == 0
-    endif
+    "make it relative
+    let p = fnamemodify(p, ':.')
 
-    if isRelative
-        let p = strpart(p, strlen(cwd))
-
-        "handle the edge case where the file begins with a + (vim interprets
-        "the +foo in `:e +foo` as an option to :edit)
-        if p[0] == "+"
-            let p = '\' . p
-        endif
+    "handle the edge case where the file begins with a + (vim interprets
+    "the +foo in `:e +foo` as an option to :edit)
+    if p[0] == "+"
+        let p = '\' . p
     endif
 
     if p ==# ''