diff options
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/scratch_buffer.vim | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/autoload/scratch_buffer.vim b/autoload/scratch_buffer.vim index c0ef7cf..4051fa5 100644 --- a/autoload/scratch_buffer.vim +++ b/autoload/scratch_buffer.vim @@ -1,11 +1,28 @@ +" Entry point for :ScratchBuffer command function! scratch_buffer#(mods, count, ...) abort + + " Start building command argument vector let command = [] + + " Add any modifiers first (e.g. :vertical) call add(command, a:mods) - if a:count + + " If a count of more than zero was provided, add that as a prefix for :new + if a:count > 0 call add(command, a:count) endif + + " Add the :new command call add(command, 'new') + + " Add any other arguments passed in call extend(command, a:000) + + " Execute the command execute join(command) + + " Set the new buffer to a scratch 'buftype' to stop it from saving and to + " reassure Vim that it doesn't need to be saved set buftype=nofile + endfunction |