From d43b70d93987c94d15a352cf0026fb93d3317cc8 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Wed, 26 Dec 2018 10:41:57 +0100 Subject: Update --- ftplugin/julia.vim | 7 +- ftplugin/mustache.vim | 4 +- ftplugin/rust.vim | 276 +++++++++++++++++++++++++------------------------ ftplugin/terraform.vim | 4 +- ftplugin/vue.vim | 5 - 5 files changed, 148 insertions(+), 148 deletions(-) (limited to 'ftplugin') diff --git a/ftplugin/julia.vim b/ftplugin/julia.vim index caddabaf..bed55a8f 100644 --- a/ftplugin/julia.vim +++ b/ftplugin/julia.vim @@ -34,7 +34,10 @@ if exists("loaded_matchit") " note: begin_keywords must contain all blocks in order " for nested-structures-skipping to work properly let b:julia_begin_keywords = '\%(\%(\.\s*\)\@' - let s:macro_regex = '@\%(#\@!\S\)\+\s\+' + " note: the following regex not only recognizes macros, but also local/global keywords. + " the purpose is recognizing things like `@inline myfunction()` + " or `global myfunction(...)` etc, for matchit and block movement functionality + let s:macro_regex = '\%(@\%(#\@!\S\)\+\|\<\%(local\|global\)\)\s\+' let s:nomacro = '\%(' . s:macro_regex . '\)\@') =~# '\<\%(global\|local\)\>' normal! W if line('.') > l || col('.') == c1 call cursor(l, c) diff --git a/ftplugin/mustache.vim b/ftplugin/mustache.vim index 69b53620..a057c092 100644 --- a/ftplugin/mustache.vim +++ b/ftplugin/mustache.vim @@ -1,9 +1,9 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'handlebars') == -1 -if exists('g:loaded_mustache_handlebars') && g:loaded_mustache_handlebars +if exists('b:loaded_mustache_handlebars') finish endif -let g:loaded_mustache_handlebars = 1 +let b:loaded_mustache_handlebars = 1 let s:cpo_save = &cpo set cpo&vim diff --git a/ftplugin/rust.vim b/ftplugin/rust.vim index ead86d13..cdc318f1 100644 --- a/ftplugin/rust.vim +++ b/ftplugin/rust.vim @@ -17,176 +17,178 @@ let s:save_cpo = &cpo set cpo&vim " vint: +ProhibitAbbreviationOption -augroup rust.vim - autocmd! - - if get(b:, 'current_compiler', '') ==# '' - if strlen(findfile('Cargo.toml', '.;')) > 0 - compiler cargo - else - compiler rustc - endif - endif - - " Variables {{{1 - - " The rust source code at present seems to typically omit a leader on /*! - " comments, so we'll use that as our default, but make it easy to switch. - " This does not affect indentation at all (I tested it with and without - " leader), merely whether a leader is inserted by default or not. - if get(g:, 'rust_bang_comment_leader', 0) - " Why is the `,s0:/*,mb:\ ,ex:*/` there, you ask? I don't understand why, - " but without it, */ gets indented one space even if there were no - " leaders. I'm fairly sure that's a Vim bug. - setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,:// +if get(b:, 'current_compiler', '') ==# '' + if strlen(findfile('Cargo.toml', '.;')) > 0 + compiler cargo else - setlocal comments=s0:/*!,m:\ ,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,:// - endif - setlocal commentstring=//%s - setlocal formatoptions-=t formatoptions+=croqnl - " j was only added in 7.3.541, so stop complaints about its nonexistence - silent! setlocal formatoptions+=j - - " smartindent will be overridden by indentexpr if filetype indent is on, but - " otherwise it's better than nothing. - setlocal smartindent nocindent - - if get(g:, 'rust_recommended_style', 1) - let b:rust_set_style = 1 - setlocal tabstop=8 shiftwidth=4 softtabstop=4 expandtab - setlocal textwidth=99 + compiler rustc endif +endif - " This includeexpr isn't perfect, but it's a good start - setlocal includeexpr=substitute(v:fname,'::','/','g') +" Variables {{{1 + +" The rust source code at present seems to typically omit a leader on /*! +" comments, so we'll use that as our default, but make it easy to switch. +" This does not affect indentation at all (I tested it with and without +" leader), merely whether a leader is inserted by default or not. +if get(g:, 'rust_bang_comment_leader', 0) + " Why is the `,s0:/*,mb:\ ,ex:*/` there, you ask? I don't understand why, + " but without it, */ gets indented one space even if there were no + " leaders. I'm fairly sure that's a Vim bug. + setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,:// +else + setlocal comments=s0:/*!,m:\ ,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,:// +endif +setlocal commentstring=//%s +setlocal formatoptions-=t formatoptions+=croqnl +" j was only added in 7.3.541, so stop complaints about its nonexistence +silent! setlocal formatoptions+=j + +" smartindent will be overridden by indentexpr if filetype indent is on, but +" otherwise it's better than nothing. +setlocal smartindent nocindent + +if get(g:, 'rust_recommended_style', 1) + let b:rust_set_style = 1 + setlocal tabstop=8 shiftwidth=4 softtabstop=4 expandtab + setlocal textwidth=99 +endif + +" This includeexpr isn't perfect, but it's a good start +setlocal includeexpr=substitute(v:fname,'::','/','g') - setlocal suffixesadd=.rs +setlocal suffixesadd=.rs - if exists("g:ftplugin_rust_source_path") - let &l:path=g:ftplugin_rust_source_path . ',' . &l:path +if exists("g:ftplugin_rust_source_path") + let &l:path=g:ftplugin_rust_source_path . ',' . &l:path +endif + +if exists("g:loaded_delimitMate") + if exists("b:delimitMate_excluded_regions") + let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions endif - if exists("g:loaded_delimitMate") - if exists("b:delimitMate_excluded_regions") - let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions - endif + augroup rust.vim.DelimitMate + autocmd! autocmd User delimitMate_map :call rust#delimitmate#onMap() autocmd User delimitMate_unmap :call rust#delimitmate#onUnmap() - endif + augroup END +endif - " Integration with auto-pairs (https://github.com/jiangmiao/auto-pairs) - if exists("g:AutoPairsLoaded") && !get(g:, 'rust_keep_autopairs_default', 0) - let b:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', '`':'`'} - endif +" Integration with auto-pairs (https://github.com/jiangmiao/auto-pairs) +if exists("g:AutoPairsLoaded") && !get(g:, 'rust_keep_autopairs_default', 0) + let b:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', '`':'`'} +endif - if has("folding") && get(g:, 'rust_fold', 0) - let b:rust_set_foldmethod=1 - setlocal foldmethod=syntax - if g:rust_fold == 2 - setlocal foldlevel< - else - setlocal foldlevel=99 - endif +if has("folding") && get(g:, 'rust_fold', 0) + let b:rust_set_foldmethod=1 + setlocal foldmethod=syntax + if g:rust_fold == 2 + setlocal foldlevel< + else + setlocal foldlevel=99 endif +endif - if has('conceal') && get(g:, 'rust_conceal', 0) - let b:rust_set_conceallevel=1 - setlocal conceallevel=2 - endif +if has('conceal') && get(g:, 'rust_conceal', 0) + let b:rust_set_conceallevel=1 + setlocal conceallevel=2 +endif - " Motion Commands {{{1 +" Motion Commands {{{1 - " Bind motion commands to support hanging indents - nnoremap [[ :call rust#Jump('n', 'Back') - nnoremap ]] :call rust#Jump('n', 'Forward') - xnoremap [[ :call rust#Jump('v', 'Back') - xnoremap ]] :call rust#Jump('v', 'Forward') - onoremap [[ :call rust#Jump('o', 'Back') - onoremap ]] :call rust#Jump('o', 'Forward') +" Bind motion commands to support hanging indents +nnoremap [[ :call rust#Jump('n', 'Back') +nnoremap ]] :call rust#Jump('n', 'Forward') +xnoremap [[ :call rust#Jump('v', 'Back') +xnoremap ]] :call rust#Jump('v', 'Forward') +onoremap [[ :call rust#Jump('o', 'Back') +onoremap ]] :call rust#Jump('o', 'Forward') - " Commands {{{1 +" Commands {{{1 - " See |:RustRun| for docs - command! -nargs=* -complete=file -bang -buffer RustRun call rust#Run(0, ) +" See |:RustRun| for docs +command! -nargs=* -complete=file -bang -buffer RustRun call rust#Run(0, ) - " See |:RustExpand| for docs - command! -nargs=* -complete=customlist,rust#CompleteExpand -bang -buffer RustExpand call rust#Expand(0, ) +" See |:RustExpand| for docs +command! -nargs=* -complete=customlist,rust#CompleteExpand -bang -buffer RustExpand call rust#Expand(0, ) - " See |:RustEmitIr| for docs - command! -nargs=* -buffer RustEmitIr call rust#Emit("llvm-ir", ) +" See |:RustEmitIr| for docs +command! -nargs=* -buffer RustEmitIr call rust#Emit("llvm-ir", ) - " See |:RustEmitAsm| for docs - command! -nargs=* -buffer RustEmitAsm call rust#Emit("asm", ) +" See |:RustEmitAsm| for docs +command! -nargs=* -buffer RustEmitAsm call rust#Emit("asm", ) - " See |:RustPlay| for docs - command! -range=% RustPlay :call rust#Play(, , , ) +" See |:RustPlay| for docs +command! -range=% RustPlay :call rust#Play(, , , ) - " See |:RustFmt| for docs - command! -buffer RustFmt call rustfmt#Format() +" See |:RustFmt| for docs +command! -buffer RustFmt call rustfmt#Format() - " See |:RustFmtRange| for docs - command! -range -buffer RustFmtRange call rustfmt#FormatRange(, ) +" See |:RustFmtRange| for docs +command! -range -buffer RustFmtRange call rustfmt#FormatRange(, ) - " See |:RustInfo| for docs - command! -bar RustInfo call rust#debugging#Info() +" See |:RustInfo| for docs +command! -bar RustInfo call rust#debugging#Info() - " See |:RustInfoToClipboard| for docs - command! -bar RustInfoToClipboard call rust#debugging#InfoToClipboard() +" See |:RustInfoToClipboard| for docs +command! -bar RustInfoToClipboard call rust#debugging#InfoToClipboard() - " See |:RustInfoToFile| for docs - command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile() +" See |:RustInfoToFile| for docs +command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile() - " See |:RustTest| for docs - command! -buffer -nargs=* -bang RustTest call rust#Test(0, ) +" See |:RustTest| for docs +command! -buffer -nargs=* -bang RustTest call rust#Test(0, ) - if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args") - let b:rust_last_rustc_args = [] - let b:rust_last_args = [] - endif +if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args") + let b:rust_last_rustc_args = [] + let b:rust_last_args = [] +endif - " Cleanup {{{1 - - let b:undo_ftplugin = " - \ setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd< - \|if exists('b:rust_set_style') - \|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth< - \|endif - \|if exists('b:rust_original_delimitMate_excluded_regions') - \|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions - \|unlet b:rust_original_delimitMate_excluded_regions - \|else - \|unlet! b:delimitMate_excluded_regions +" Cleanup {{{1 + +let b:undo_ftplugin = " + \ setlocal formatoptions< comments< commentstring< includeexpr< suffixesadd< + \|if exists('b:rust_set_style') + \|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth< + \|endif + \|if exists('b:rust_original_delimitMate_excluded_regions') + \|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions + \|unlet b:rust_original_delimitMate_excluded_regions + \|else + \|unlet! b:delimitMate_excluded_regions + \|endif + \|if exists('b:rust_set_foldmethod') + \|setlocal foldmethod< foldlevel< + \|unlet b:rust_set_foldmethod \|endif - \|if exists('b:rust_set_foldmethod') - \|setlocal foldmethod< foldlevel< - \|unlet b:rust_set_foldmethod + \|if exists('b:rust_set_conceallevel') + \|setlocal conceallevel< + \|unlet b:rust_set_conceallevel \|endif - \|if exists('b:rust_set_conceallevel') - \|setlocal conceallevel< - \|unlet b:rust_set_conceallevel - \|endif - \|unlet! b:rust_last_rustc_args b:rust_last_args - \|delcommand RustRun - \|delcommand RustExpand - \|delcommand RustEmitIr - \|delcommand RustEmitAsm - \|delcommand RustPlay - \|nunmap [[ - \|nunmap ]] - \|xunmap [[ - \|xunmap ]] - \|ounmap [[ - \|ounmap ]] - \|setlocal matchpairs-=<:> - \|unlet b:match_skip - \" - - " }}}1 - - " Code formatting on save + \|unlet! b:rust_last_rustc_args b:rust_last_args + \|delcommand RustRun + \|delcommand RustExpand + \|delcommand RustEmitIr + \|delcommand RustEmitAsm + \|delcommand RustPlay + \|nunmap [[ + \|nunmap ]] + \|xunmap [[ + \|xunmap ]] + \|ounmap [[ + \|ounmap ]] + \|setlocal matchpairs-=<:> + \|unlet b:match_skip + \" + +" }}}1 + +" Code formatting on save +augroup rust.vim.PreWrite + autocmd! autocmd BufWritePre silent! call rustfmt#PreWrite() - augroup END setlocal matchpairs+=<:> diff --git a/ftplugin/terraform.vim b/ftplugin/terraform.vim index ce646377..bbebacbc 100644 --- a/ftplugin/terraform.vim +++ b/ftplugin/terraform.vim @@ -61,9 +61,9 @@ endfunction augroup terraform autocmd! - autocmd VimEnter * + autocmd BufEnter * \ command! -nargs=+ -complete=custom,s:commands Terraform execute '!terraform '.. ' -no-color' - autocmd VimEnter * command! -nargs=0 TerraformFmt call terraform#fmt() + autocmd BufEnter * command! -nargs=0 TerraformFmt call terraform#fmt() if get(g:, "terraform_fmt_on_save", 1) autocmd BufWritePre *.tf call terraform#fmt() autocmd BufWritePre *.tfvars call terraform#fmt() diff --git a/ftplugin/vue.vim b/ftplugin/vue.vim index 2f57d65d..194bf6fe 100644 --- a/ftplugin/vue.vim +++ b/ftplugin/vue.vim @@ -20,9 +20,4 @@ if !exists('g:no_plugin_maps') && !exists('g:no_vue_maps') nnoremap ][ :call search('^script\style\)', 'W') endif -" Run only ESLint for Vue files by default. -" linters specifically for Vue can still be loaded. -let b:ale_linter_aliases = get(get(g:, 'ale_linter_aliases', {}), 'vue', ['vue', 'javascript']) -let b:ale_linters = get(get(g:, 'ale_linters', {}), 'vue', ['eslint', 'vls']) - endif -- cgit v1.2.3