From 6eabe3212a481dd8fc272fc68bc38c0c61949c63 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Mon, 21 Dec 2020 17:59:16 -0500 Subject: Move rfc.vim to doc/rfc That default path is a bit wonky, but it prevents having to template rfc.vim for basically no reason. --- doc/rfc/Makefile | 10 ++++++++++ doc/rfc/rfc.vim | 26 ++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 doc/rfc/rfc.vim (limited to 'doc') diff --git a/doc/rfc/Makefile b/doc/rfc/Makefile index a629782d..87462a6c 100644 --- a/doc/rfc/Makefile +++ b/doc/rfc/Makefile @@ -1,3 +1,5 @@ +PREFIX ?= ~/.local + MODULE = ftp.rfc-editor.org::rfcs-text-only tags: rfctags.pl rfc-index.txt.gz @@ -9,3 +11,11 @@ rfc-index.txt.gz: clean: rm -f tags *.txt *.txt.gz + +install: tags rfc.vim + install -d ${PREFIX}/share/rfc ${PREFIX}/share/nvim/site/plugin + ln -f tags *.txt.gz ${PREFIX}/share/rfc + install -m 644 rfc.vim ${PREFIX}/share/nvim/site/plugin + +uninstall: + rm -fr ${PREFIX}/share/rfc ${PREFIX}/share/nvim/site/plugin/rfc.vim diff --git a/doc/rfc/rfc.vim b/doc/rfc/rfc.vim new file mode 100644 index 00000000..56d2085c --- /dev/null +++ b/doc/rfc/rfc.vim @@ -0,0 +1,26 @@ +if !exists('g:rfc_path') + let g:rfc_path = expand(':h:h:h:h') . '/rfc' +endif + +function! s:RFC(number) + let number = (empty(a:number) ? '-index' : str2nr(a:number, 10)) + 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' a:number | echohl None + endif +endfunction + +function! s:BufRead() + setlocal readonly + setlocal keywordprg=:RFC + setlocal iskeyword=a-z,A-Z,48-57,.,[,],-,_ + nmap gO :call search('^Table of Contents', 'bcs') +endfunction + +command! -bar -nargs=? RFC call s:RFC() +augroup RFC + autocmd! + autocmd BufRead rfc*.txt.gz call s:BufRead() +augroup END -- cgit 1.4.1