nvim: Fix scratchpad functionality

`:ScratchPad` command has been fixed and its functionality slightly
extended:

`:ScratchPad` will replace the current buffer with an empty scratchpad,
with the filetype defined in `g:scratchpad_ft` (or the buffer-scope
equivalent).

`:ScratchPad!` will create a new split and open the empty scratchpad
there.

Additionally, a single argument can be passed to the command with the
name of the filetype that the scratchpad should contain, e.g.
`:Scratchpad! golang`

Most of the plugin process has been shifted to lua and only a single
command mapping remains as vimscript for now.
This commit is contained in:
Marty Oehme 2020-10-23 19:19:04 +02:00
parent 285e74f1a7
commit afbe10c0d1
Signed by: Marty
GPG key ID: B7538B8F50A1C800
3 changed files with 52 additions and 9 deletions

View file

@ -1,5 +1,15 @@
function s:makeScratch()
lua require('scratchpad').makeScratch()
endfunction
" --[[ scratchpad.lua
"
" creates a 'scratch' buffer which is ephemeral --
" it will disappear when vim closes, does not save to anything and does not
" appear in the buffer list. Useful for e.g. jotting down quick notes and thoughts.
"
" If called with bang, will replace the current buffer with the scratch
" window, otherwise opens a new split.
"
" The buffer, by default is set to the pandoc filetype.
" This can be changed by setting the `g:scratchpad_ft` variable or the `b:scratchpad_ft`
" variable to the intended filetype.
" ]]--
command! ScratchPad call s:makeScratch()
command! -nargs=? -bang ScratchPad :lua require("scratchpad").create("<bang>","<args>")