diff options
Diffstat (limited to 'home')
-rw-r--r-- | home/.config/nvim/init.vim | 8 | ||||
-rw-r--r-- | home/.config/nvim/plugin/rfc.vim | 26 |
2 files changed, 26 insertions, 8 deletions
diff --git a/home/.config/nvim/init.vim b/home/.config/nvim/init.vim index b814666b..9245ccf4 100644 --- a/home/.config/nvim/init.vim +++ b/home/.config/nvim/init.vim @@ -35,11 +35,3 @@ nmap <leader>a m':0/^#include <<CR>:nohlsearch<CR>O#include < nmap <leader>l :0read ~/src/etc/agpl.c<CR>'' nmap <leader>L :0read ~/src/etc/gpl.c<CR>'' nmap <leader>d :0delete<CR>:0read !date +'.Dd \%B \%e, \%Y'<CR> - -command! -bar -nargs=? RFC - \ if !empty(<q-args>) | - \ silent noswapfile view ~/src/rfc/rfc<args>.txt.gz | - \ else | RFC -index | endif -autocmd BufRead rfc*.txt.gz - \ setlocal keywordprg=:RFC iskeyword=a-z,A-Z,48-57,.,-,[,] | - \ nmap <buffer> <silent> gO :call search('^Table of Contents', 'bcs')<CR> diff --git a/home/.config/nvim/plugin/rfc.vim b/home/.config/nvim/plugin/rfc.vim new file mode 100644 index 00000000..d0aac655 --- /dev/null +++ b/home/.config/nvim/plugin/rfc.vim @@ -0,0 +1,26 @@ +if !exists('g:rfc_path') + let g:rfc_path = '~/src/rfc' +endif + +function! s:RFC(number) + let number = (empty(a:number) ? '-index' : a:number) + let path = expand(g:rfc_path . '/rfc' . number . '.txt.gz') + if filereadable(path) + execute 'silent' 'noswapfile' 'view' path + else + echohl ErrorMsg | echo 'No such RFC' number | echohl None + endif +endfunction + +function! s:BufRead() + setlocal readonly + setlocal keywordprg=:RFC + setlocal iskeyword=a-z,A-Z,48-57,.,[,],-,_ + nmap <buffer> <silent> gO :call search('^Table of Contents', 'bcs')<CR> +endfunction + +command! -bar -nargs=? RFC call s:RFC(<q-args>) +augroup RFC + autocmd! + autocmd BufRead rfc*.txt.gz call s:BufRead() +augroup END |