diff options
| author | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
|---|---|---|
| committer | Mitja Felicijan <mitja.felicijan@gmail.com> | 2024-10-25 00:47:47 +0200 |
| commit | c6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch) | |
| tree | 36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml | |
| parent | 0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff) | |
| download | jbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz | |
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml new file mode 100644 index 0000000..452f211 --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/terraform.xml @@ -0,0 +1,140 @@ +<lexer> + <config> + <name>Terraform</name> + <alias>terraform</alias> + <alias>tf</alias> + <filename>*.tf</filename> + <mime_type>application/x-tf</mime_type> + <mime_type>application/x-terraform</mime_type> + </config> + <rules> + <state name="string"> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <pop depth="1"/> + </rule> + <rule pattern="\\\\"> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="\\\\""> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="\$\{"> + <token type="LiteralStringInterpol"/> + <push state="interp-inside"/> + </rule> + <rule pattern="\$"> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="[^"\\\\$]+"> + <token type="LiteralStringDouble"/> + </rule> + </state> + <state name="interp-inside"> + <rule pattern="\}"> + <token type="LiteralStringInterpol"/> + <pop depth="1"/> + </rule> + <rule> + <include state="root"/> + </rule> + </state> + <state name="root"> + <rule pattern="[\[\](),.{}]"> + <token type="Punctuation"/> + </rule> + <rule pattern="-?[0-9]+"> + <token type="LiteralNumber"/> + </rule> + <rule pattern="=>"> + <token type="Punctuation"/> + </rule> + <rule pattern="(false|true)\b"> + <token type="KeywordConstant"/> + </rule> + <rule pattern="/(?s)\*(((?!\*/).)*)\*/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="\s*(#|//).*\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="([a-zA-Z]\w*)(\s*)(=(?!>))"> + <bygroups> + <token type="NameAttribute"/> + <token type="Text"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="^\s*(provisioner|variable|resource|provider|module|output|data)\b"> + <token type="KeywordReserved"/> + </rule> + <rule pattern="(for|in)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(module|count|data|each|var)"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(parseint|signum|floor|ceil|log|max|min|abs|pow)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(trimsuffix|formatlist|trimprefix|trimspace|regexall|replace|indent|strrev|format|substr|chomp|split|title|regex|lower|upper|trim|join)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="[^.](setintersection|coalescelist|setsubtract|setproduct|matchkeys|chunklist|transpose|contains|distinct|coalesce|setunion|reverse|flatten|element|compact|lookup|length|concat|values|zipmap|range|merge|slice|index|list|sort|keys|map)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="[^.](base64decode|base64encode|base64gzip|jsondecode|jsonencode|yamldecode|yamlencode|csvdecode|urlencode)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(templatefile|filebase64|fileexists|pathexpand|basename|abspath|fileset|dirname|file)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(formatdate|timestamp|timeadd)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(filebase64sha256|filebase64sha512|base64sha512|base64sha256|filesha256|rsadecrypt|filesha512|filesha1|filemd5|uuidv5|bcrypt|sha256|sha512|sha1|uuid|md5)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(cidrnetmask|cidrsubnet|cidrhost)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(tostring|tonumber|tobool|tolist|tomap|toset|can|try)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="=(?!>)|\+|-|\*|\/|:|!|%|>|<(?!<)|>=|<=|==|!=|&&|\||\?"> + <token type="Operator"/> + </rule> + <rule pattern="\n|\s+|\\\n"> + <token type="Text"/> + </rule> + <rule pattern="[a-zA-Z]\w*"> + <token type="NameOther"/> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <push state="string"/> + </rule> + <rule pattern="(?s)(<<-?)(\w+)(\n\s*(?:(?!\2).)*\s*\n\s*)(\2)"> + <bygroups> + <token type="Operator"/> + <token type="Operator"/> + <token type="LiteralString"/> + <token type="Operator"/> + </bygroups> + </rule> + </state> + <state name="declaration"> + <rule pattern="(\s*)("(?:\\\\|\\"|[^"])*")(\s*)"> + <bygroups> + <token type="Text"/> + <token type="NameVariable"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="\{"> + <token type="Punctuation"/> + <pop depth="1"/> + </rule> + </state> + </rules> +</lexer>
\ No newline at end of file |
