nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit a3f0e6679312656a28f2461eb24ac5a2f55235f6
parent 3c0633578281463638235597d8208612544606ae
Author: Phil Runninger <PhilRunninger@users.noreply.github.com>
Date:   Thu,  9 May 2019 10:12:25 -0400

Change minimum vim (#991)

* Add a new function to implement and() from vim 7.4.

* Change minimum required version of vim to 7.3.

Diffstat:
Mautoload/nerdtree.vim | 23+++++++++++++++++++++++
Mlib/nerdtree/bookmark.vim | 2+-
Mlib/nerdtree/nerdtree.vim | 2+-
Mplugin/NERD_tree.vim | 4++--
4 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/autoload/nerdtree.vim b/autoload/nerdtree.vim
@@ -10,6 +10,29 @@ endfunction
 " SECTION: General Functions {{{1
 "============================================================
 
+"FUNCTION: nerdtree#and(x,y) {{{2
+" Implements and() function for Vim <= 7.2
+function! nerdtree#and(x,y)
+    if exists("*and")
+        return and(a:x, a:y)
+    else
+        let l:x = a:x
+        let l:y = a:y
+        let l:n = 0
+        let l:result = 0
+        while l:x > 0 && l:y > 0
+            if (l:x % 2) && (l:y % 2)
+                let l:result += float2nr(pow(2, l:n))
+            endif
+            echomsg l:x . ", " . l:y . " => " l:result
+            let l:x = float2nr(l:x / 2)
+            let l:y = float2nr(l:y / 2)
+            let l:n += 1
+        endwhile
+        return l:result
+    endif
+endfunction
+
 "FUNCTION: nerdtree#checkForBrowse(dir) {{{2
 "inits a window tree in the current buffer if appropriate
 function! nerdtree#checkForBrowse(dir)
diff --git a/lib/nerdtree/bookmark.vim b/lib/nerdtree/bookmark.vim
@@ -256,7 +256,7 @@ endfunction
 function! s:Bookmark.open(nerdtree, ...)
     let opts = a:0 ? a:1 : {}
 
-    if and(g:NERDTreeQuitOnOpen,2)
+    if nerdtree#and(g:NERDTreeQuitOnOpen,2)
         call a:nerdtree.ui.toggleShowBookmarks()
     endif
 
diff --git a/lib/nerdtree/nerdtree.vim b/lib/nerdtree/nerdtree.vim
@@ -66,7 +66,7 @@ endfunction
 "FUNCTION: s:NERDTree.CloseIfQuitOnOpen() {{{1
 "Closes the NERD tree window if the close on open option is set
 function! s:NERDTree.CloseIfQuitOnOpen()
-    if and(g:NERDTreeQuitOnOpen,1) && s:NERDTree.IsOpen()
+    if nerdtree#and(g:NERDTreeQuitOnOpen,1) && s:NERDTree.IsOpen()
         call s:NERDTree.Close()
     endif
 endfunction
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -14,8 +14,8 @@
 if exists("loaded_nerd_tree")
     finish
 endif
-if v:version < 700
-    echoerr "NERDTree: this plugin requires vim >= 7. DOWNLOAD IT! You'll thank me later!"
+if v:version < 730
+    echoerr "NERDTree: this plugin requires vim >= 7.3. DOWNLOAD IT! You'll thank me later!"
     finish
 endif
 let loaded_nerd_tree = 1