summaryrefslogtreecommitdiffstats
path: root/after/ftplugin
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2017-05-17 11:07:28 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2017-05-17 11:07:28 +0200
commitaf870100716f20ee4daef9cc527a9ecf41b54114 (patch)
tree0859464c3145682cbfc29ad08de4527dd661abf7 /after/ftplugin
parentef369d45a505403587ea0bae30ce6768ba51398c (diff)
downloadvim-polyglot-af870100716f20ee4daef9cc527a9ecf41b54114.tar.gz
vim-polyglot-af870100716f20ee4daef9cc527a9ecf41b54114.zip
Update
Diffstat (limited to 'after/ftplugin')
-rw-r--r--after/ftplugin/terraform.vim33
1 files changed, 33 insertions, 0 deletions
diff --git a/after/ftplugin/terraform.vim b/after/ftplugin/terraform.vim
index 17115b1b..add09445 100644
--- a/after/ftplugin/terraform.vim
+++ b/after/ftplugin/terraform.vim
@@ -18,6 +18,38 @@ if g:terraform_align && exists(':Tabularize')
endfunction
endif
+
+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"
+ else
+ return "="
+ endif
+endfunction
+setlocal foldmethod=expr
+setlocal foldexpr=TerraformFolds()
+setlocal foldlevel=1
+
+function! TerraformFoldText()
+ let foldsize = (v:foldend-v:foldstart)
+ return getline(v:foldstart).' ('.foldsize.' lines)'
+endfunction
+setlocal foldtext=TerraformFoldText()
+
+"inoremap <space> <C-O>za
+nnoremap <space> za
+onoremap <space> <C-C>za
+vnoremap <space> zf
+
" Match the identation put in place by Hashicorp and :TerraformFmt, https://github.com/hashivim/vim-terraform/issues/21
if get(g:, "terraform_align", 1)
setlocal tabstop=2
@@ -25,4 +57,5 @@ if get(g:, "terraform_align", 1)
setlocal shiftwidth=2
endif
+
endif