*.tf;*.tfvars;*.hcl
#
//
/*
*/
\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\b
(^\s*(?P<title>\%{identifier})\s+)?(?P<label>(\"?\%{identifier}\"?\s*)*)\{
\\(
[nrtbf"'\\$%] |w
u[0-9A-Fa-f]{4} |
[0-3] ([0-7] [0-7]?)? | [4-7] [0-7]?
)
resource
provider
variable
output
locals
module
data
terraform
\%{block-head}
\}
^\s*(\%{identifier})\s*(=(?!=|\>))\s*
\.(\%{identifier})\s*(\[(?P<index>[0-9]+|\*)\])?
false
true
null
any
string
number
bool
(list|map|set)\(
\)
(object|tuple)\(
\)
\[
\]
\{
\}
(?<=\{|\[)\s*for
in
if
\%{identifier}
var
local
module
data
path
terraform
each
count
"
"
<<-?(\S+)\s*$
^\s*\%{1@start}\s*$
[\$%]\{
\}
if
else
endif
for
in
endfor
\%{escaped-character}
\\
abs
ceil
floor
log
max
min
parseint
pow
signum
chomp
format
formatlist
indent
join
lower
regex
regexall
replace
split
strrev
substr
title
trim
trimprefix
trimsuffix
trimspace
upper
alltrue
anytrue
chunklist
coalesce
coalescelist
compact
concat
contains
distinct
element
flatten
index
keys
length
list
lookup
map
matchkeys
merge
range
reverse
setintersection
setproduct
setsubtract
setunion
slice
sort
sum
transpose
values
zipmap
base64decode
base64encode
base64gzip
csvdecode
jsondecode
jsonencode
textdecodebase64
textencodebase64
urlencode
yamldecode
yamlencode
abspath
dirname
pathexpand
basename
file
fileexists
fileset
filebase64
templatefile
formatdate
timeadd
timestamp
base64sha256
base64sha512
bcrypt
filebase64sha256
filebase64sha512
filemd5
filesha1
filesha256
filesha512
md5
rsadecrypt
sha1
sha256
sha512
uuid
uuidv5
cidrhost
cidrnetmask
cidrsubnet
cidrsubnets
can
defaults
tobool
tolist
tomap
tonumber
toset
tostring
try