Ver código fonte

Implement sorting by `number` using key-based sort routine.

Michael Henry 10 meses atrás
pai
commit
24b896bfd3
1 arquivos alterados com 8 adições e 2 exclusões
  1. 8 2
      plugin/bufexplorer.vim

+ 8 - 2
plugin/bufexplorer.vim

@@ -1141,6 +1141,13 @@ function! s:UpdateHelpStatus()
     setlocal nomodifiable
 endfunction
 
+" Key_number {{{2
+function! s:Key_number(line)
+    let _bufnr = str2nr(a:line)
+    let key = [printf('%9d', _bufnr)]
+    return key
+endfunction
+
 " Key_name {{{2
 function! s:Key_name(line)
     let _bufnr = str2nr(a:line)
@@ -1237,8 +1244,7 @@ function! s:SortListing()
     let sort = s:firstBufferLine.",$sort".((g:bufExplorerReverseSort == 1) ? "!": "")
 
     if g:bufExplorerSortBy == "number"
-        " Easiest case.
-        execute sort 'n'
+        call s:SortByKeyFunc("<SID>Key_number")
     elseif g:bufExplorerSortBy == "name"
         call s:SortByKeyFunc("<SID>Key_name")
     elseif g:bufExplorerSortBy == "fullpath"