summaryrefslogtreecommitdiffstats
path: root/syntax/terraform.vim
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/terraform.vim')
-rw-r--r--syntax/terraform.vim66
1 files changed, 3 insertions, 63 deletions
diff --git a/syntax/terraform.vim b/syntax/terraform.vim
index c99dbe47..7a330e45 100644
--- a/syntax/terraform.vim
+++ b/syntax/terraform.vim
@@ -2,74 +2,14 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'terraform', 'syntax/terraform
finish
endif
-" Forked from Larry Gilbert's syntax file
-" github.com/L2G/vim-syntax-terraform
-
if exists('b:current_syntax')
finish
endif
+runtime! syntax/hcl.vim
+unlet b:current_syntax
-let s:cpo_save = &cpoptions
-set cpoptions&vim
-
-" Identifiers are made up of alphanumeric characters, underscores, and
-" hyphens.
-if has('patch-7.4.1142')
- syn iskeyword a-z,A-Z,48-57,_,-
-endif
-
-syn case match
-
-" A block is introduced by a type, some number of labels - which are either
-" strings or identifiers - and an opening curly brace. Match the type.
-syn match terraBlockIntroduction /^\s*\zs\K\k*\ze\s\+\(\("\K\k*"\|\K\k*\)\s\+\)*{/ contains=terraBlockType
-syn keyword terraBlockType contained data locals module output provider resource terraform variable
-
-syn keyword terraValueBool true false on off yes no
-
-syn keyword terraTodo contained TODO FIXME XXX BUG TF-UPGRADE-TODO
-syn region terraComment start="/\*" end="\*/" contains=terraTodo,@Spell
-syn region terraComment start="#" end="$" contains=terraTodo,@Spell
-syn region terraComment start="//" end="$" contains=terraTodo,@Spell
-
-""" misc.
-syn match terraValueDec "\<[0-9]\+\([kKmMgG]b\?\)\?\>"
-syn match terraValueHexaDec "\<0x[0-9a-f]\+\([kKmMgG]b\?\)\?\>"
-syn match terraBraces "[\[\]]"
-
-""" skip \" and \\ in strings.
-syn region terraValueString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=terraStringInterp
-syn region terraStringInterp matchgroup=terraBraces start=/\(^\|[^$]\)\$\zs{/ end=/}/ contained contains=ALL
-syn region terraHereDocText start=/<<-\?\z([a-z0-9A-Z]\+\)/ end=/^\s*\z1/ contains=terraStringInterp
-
-"" Functions.
-syn match terraFunction "[a-z0-9]\+(\@="
-
-""" HCL2
-syn keyword terraRepeat for in
-syn keyword terraConditional if
syn keyword terraType string bool number object tuple list map set any
-syn keyword terraValueNull null
-
-" enable block folding
-syn region terraBlockBody matchgroup=terraBraces start="{" end="}" fold transparent
-hi def link terraComment Comment
-hi def link terraTodo Todo
-hi def link terraBraces Delimiter
-hi def link terraBlockType Structure
-hi def link terraValueBool Boolean
-hi def link terraValueDec Number
-hi def link terraValueHexaDec Number
-hi def link terraValueString String
-hi def link terraHereDocText String
-hi def link terraFunction Function
-hi def link terraRepeat Repeat
-hi def link terraConditional Conditional
-hi def link terraType Type
-hi def link terraValueNull Constant
+hi def link terraType Type
let b:current_syntax = 'terraform'
-
-let &cpoptions = s:cpo_save
-unlet s:cpo_save