diff options
Diffstat (limited to 'after')
-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 |