add s:MarkForNode() and refactor to use it
This commit is contained in:
parent
5a4ef66db2
commit
2ecd6ebd63
@ -1345,6 +1345,21 @@ function! s:BufInWindows(bnum)
|
|||||||
return cnt
|
return cnt
|
||||||
endfunction " >>>
|
endfunction " >>>
|
||||||
|
|
||||||
|
"FUNCTION: s:GetNodeForMark(name) {{{2
|
||||||
|
"get the treenode for the mark with the given name
|
||||||
|
function! s:GetNodeForMark(name)
|
||||||
|
try
|
||||||
|
let mark = s:GetMarks()[a:name]
|
||||||
|
catch /E716/ "key not in dictionary error
|
||||||
|
throw "NERDTree.MarkDoesntExist no mark found with name: " . a:name
|
||||||
|
endtry
|
||||||
|
|
||||||
|
let targetNode = t:NERDTreeRoot.FindNode(mark)
|
||||||
|
if empty(targetNode)
|
||||||
|
throw "NERDTree.MarkNotFound no node was found for mark: " . a:name
|
||||||
|
endif
|
||||||
|
call s:PutCursorOnNode(targetNode, 0, 1)
|
||||||
|
endfunction
|
||||||
"FUNCTION: s:InitNerdTree(dir) {{{2
|
"FUNCTION: s:InitNerdTree(dir) {{{2
|
||||||
"Initialized the NERD tree, where the root will be initialized with the given
|
"Initialized the NERD tree, where the root will be initialized with the given
|
||||||
"directory
|
"directory
|
||||||
@ -2818,14 +2833,7 @@ endfunction
|
|||||||
" FUNCTION: s:OpenMark(name) {{{2
|
" FUNCTION: s:OpenMark(name) {{{2
|
||||||
" put the cursor on the given mark and, if its a file, open it
|
" put the cursor on the given mark and, if its a file, open it
|
||||||
function! s:OpenMark(name)
|
function! s:OpenMark(name)
|
||||||
try
|
let targetNode = s:GetNodeForMark(a:name)
|
||||||
let mark = s:GetMarks()[a:name]
|
|
||||||
catch /E716/ "key not in dictionary error
|
|
||||||
call s:Echo("Mark doesnt exist")
|
|
||||||
return
|
|
||||||
endtry
|
|
||||||
|
|
||||||
let targetNode = t:NERDTreeRoot.FindNode(mark)
|
|
||||||
call s:PutCursorOnNode(targetNode, 0, 1)
|
call s:PutCursorOnNode(targetNode, 0, 1)
|
||||||
redraw!
|
redraw!
|
||||||
if !targetNode.path.isDirectory
|
if !targetNode.path.isDirectory
|
||||||
@ -2887,14 +2895,7 @@ endfunction
|
|||||||
" FUNCTION: s:RecallMark(name) {{{2
|
" FUNCTION: s:RecallMark(name) {{{2
|
||||||
" put the cursor on the node associate with the given name
|
" put the cursor on the node associate with the given name
|
||||||
function! s:RecallMark(name)
|
function! s:RecallMark(name)
|
||||||
try
|
let targetNode = s:GetNodeForMark(a:name)
|
||||||
let mark = s:GetMarks()[a:name]
|
|
||||||
catch /E716/ "key not in dictionary error
|
|
||||||
call s:Echo("Mark doesnt exist")
|
|
||||||
return
|
|
||||||
endtry
|
|
||||||
|
|
||||||
let targetNode = t:NERDTreeRoot.FindNode(mark)
|
|
||||||
call s:PutCursorOnNode(targetNode, 0, 1)
|
call s:PutCursorOnNode(targetNode, 0, 1)
|
||||||
endfunction
|
endfunction
|
||||||
" FUNCTION: s:RefreshRoot() {{{2
|
" FUNCTION: s:RefreshRoot() {{{2
|
||||||
|
Loading…
Reference in New Issue
Block a user