From f6cbd24c1021e2463bd5429f8c15a8e5d9c0ed9f Mon Sep 17 00:00:00 2001 From: Dan Gibson Date: Thu, 26 Jan 2023 11:23:04 +1100 Subject: [PATCH 1/2] #1344 Fixes NERDTreeFind: Exception not caught: NERDTree.InvalidArgumentsError: should be under --- lib/nerdtree/path.vim | 10 ++++++++-- lib/nerdtree/tree_dir_node.vim | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/nerdtree/path.vim b/lib/nerdtree/path.vim index 997abf37..2e3fa30f 100644 --- a/lib/nerdtree/path.vim +++ b/lib/nerdtree/path.vim @@ -530,8 +530,14 @@ function! s:Path.isUnder(parent) return 0 endif for i in range(0, l:that_count-1) - if self.pathSegments[i] !=# a:parent.pathSegments[i] - return 0 + if nerdtree#runningWindows() + if lower(self.pathSegments[i]) !=# lower(a:parent.pathSegments[i]) + return 0 + endif + else + if self.pathSegments[i] !=# a:parent.pathSegments[i] + return 0 + endif endif endfor return 1 diff --git a/lib/nerdtree/tree_dir_node.vim b/lib/nerdtree/tree_dir_node.vim index f5f76829..383c1629 100644 --- a/lib/nerdtree/tree_dir_node.vim +++ b/lib/nerdtree/tree_dir_node.vim @@ -121,8 +121,14 @@ function! s:TreeDirNode.findNode(path) if a:path.equals(self.path) return self endif - if stridx(a:path.str(), self.path.str(), 0) ==# -1 - return {} + if nerdtree#runningWindows() + if stridx(lower(a:path.str()), lower(self.path.str()), 0) ==# -1 + return {} + endif + else + if stridx(a:path.str(), self.path.str(), 0) ==# -1 + return {} + endif endif if self.path.isDirectory From f9ed718a3453bd9770b13b56bccfbce63f656bba Mon Sep 17 00:00:00 2001 From: Dan Gibson Date: Thu, 26 Jan 2023 11:37:06 +1100 Subject: [PATCH 2/2] #1344 Fixes NERDTreeFind: Exception not caught: NERDTree.InvalidArgumentsError: should be under --- lib/nerdtree/path.vim | 2 +- lib/nerdtree/tree_dir_node.vim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nerdtree/path.vim b/lib/nerdtree/path.vim index 2e3fa30f..46af705f 100644 --- a/lib/nerdtree/path.vim +++ b/lib/nerdtree/path.vim @@ -531,7 +531,7 @@ function! s:Path.isUnder(parent) endif for i in range(0, l:that_count-1) if nerdtree#runningWindows() - if lower(self.pathSegments[i]) !=# lower(a:parent.pathSegments[i]) + if tolower(self.pathSegments[i]) !=# tolower(a:parent.pathSegments[i]) return 0 endif else diff --git a/lib/nerdtree/tree_dir_node.vim b/lib/nerdtree/tree_dir_node.vim index 383c1629..991f54c5 100644 --- a/lib/nerdtree/tree_dir_node.vim +++ b/lib/nerdtree/tree_dir_node.vim @@ -122,7 +122,7 @@ function! s:TreeDirNode.findNode(path) return self endif if nerdtree#runningWindows() - if stridx(lower(a:path.str()), lower(self.path.str()), 0) ==# -1 + if stridx(tolower(a:path.str()), tolower(self.path.str()), 0) ==# -1 return {} endif else