From aa288d9289bc57e44cbb1f50a74c38de63d639ad Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Tue, 5 Jun 2018 13:09:23 +1200 Subject: Restore ftplugin extras to vim/after dir This reverts commit a14bc50. Changed my mind; decided it's tidier this way. --- Makefile | 9 +-- vim/after/ftplugin/markdown/autoformat.vim | 108 +++++++++++++++++++++++++++++ vim/after/ftplugin/markdown/spell.vim | 21 ++++++ vim/after/ftplugin/php/check.vim | 57 +++++++++++++++ vim/ftplugin/markdown/autoformat.vim | 108 ----------------------------- vim/ftplugin/markdown/spell.vim | 21 ------ vim/ftplugin/php/check.vim | 57 --------------- 7 files changed, 188 insertions(+), 193 deletions(-) create mode 100644 vim/after/ftplugin/markdown/autoformat.vim create mode 100644 vim/after/ftplugin/markdown/spell.vim create mode 100644 vim/after/ftplugin/php/check.vim delete mode 100644 vim/ftplugin/markdown/autoformat.vim delete mode 100644 vim/ftplugin/markdown/spell.vim delete mode 100644 vim/ftplugin/php/check.vim diff --git a/Makefile b/Makefile index 134935ae..7cc4ad1d 100644 --- a/Makefile +++ b/Makefile @@ -546,13 +546,8 @@ install-vim-ftdetect: cp -p -- vim/ftdetect/*.vim $(VIMDIR)/ftdetect install-vim-ftplugin: - mkdir -p $(VIMDIR)/ftplugin - find vim/ftplugin \ - -type d -exec sh -c \ - 'mkdir -p -- $(VIMDIR)/"$${1#vim/}"' _ {} \; \ - -o \ - -type f -exec sh -c \ - 'cp -p -- "$$1" $(VIMDIR)/"$${1#vim/}"' _ {} \; + mkdir -p -- $(VIMDIR)/indent + cp -p -- vim/indent/*.vim $(VIMDIR)/indent install-vim-indent: mkdir -p -- $(VIMDIR)/indent diff --git a/vim/after/ftplugin/markdown/autoformat.vim b/vim/after/ftplugin/markdown/autoformat.vim new file mode 100644 index 00000000..aa805267 --- /dev/null +++ b/vim/after/ftplugin/markdown/autoformat.vim @@ -0,0 +1,108 @@ +" +" markdown/autoformat.vim: Refine control over the 'formatoptions' flag 'a' +" for automatic formatting when editing Markdown documents: +" +" - Turn it on automatically on load if the buffer looks wrapped +" - Suspend it if editing a line in a code block (indented by four spaces) +" - Suspend it if pasting something with a linebreak +" +" Author: Tom Ryder +" License: Same as Vim itself +" +if exists('b:did_ftplugin_markdown_autoformat') || &compatible + finish +endif +if !has('autocmd') || v:version < 700 + finish +endif +let b:did_ftplugin_markdown_autoformat = 1 +if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|unlet b:did_ftplugin_markdown_autoformat' +endif + +" Turn on autoformatting if less than 5% of the buffer's lines meet all three +" of these conditions: +" +" - Longer than 'textwidth' +" - Contains at least one space (not an unsplittable line) +" - Not a code block (indented with at least four spaces) +" +if !exists('*s:Load') + function! s:Load() abort + let l:width = &textwidth ? &textwidth : 79 + let l:count = 0 + let l:total = line('$') + for l:li in range(1, l:total) + let l:line = getline(l:li) + if strlen(l:line) > l:width + \ && stridx(l:line, ' ') > -1 + \ && l:line !~# '\m^ ' + let l:count += 1 + endif + endfor + if l:count * 100 / l:total < 5 + setlocal formatoptions+=a + else + setlocal formatoptions-=a + endif + endfunction +endif +if !exists('g:markdown_autoformat_load') || g:markdown_autoformat_load + call s:Load() +endif + +" Suspend auto-formatting when in a code block (four-space indent) +if !exists('*s:Line') + function! s:Line() abort + if getline('.') =~# '\m^ ' + if &formatoptions =~# '\ma' + setlocal formatoptions-=a + let b:markdown_autoformat_suspended = 1 + endif + elseif exists('b:markdown_autoformat_suspended') + setlocal formatoptions+=a + unlet b:markdown_autoformat_suspended + endif + endfunction +endif +if !exists('g:markdown_autoformat_line') || g:markdown_autoformat_line + augroup ftplugin_markdown_autoformat + autocmd! + autocmd BufWinEnter,CursorMoved,CursorMovedI,WinEnter + \ + \ call s:Line() + augroup END +endif + +" Suspend auto-format when pasting anything with a linebreak +if !exists('*s:Put') + function! s:Put(key) abort + let l:suspended = 0 + if &formatoptions =~# '\ma' && getreg() =~# '\m\n' + setlocal formatoptions-=a + let l:suspended = 1 + endif + execute 'normal! "'.v:register.v:count1.a:key + if l:suspended + setlocal formatoptions+=a + endif + endfunction +endif +if !exists('g:markdown_autoformat_put') || g:markdown_autoformat_put + nnoremap + \ p + \ :call Put('p') + nnoremap + \ P + \ :call Put('P') +endif + +" Undo all the above +if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|setlocal formatoptions<' + \ . '|augroup ftplugin_markdown_autoformat' + \ . '|autocmd! * ' + \ . '|augroup END' +endif diff --git a/vim/after/ftplugin/markdown/spell.vim b/vim/after/ftplugin/markdown/spell.vim new file mode 100644 index 00000000..05fc7c00 --- /dev/null +++ b/vim/after/ftplugin/markdown/spell.vim @@ -0,0 +1,21 @@ +" Only do this when not done yet for this buffer +" Also do nothing if 'compatible' enabled, or if the 'spell' feature isn't +" available +if exists('b:did_ftplugin_markdown_spell') || &compatible + finish +endif +if !has('spell') + finish +endif +let b:did_ftplugin_markdown_spell = 1 +if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|unlet b:did_ftplugin_markdown_spell' +endif + +" Spellcheck documents by default +setlocal spell +if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|setlocal spell<' +endif diff --git a/vim/after/ftplugin/php/check.vim b/vim/after/ftplugin/php/check.vim new file mode 100644 index 00000000..33077a72 --- /dev/null +++ b/vim/after/ftplugin/php/check.vim @@ -0,0 +1,57 @@ +" Only do this when not done yet for this buffer +" Also do nothing if 'compatible' enabled +if exists('b:did_ftplugin_php_check') || &compatible + finish +endif +let b:did_ftplugin_php_check = 1 +if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|unlet b:did_ftplugin_php_check' +endif + +" Build function for checker +if !exists('*s:PhpCheck') + function s:PhpCheck() + let l:save_makeprg = &l:makeprg + let l:save_errorformat = &l:errorformat + unlet! g:current_compiler + compiler php + + " 7.4.191 is the earliest version with the :S file name modifier, which we + " really should use if we can + if v:version >= 704 || v:version == 704 && has('patch191') + make! %:S + else + make! % + endif + + let &l:makeprg = l:save_makeprg + let &l:errorformat = l:save_errorformat + cwindow + endfunction +endif + +" Set up a mapping for the checker, if we're allowed +if !exists('g:no_plugin_maps') && !exists('g:no_php_maps') + + " Define a mapping target + nnoremap + \ PhpCheck + \ :call PhpCheck() + if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|nunmap PhpCheck' + endif + + " If there isn't a key mapping already, use a default one + if !hasmapto('PhpCheck') + nmap + \ c + \ PhpCheck + if exists('b:undo_ftplugin') + let b:undo_ftplugin = b:undo_ftplugin + \ . '|nunmap c' + endif + endif + +endif diff --git a/vim/ftplugin/markdown/autoformat.vim b/vim/ftplugin/markdown/autoformat.vim deleted file mode 100644 index aa805267..00000000 --- a/vim/ftplugin/markdown/autoformat.vim +++ /dev/null @@ -1,108 +0,0 @@ -" -" markdown/autoformat.vim: Refine control over the 'formatoptions' flag 'a' -" for automatic formatting when editing Markdown documents: -" -" - Turn it on automatically on load if the buffer looks wrapped -" - Suspend it if editing a line in a code block (indented by four spaces) -" - Suspend it if pasting something with a linebreak -" -" Author: Tom Ryder -" License: Same as Vim itself -" -if exists('b:did_ftplugin_markdown_autoformat') || &compatible - finish -endif -if !has('autocmd') || v:version < 700 - finish -endif -let b:did_ftplugin_markdown_autoformat = 1 -if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|unlet b:did_ftplugin_markdown_autoformat' -endif - -" Turn on autoformatting if less than 5% of the buffer's lines meet all three -" of these conditions: -" -" - Longer than 'textwidth' -" - Contains at least one space (not an unsplittable line) -" - Not a code block (indented with at least four spaces) -" -if !exists('*s:Load') - function! s:Load() abort - let l:width = &textwidth ? &textwidth : 79 - let l:count = 0 - let l:total = line('$') - for l:li in range(1, l:total) - let l:line = getline(l:li) - if strlen(l:line) > l:width - \ && stridx(l:line, ' ') > -1 - \ && l:line !~# '\m^ ' - let l:count += 1 - endif - endfor - if l:count * 100 / l:total < 5 - setlocal formatoptions+=a - else - setlocal formatoptions-=a - endif - endfunction -endif -if !exists('g:markdown_autoformat_load') || g:markdown_autoformat_load - call s:Load() -endif - -" Suspend auto-formatting when in a code block (four-space indent) -if !exists('*s:Line') - function! s:Line() abort - if getline('.') =~# '\m^ ' - if &formatoptions =~# '\ma' - setlocal formatoptions-=a - let b:markdown_autoformat_suspended = 1 - endif - elseif exists('b:markdown_autoformat_suspended') - setlocal formatoptions+=a - unlet b:markdown_autoformat_suspended - endif - endfunction -endif -if !exists('g:markdown_autoformat_line') || g:markdown_autoformat_line - augroup ftplugin_markdown_autoformat - autocmd! - autocmd BufWinEnter,CursorMoved,CursorMovedI,WinEnter - \ - \ call s:Line() - augroup END -endif - -" Suspend auto-format when pasting anything with a linebreak -if !exists('*s:Put') - function! s:Put(key) abort - let l:suspended = 0 - if &formatoptions =~# '\ma' && getreg() =~# '\m\n' - setlocal formatoptions-=a - let l:suspended = 1 - endif - execute 'normal! "'.v:register.v:count1.a:key - if l:suspended - setlocal formatoptions+=a - endif - endfunction -endif -if !exists('g:markdown_autoformat_put') || g:markdown_autoformat_put - nnoremap - \ p - \ :call Put('p') - nnoremap - \ P - \ :call Put('P') -endif - -" Undo all the above -if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|setlocal formatoptions<' - \ . '|augroup ftplugin_markdown_autoformat' - \ . '|autocmd! * ' - \ . '|augroup END' -endif diff --git a/vim/ftplugin/markdown/spell.vim b/vim/ftplugin/markdown/spell.vim deleted file mode 100644 index 05fc7c00..00000000 --- a/vim/ftplugin/markdown/spell.vim +++ /dev/null @@ -1,21 +0,0 @@ -" Only do this when not done yet for this buffer -" Also do nothing if 'compatible' enabled, or if the 'spell' feature isn't -" available -if exists('b:did_ftplugin_markdown_spell') || &compatible - finish -endif -if !has('spell') - finish -endif -let b:did_ftplugin_markdown_spell = 1 -if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|unlet b:did_ftplugin_markdown_spell' -endif - -" Spellcheck documents by default -setlocal spell -if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|setlocal spell<' -endif diff --git a/vim/ftplugin/php/check.vim b/vim/ftplugin/php/check.vim deleted file mode 100644 index 33077a72..00000000 --- a/vim/ftplugin/php/check.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Only do this when not done yet for this buffer -" Also do nothing if 'compatible' enabled -if exists('b:did_ftplugin_php_check') || &compatible - finish -endif -let b:did_ftplugin_php_check = 1 -if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|unlet b:did_ftplugin_php_check' -endif - -" Build function for checker -if !exists('*s:PhpCheck') - function s:PhpCheck() - let l:save_makeprg = &l:makeprg - let l:save_errorformat = &l:errorformat - unlet! g:current_compiler - compiler php - - " 7.4.191 is the earliest version with the :S file name modifier, which we - " really should use if we can - if v:version >= 704 || v:version == 704 && has('patch191') - make! %:S - else - make! % - endif - - let &l:makeprg = l:save_makeprg - let &l:errorformat = l:save_errorformat - cwindow - endfunction -endif - -" Set up a mapping for the checker, if we're allowed -if !exists('g:no_plugin_maps') && !exists('g:no_php_maps') - - " Define a mapping target - nnoremap - \ PhpCheck - \ :call PhpCheck() - if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|nunmap PhpCheck' - endif - - " If there isn't a key mapping already, use a default one - if !hasmapto('PhpCheck') - nmap - \ c - \ PhpCheck - if exists('b:undo_ftplugin') - let b:undo_ftplugin = b:undo_ftplugin - \ . '|nunmap c' - endif - endif - -endif -- cgit v1.2.3