# 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