nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit ca16df25fa1d6bc8505aadbc19f8cd95afa9a58d
parent cce6fb373f368f13e35482b3f1a8f1edc47fc650
Author: Phil Runninger <philrunninger@gmail.com>
Date:   Mon,  1 Jul 2019 23:29:56 -0400

Fix nerdtree#version() on Windows.

Diffstat:
MCHANGELOG.md | 1+
Mautoload/nerdtree.vim | 16+++++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
@@ -1,6 +1,7 @@
 # Change Log
 
 #### 5.2...
+- **.1**: Fix nerdtree#version() on Windows. (PhilRunninger) N/A
 - **.0**: Expand functionality of `<CR>` mapping. (PhilRunninger) #1011
 #### 5.1...
 - **.3**: Remove @mentions from PR template and change log. They weren't working. (PhilRunninger) #1009
diff --git a/autoload/nerdtree.vim b/autoload/nerdtree.vim
@@ -3,8 +3,9 @@ if exists("g:loaded_nerdtree_autoload")
 endif
 let g:loaded_nerdtree_autoload = 1
 
+let s:rootNERDTreePath = resolve(expand("<sfile>:p:h:h"))
 function! nerdtree#version(...)
-    let l:changelog = readfile(expand("<sfile>:p:h")."/CHANGELOG.md")
+    let l:changelog = readfile(join([s:rootNERDTreePath, "CHANGELOG.md"], nerdtree#slash()))
     let l:text = 'Unknown'
     let l:line = 0
     while l:line <= len(l:changelog)
@@ -21,6 +22,19 @@ endfunction
 " SECTION: General Functions {{{1
 "============================================================
 
+function! nerdtree#slash()
+
+    if nerdtree#runningWindows()
+        if exists('+shellslash') && &shellslash
+            return '/'
+        endif
+
+        return '\'
+    endif
+
+    return '/'
+endfunction
+
 "FUNCTION: nerdtree#and(x,y) {{{2
 " Implements and() function for Vim <= 7.2
 function! nerdtree#and(x,y)