nerdtree

A tree explorer plugin for vim.
Index Commits Files Refs
commit 030cff2edaedb4b78f56bb392010451fee78491c
parent 02facac20aa0446859f708fdc6a0c5a5c74778de
Author: Martin Grenfell <martin_grenfell@msn.com>
Date:   Mon, 30 Jun 2008 09:36:50 +1200

sort bookmarks when we add a new one

Diffstat:
Mplugin/NERD_tree.vim | 18++++++++++++++++++
1 file changed, 18 insertions(+), 0 deletions(-)
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
@@ -166,6 +166,7 @@ function! s:oBookmark.AddBookmark(name, path) dict
         endif
     endfor
     call add(s:oBookmark.Bookmarks(), s:oBookmark.New(a:name, a:path))
+    call s:oBookmark.Sort()
 endfunction
 " Function: oBookmark.Bookmarks()   {{{3
 " Class method to get all bookmarks. Lazily initializes the bookmarks global
@@ -222,6 +223,11 @@ function! s:oBookmark.CacheBookmarks() dict
         endif
     endif
 endfunction
+" FUNCTION: oBookmark.CompareTo(otherbookmark) {{{3
+" Compare these two bookmarks for sorting purposes
+function! s:oBookmark.CompareTo(otherbookmark) dict
+    return a:otherbookmark.name < self.name
+endfunction
 " FUNCTION: oBookmark.ClearAll() {{{3
 " Class method to delete all bookmarks.
 function! s:oBookmark.ClearAll() dict
@@ -280,6 +286,12 @@ function! s:oBookmark.New(name, path) dict
     let newBookmark.path = a:path
     return newBookmark
 endfunction
+" Function: oBookmark.Sort()   {{{3
+" Class method that sorts all bookmarks
+function! s:oBookmark.Sort() dict
+    let CompareFunc = function("s:CompareBookmarks")
+    call sort(s:oBookmark.Bookmarks(), CompareFunc)
+endfunction
 " Function: oBookmark.Str()   {{{3
 " Get the string that should be rendered in the view for this bookmark
 function! s:oBookmark.Str() dict
@@ -1581,6 +1593,12 @@ function! s:BufInWindows(bnum)
     return cnt
 endfunction " >>>
 
+"FUNCTION: CompareBookmarks(first, second) {{{2
+"Compares two bookmarks
+function! s:CompareBookmarks(first, second)
+    return a:first.CompareTo(a:second)
+endfunction
+
 " FUNCTION: s:CompleteBookmarks(A,L,P) {{{2
 " completion function for the bookmark commands
 function! s:CompleteBookmarks(A,L,P)