joe-syntax/makefile.jsf

98 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

2017-04-18 21:18:38 +02:00
# JOE syntax highlight file for Makefile
=Idle
=Comment green
=CommentLabel bold green
=Constant cyan
=Escape bold cyan
=Bad bold red
2017-04-26 10:48:14 +02:00
=RecipeCont bold cyan
=TargetPhony yellow
=TargetOther fg_310 # brown
2017-04-18 21:18:38 +02:00
=TargetRest
:line_start Idle
* idle noeat
"#" line_comment recolor=-1
"a-zA-Z0-9._" maybe_target mark buffer
2017-04-26 10:48:14 +02:00
"\t" recipe
2017-04-18 21:18:38 +02:00
:idle Idle
* idle
"$" maybe_substitute
"\n" line_start
:maybe_substitute Idle
* idle noeat
"(" substitute recolor=-2
:substitute Constant
* substitute
")" idle
2017-04-26 10:48:14 +02:00
:recipe Idle
* recipe
"$" maybe_r_substitute
"\\" recipe_cont recolor=-1
"\n" line_start
:recipe_cont RecipeCont
* recipe noeat
"\n" recipe
:maybe_r_substitute Idle
* recipe noeat
"(" r_substitute recolor=-2
:r_substitute Constant
* r_substitute
")" recipe
2017-04-18 21:18:38 +02:00
:line_comment Comment
* line_comment
# might be TODO label
2017-04-20 16:52:32 +02:00
"BFHNTX" line_comment noeat call=.comment_todo()
2017-04-18 21:18:38 +02:00
"\n" line_start
2017-04-26 10:48:14 +02:00
:maybe_target Idle
2017-04-18 21:18:38 +02:00
* idle noeat
2017-04-26 10:48:14 +02:00
":" target_other noeat recolormark strings
".PHONY" target_phony
done
"a-zA-Z0-9._-" maybe_target
2017-04-18 21:18:38 +02:00
2017-04-26 10:48:14 +02:00
:target_phony TargetPhony
* target_rest noeat
2017-04-18 21:18:38 +02:00
2017-04-26 10:48:14 +02:00
:target_other TargetOther
* target_rest noeat
2017-04-18 21:18:38 +02:00
:target_rest TargetRest
* target_rest
"\n" line_start
.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