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.
joe-syntax/terraform.jsf

150 lines
2.4 KiB

# JOE syntax highlight file for Terraform (or "HashiCorp configuration language")
=Idle
=Comment 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.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