summaryrefslogtreecommitdiffstats
path: root/ftplugin
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin')
-rw-r--r--ftplugin/scala.vim4
-rw-r--r--ftplugin/terraform.vim138
2 files changed, 30 insertions, 112 deletions
diff --git a/ftplugin/scala.vim b/ftplugin/scala.vim
index 817b6f99..d843daa9 100644
--- a/ftplugin/scala.vim
+++ b/ftplugin/scala.vim
@@ -29,8 +29,8 @@ setlocal commentstring=//\ %s
setlocal shiftwidth=2 softtabstop=2 expandtab
-setlocal include='^\s*import'
-setlocal includeexpr='substitute(v:fname,"\\.","/","g")'
+setlocal include=^\\s*import
+setlocal includeexpr=substitute(v:fname,'\\.','/','g')
setlocal path+=src/main/scala,src/test/scala
setlocal suffixesadd=.scala
diff --git a/ftplugin/terraform.vim b/ftplugin/terraform.vim
index fd4c2be0..e8ed9fb3 100644
--- a/ftplugin/terraform.vim
+++ b/ftplugin/terraform.vim
@@ -11,127 +11,44 @@ endif
let b:did_ftplugin = 1
let s:cpo_save = &cpoptions
-
-setlocal formatoptions-=t
-let b:undo_ftplugin = 'setlocal formatoptions<'
-
-" Include hyphens as keyword characters so that a keyword appearing as part of
-" a longer name doesn't get partially highlighted.
-setlocal iskeyword+=-
-let b:undo_ftplugin .= ' iskeyword<'
-
set cpoptions&vim
-if !exists('g:terraform_align')
- let g:terraform_align = 0
-endif
-
-if !exists('g:terraform_remap_spacebar')
- let g:terraform_remap_spacebar = 0
-endif
-
-if !exists('g:terraform_fold_sections')
- let g:terraform_fold_sections = 0
-endif
+" j is a relatively recent addition; silence warnings when setting it.
+setlocal formatoptions-=t formatoptions+=croql
+silent! setlocal formatoptions+=j
+let b:undo_ftplugin = 'setlocal formatoptions<'
-if g:terraform_align && exists(':Tabularize')
- inoremap <buffer> <silent> = =<Esc>:call <SID>terraformalign()<CR>a
- function! s:terraformalign()
- let p = '^.*=[^>]*$'
- if exists(':Tabularize') && getline('.') =~# '^.*=' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
- let column = strlen(substitute(getline('.')[0:col('.')],'[^=]','','g'))
- let position = strlen(matchstr(getline('.')[0:col('.')],'.*=\s*\zs.*'))
- Tabularize/=/l1
- normal! 0
- call search(repeat('[^=]*=',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
- endif
- endfunction
+if !has('patch-7.4.1142')
+ " Include hyphens as keyword characters so that a keyword appearing as
+ " part of a longer name doesn't get partially highlighted.
+ setlocal iskeyword+=-
+ let b:undo_ftplugin .= ' iskeyword<'
endif
-if g:terraform_fold_sections
- function! TerraformFolds()
- let thisline = getline(v:lnum)
- if match(thisline, '^resource') >= 0
- return '>1'
- elseif match(thisline, '^provider') >= 0
- return '>1'
- elseif match(thisline, '^module') >= 0
- return '>1'
- elseif match(thisline, '^variable') >= 0
- return '>1'
- elseif match(thisline, '^output') >= 0
- return '>1'
- elseif match(thisline, '^data') >= 0
- return '>1'
- elseif match(thisline, '^terraform') >= 0
- return '>1'
- elseif match(thisline, '^locals') >= 0
- return '>1'
- else
- return '='
- endif
- endfunction
+if get(g:, 'terraform_fold_sections', 0)
setlocal foldmethod=expr
- setlocal foldexpr=TerraformFolds()
+ setlocal foldexpr=terraform#folds()
setlocal foldlevel=1
- let b:undo_ftplugin .= ' foldmethod< foldexpr< foldlevel<'
-
- function! TerraformFoldText()
- let foldsize = (v:foldend-v:foldstart)
- return getline(v:foldstart).' ('.foldsize.' lines)'
- endfunction
- setlocal foldtext=TerraformFoldText()
- let b:undo_ftplugin .= ' foldtext<'
-endif
-
-" Re-map the space bar to fold and unfold
-if get(g:, 'terraform_remap_spacebar', 1)
- "inoremap <space> <C-O>za
- nnoremap <space> za
- onoremap <space> <C-C>za
- vnoremap <space> zf
+ setlocal foldtext=terraform#foldText()
+ let b:undo_ftplugin .= ' foldmethod< foldexpr< foldlevel< foldtext<'
endif
" Set the commentstring
-if exists('g:terraform_commentstring')
- let &l:commentstring=g:terraform_commentstring
-else
- setlocal commentstring=#%s
-endif
+let &l:commentstring = get(g:, 'terraform_commentstring', '#%s')
let b:undo_ftplugin .= ' commentstring<'
-if !exists('g:terraform_fmt_on_save')
- let g:terraform_fmt_on_save = 0
+" Re-map the space bar to fold and unfold
+if get(g:, 'terraform_remap_spacebar', 0)
+ nnoremap <buffer> <space> za
+ onoremap <buffer> <space> <C-C>za
+ vnoremap <buffer> <space> zf
+ let b:undo_ftplugin .= '|unmap <buffer> <space>'
endif
-function! s:commands(A, L, P)
- return [
- \ 'apply',
- \ 'console',
- \ 'destroy',
- \ 'env',
- \ 'fmt',
- \ 'get',
- \ 'graph',
- \ 'import',
- \ 'init',
- \ 'output',
- \ 'plan',
- \ 'providers',
- \ 'push',
- \ 'refresh',
- \ 'show',
- \ 'taint',
- \ 'untaint',
- \ 'validate',
- \ 'version',
- \ 'workspace',
- \ '0.12checklist',
- \ 'debug',
- \ 'force-unlock',
- \ 'state'
- \ ]
-endfunction
+if get(g:, 'terraform_align', 0) && exists(':Tabularize')
+ inoremap <buffer> <silent> = =<Esc>:call terraform#align()<CR>a
+ let b:undo_ftplugin .= '|iunmap <buffer> ='
+endif
let &cpoptions = s:cpo_save
unlet s:cpo_save
@@ -141,13 +58,14 @@ if !executable('terraform')
endif
let s:cpo_save = &cpoptions
+set cpoptions&vim
-command! -nargs=+ -complete=customlist,s:commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
+command! -nargs=+ -complete=customlist,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
command! -nargs=0 -buffer TerraformFmt call terraform#fmt()
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'
-if get(g:, 'terraform_fmt_on_save', 1)
- augroup terraform
+if get(g:, 'terraform_fmt_on_save', 0)
+ augroup vim.terraform.fmt
autocmd!
autocmd BufWritePre *.tf call terraform#fmt()
autocmd BufWritePre *.tfvars call terraform#fmt()