summaryrefslogtreecommitdiffstats
path: root/autoload/terraform.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/terraform.vim')
-rw-r--r--autoload/terraform.vim68
1 files changed, 68 insertions, 0 deletions
diff --git a/autoload/terraform.vim b/autoload/terraform.vim
index 210ee59f..db1e3934 100644
--- a/autoload/terraform.vim
+++ b/autoload/terraform.vim
@@ -23,3 +23,71 @@ function! terraform#fmt()
endif
call winrestview(l:curw)
endfunction
+
+function! terraform#folds()
+ 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
+
+function! terraform#foldText()
+ let foldsize = (v:foldend-v:foldstart)
+ return getline(v:foldstart).' ('.foldsize.' lines)'
+endfunction
+
+function! terraform#align()
+ 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
+
+function! terraform#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