Просмотр исходного кода

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

Michael Henry 10 месяцев назад
Родитель
Сommit
24b896bfd3
1 измененных файлов с 8 добавлено и 2 удалено
  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"