commit 64514e3ceb1e29158ca8d8b80467410e795be667
parent bcc690a1416b518db6606bbe22c6a7518b528781
Author: Martin Grenfell <martin_grenfell@msn.com>
Date: Mon, 9 Jun 2008 13:21:44 +1200
make :ClearMarks default to all marks on the current node
Diffstat:
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -180,6 +180,15 @@ function! s:CompareNodes(n1, n2)
return a:n1.path.CompareTo(a:n2.path)
endfunction
+"FUNCTION: oTreeFileNode.ClearMarks() {{{3
+function! s:oTreeFileNode.ClearMarks() dict
+ let marks = s:GetMarks()
+ for i in keys(marks)
+ if marks[i].Equals(self.path)
+ call remove(marks, i)
+ end
+ endfor
+endfunction
"FUNCTION: oTreeFileNode.Copy(dest) {{{3
function! s:oTreeFileNode.Copy(dest) dict
call self.path.Copy(a:dest)
@@ -2528,7 +2537,7 @@ function! s:BindMappings()
command! -buffer -nargs=1 Mark :call <SID>MarkNode('<args>')
command! -buffer -complete=customlist,s:FindMarks -nargs=1 RecallMark :call <SID>RecallMark('<args>')
command! -buffer -complete=customlist,s:FindMarks -nargs=1 OpenMark :call <SID>OpenMark('<args>')
- command! -buffer -complete=customlist,s:FindMarks -nargs=+ ClearMarks call <SID>ClearMarks('<args>')
+ command! -buffer -complete=customlist,s:FindMarks -nargs=* ClearMarks call <SID>ClearMarks('<args>')
command! -buffer -complete=customlist,s:FindMarks -nargs=+ MarkToRoot call <SID>MarkToRoot('<args>')
command! -buffer -nargs=0 ClearAllMarks call <SID>ClearAllMarks() <bar> call <SID>RenderView()
command! -buffer -nargs=0 ReadMarks call <SID>ReadMarks() <bar> call <SID>RenderView()
@@ -2596,11 +2605,18 @@ endfunction
" FUNCTION: s:ClearMarks(marks) {{{2
function! s:ClearMarks(marks)
let marks = s:GetMarks()
- for name in split(a:marks, ' ')
- if count(keys(marks), name)
- call remove(marks, name)
+ if a:marks == ''
+ let currentNode = s:GetSelectedNode()
+ if currentNode != {}
+ call currentNode.ClearMarks()
endif
- endfor
+ else
+ for name in split(a:marks, ' ')
+ if count(keys(marks), name)
+ call remove(marks, name)
+ endif
+ endfor
+ endif
call s:RenderView()
endfunction
" FUNCTION: s:CloseChildren() {{{2