diff options
Diffstat (limited to 'after/ftplugin')
| -rw-r--r-- | after/ftplugin/terraform.vim | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/after/ftplugin/terraform.vim b/after/ftplugin/terraform.vim new file mode 100644 index 00000000..f495e583 --- /dev/null +++ b/after/ftplugin/terraform.vim @@ -0,0 +1,21 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1 +   +if !exists('g:terraform_align') +  let g:terraform_align = 0 +endif + +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 +endif + +endif  | 
