aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2019-06-16 20:46:57 +1200
committerTom Ryder <tom@sanctum.geek.nz>2019-06-16 20:46:57 +1200
commit72195cf648af3c9db85a0f864574965dc6b8409d (patch)
tree231786e5251d78c0dd38a339745716ba84f10b0f
parenta01eba1329fc53e2ed13862f3e4c86cb9d0a0392 (diff)
downloaddotfiles-72195cf648af3c9db85a0f864574965dc6b8409d.tar.gz
Refactor select_old_files.vim to allow count
-rw-r--r--vim/autoload/select_old_files.vim16
-rw-r--r--vim/plugin/select_old_files.vim4
2 files changed, 15 insertions, 5 deletions
diff --git a/vim/autoload/select_old_files.vim b/vim/autoload/select_old_files.vim
index 518b98d4..aceff110 100644
--- a/vim/autoload/select_old_files.vim
+++ b/vim/autoload/select_old_files.vim
@@ -1,7 +1,17 @@
-function! select_old_files#() abort
+function! select_old_files#(...) abort
+ if a:0
+ if a:1 =~# '^\d\+$'
+ let limit = a:1
+ else
+ echoerr 'Invalid count'
+ endif
+ elseif exists('g:select_old_files_limit')
+ let limit = g:select_old_files_limit
+ else
+ let limit = &lines - 2
+ endif
let oldfiles = v:oldfiles
- let limit = get(g:, 'select_old_files_limit', &lines - 1)
- let v:oldfiles = v:oldfiles[:limit-2]
+ let v:oldfiles = v:oldfiles[:limit - 1]
browse oldfiles
let v:oldfiles = oldfiles
endfunction
diff --git a/vim/plugin/select_old_files.vim b/vim/plugin/select_old_files.vim
index c03f0c39..77c7746e 100644
--- a/vim/plugin/select_old_files.vim
+++ b/vim/plugin/select_old_files.vim
@@ -2,7 +2,7 @@ if exists('loaded_select_old_files') || &compatible || !exists(':oldfiles')
finish
endif
let loaded_select_old_files = 1
-command! -bar SelectOldFiles
- \ call select_old_files#()
+command! -bar -nargs=? SelectOldFiles
+ \ call select_old_files#(<f-args>)
nnoremap <Plug>SelectOldFiles
\ :<C-U>SelectOldFiles<CR>