mirror of
https://github.com/cmur2/joe-syntax.git
synced 2025-01-23 17:27:03 +01:00
New highligher for Terraform
- primitives like bool, number and string - basic interpolation syntax support - some keywords
This commit is contained in:
parent
a3c24a4c8c
commit
4a2f8009f2
6
ftyperc
6
ftyperc
@ -1037,3 +1037,9 @@
|
||||
Docker
|
||||
*Dockerfile
|
||||
-syntax dockerfile
|
||||
|
||||
Terraform
|
||||
*.tf
|
||||
-autoindent
|
||||
-syntax terraform
|
||||
-c_comment
|
||||
|
129
terraform.jsf
Normal file
129
terraform.jsf
Normal file
@ -0,0 +1,129 @@
|
||||
# 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
|
Loading…
x
Reference in New Issue
Block a user