mirror of
https://github.com/cmur2/joe-syntax.git
synced 2024-11-18 20:56:17 +01:00
cn
4a2f8009f2
- primitives like bool, number and string - basic interpolation syntax support - some keywords
130 lines
2.2 KiB
Plaintext
130 lines
2.2 KiB
Plaintext
# 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
|
|
"count" var
|
|
"data" var
|
|
"element" func
|
|
"module" var
|
|
"path" var
|
|
"self" var
|
|
# "terraform" var
|
|
"var" var
|
|
done
|
|
"a-zA-Z" interpolate_ident
|
|
|
|
:var InterpolateVar
|
|
* interpolate noeat
|
|
|
|
:func InterpolateVar
|
|
* interpolate noeat
|
|
|
|
:ident Idle
|
|
* idle noeat strings
|
|
"false" bool
|
|
"module" kw
|
|
"resource" kw
|
|
"true" bool
|
|
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
|