You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
2.9 KiB
174 lines
2.9 KiB
# JOE syntax highlight file for Terraform (or "HashiCorp configuration language") |
|
|
|
=Idle |
|
=Comment green |
|
=CommentLabel bold green |
|
=Constant cyan |
|
=Escape bold cyan |
|
=Bad bold red |
|
|
|
=Keyword fg_310 # brown |
|
=Interpolate magenta |
|
=InterpolateVar bold magenta |
|
|
|
:idle Idle |
|
* idle |
|
"#" line_comment recolor=-1 |
|
"/" maybe_comment |
|
"0-9" number recolor=-1 |
|
"\"" string recolor=-1 |
|
"a-zA-Z_" ident buffer |
|
|
|
:line_comment Comment |
|
* line_comment |
|
"\n" idle |
|
|
|
:maybe_comment Idle |
|
* idle noeat |
|
"*" comment recolor=-2 |
|
|
|
:comment Comment |
|
* comment |
|
# might be TODO label |
|
"BFHNTX" comment noeat call=.comment_todo() |
|
"*" maybe_end_comment |
|
|
|
:maybe_end_comment Comment |
|
* comment noeat |
|
"/" idle |
|
"*" maybe_end_comment |
|
|
|
:number Constant |
|
* idle noeat |
|
"0-9" number |
|
|
|
:string Constant |
|
* string |
|
"$" maybe_interpolate |
|
"\"" idle |
|
|
|
:maybe_interpolate Constant |
|
* idle noeat |
|
"{" interpolate recolor=-2 |
|
|
|
:interpolate Interpolate |
|
* interpolate |
|
"\"" interpolate_string recolor=-1 |
|
"0-9" interpolate_number recolor=-1 |
|
"*" interpolate_star recolor=-1 |
|
"a-zA-Z" interpolate_ident buffer |
|
"}" string |
|
|
|
:interpolate_string Constant |
|
* interpolate_string |
|
"\"" interpolate |
|
|
|
:interpolate_number Constant |
|
* interpolate noeat |
|
"0-9" interpolate_number |
|
|
|
:interpolate_star Constant |
|
* interpolate noeat |
|
|
|
:interpolate_ident Interpolate |
|
* interpolate noeat strings |
|
"basename" func |
|
"ceil" func |
|
"chomp" func |
|
"cidrhost" func |
|
"cidrnetmask" func |
|
"cidrsubnet" func |
|
"coalesce" func |
|
"compact" func |
|
"concat" func |
|
"count" var |
|
"data" var |
|
"dirname" func |
|
"distinct" func |
|
"element" func |
|
"file" func |
|
"floor" func |
|
"format" func |
|
"formatlist" func |
|
"index" func |
|
"join" func |
|
"keys" func |
|
"length" func |
|
"list" func |
|
"lookup" func |
|
"lower" func |
|
"map" func |
|
"max" func |
|
"merge" func |
|
"min" func |
|
"module" var |
|
"path" var |
|
"pathexpand" func |
|
"replace" func |
|
"self" var |
|
"signum" func |
|
"slice" func |
|
"sort" func |
|
"split" func |
|
"substr" func |
|
# "terraform" var |
|
"timestamp" func |
|
"title" func |
|
"trimspace" func |
|
"upper" func |
|
"uuid" func |
|
"values" func |
|
"var" var |
|
"zipmap" func |
|
done |
|
"a-zA-Z" interpolate_ident |
|
|
|
:var InterpolateVar |
|
* interpolate noeat |
|
|
|
:func InterpolateVar |
|
* interpolate noeat |
|
|
|
:ident Idle |
|
* idle noeat strings |
|
"data" kw |
|
"false" bool |
|
"module" kw |
|
"output" kw |
|
"provider" kw |
|
"resource" kw |
|
"terraform" kw |
|
"true" bool |
|
"variable" kw |
|
done |
|
"a-zA-Z_" ident |
|
|
|
:kw Keyword |
|
* idle noeat |
|
|
|
:bool Constant |
|
* idle noeat |
|
|
|
.subr comment_todo |
|
# initial state |
|
:comment_todo_init Comment |
|
* comment_todo_guess buffer |
|
|
|
# highlight common TODO labels |
|
:comment_todo_guess Comment |
|
* comment_todo_unknown noeat strings |
|
"BUG" comment_todo |
|
"FIXME" comment_todo |
|
"HACK" comment_todo |
|
"NOTE" comment_todo |
|
"TODO" comment_todo |
|
"XXX" comment_todo |
|
done |
|
"A-Z" comment_todo_guess |
|
|
|
:comment_todo_unknown Comment |
|
* NULL noeat return |
|
|
|
:comment_todo CommentLabel |
|
* NULL noeat return |
|
.end
|
|
|