2018-10-23 10:49:30 +02:00
|
|
|
## Syntax highlighting for Hashicorp Terraform / HCL files.
|
|
|
|
|
2018-10-23 10:52:03 +02:00
|
|
|
# See: https://github.com/hashicorp/hcl
|
|
|
|
# Original author: John Boero
|
2018-10-23 10:49:30 +02:00
|
|
|
# License: GPLv3 or newer
|
|
|
|
|
2022-12-21 09:24:31 +01:00
|
|
|
syntax "hcl" "\.(tf|nomad|hcl)$"
|
2018-10-23 10:49:30 +02:00
|
|
|
# No comments are permitted in JSON.
|
|
|
|
comment ""
|
|
|
|
|
|
|
|
# Numbers (used as value).
|
|
|
|
color green ":[[:space:]]*\-?(0|[1-9][0-9]*)(\.[0-9]+)?([Ee]?[-+]?[0-9]+)?"
|
|
|
|
# Values (well, any string).
|
|
|
|
color brightmagenta "\".+\""
|
|
|
|
# Hex numbers (used as value).
|
|
|
|
color green ":[[:space:]]*\"#[0-9abcdefABCDEF]+\""
|
|
|
|
# Escapes.
|
|
|
|
color green "\\\\" "\\\"" "\\[bfnrt]" "\\u[0-9abcdefABCDEF]{4})"
|
|
|
|
# Special words.
|
|
|
|
color green "(true|false|null|output|path|vault|description|default|value)"
|
|
|
|
|
|
|
|
color brightgreen "(variable|terraform|resource|provider|module)"
|
|
|
|
|
|
|
|
# Names (very unlikely to contain a quote).
|
|
|
|
color brightblue "\"[^"]+\"[[:space:]]*:"
|
|
|
|
|
|
|
|
# Brackets, braces, and separators.
|
|
|
|
color brightblue "\[" "\]"
|
|
|
|
color brightred "\{" "\}"
|
|
|
|
color brightred "," ":"
|
|
|
|
|
|
|
|
# Comments.
|
|
|
|
color cyan "(^|[[:space:]]+)(//|#).*$"
|
|
|
|
|
|
|
|
# Trailing whitespace.
|
|
|
|
color ,green "[[:space:]]+$"
|