--- a
+++ b/syntax/awk.jsf
@@ -0,0 +1,237 @@
+# JOE syntax highlight file for AWK
+
+# Resync whole file
+-
+
+=Idle
+=Ident
+=Bad
+=Preproc
+=Define +Preproc
+=Comment
+=IncLocal +String +Preproc
+=IncSystem +Preproc
+=Constant
+=Number +Constant
+=String +Constant
+=StringEscape +Escape +String
+=Character +String
+=CharacterEscape +Escape +Character
+=Type
+=Keyword
+=Brace +Control
+=Control
+
+:reset Idle
+ * first noeat
+ " \t" reset
+
+:first Idle
+ * idle noeat
+ "/" regex
+ "#" reset_line_comment recolor=-1
+
+:regex Idle
+ * regex
+ "/" idle
+ "\\" regex_skip
+
+:regex_skip Idle
+ * regex
+
+:reset_line_comment Comment comment
+ * reset_line_comment
+ "BFHNTX" line_comment noeat call=comment_todo.comment_todo()
+ "\n" reset
+
+:idle Idle
+ * idle
+ "\n" reset
+ "#" line_comment recolor=-1
+ "0" first_digit recolor=-1
+ "1-9" decimal recolor=-1
+ "." maybe_float
+ "\"" string recolor=-1
+ "'" char recolor=-1
+ "a-zA-Z_" ident buffer
+ "{}" brace recolor=-1
+ "/,:;=()><[]*&|!~+\-%^" control recolor=-1
+
+:brace Brace
+ * idle noeat
+
+:control Control
+ * idle noeat
+
+:line_comment Comment comment
+ * line_comment
+ "BFHNTX" line_comment noeat call=comment_todo.comment_todo()
+ "\n" reset
+
+:first_digit Number
+ * idle noeat
+ "xX" hex
+ "." float
+ "eE" epart
+ "0-7" octal
+ "89" bad_number recolor=-1
+
+:bad_number Bad
+ * idle noeat
+ "0-9" bad_number
+
+:octal Number
+ * idle noeat
+ "0-7" octal
+ "89" bad_number recolor=-1
+
+:hex Number
+ * idle noeat
+ "0-9A-Fa-f" hex
+
+:decimal Number
+ * idle noeat
+ "0-9" decimal
+ "eE" epart
+ "." float
+
+:maybe_float Number
+ * idle recolor=-2 noeat
+ "0-9" float recolor=-2
+
+:float Number
+ * idle noeat
+ "eE" epart
+ "0-9" float
+
+:epart Number
+ * idle noeat
+ "0-9+\-" enum
+
+:enum Number
+ * idle noeat
+ "0-9" enum
+
+:string String string
+ * string
+ "\"" idle
+ "\\" string_escape recolor=-1
+ "%" string_control recolor=-1
+
+:string_escape StringEscape string
+ * string
+ "x" string_hex1
+ "0-7" string_octal2
+ "\n" string recolor=-2
+
+:string_hex1 StringEscape string
+ * string noeat
+ "0-9a-fA-F" string_hex2
+
+:string_hex2 StringEscape string
+ * string noeat
+ "0-9a-fA-F" string
+
+:string_octal2 StringEscape string
+ * string noeat
+ "0-7" string_octal3
+
+:string_octal3 StringEscape string
+ * string noeat
+ "0-7" string
+
+:string_control StringEscape string
+ * string
+ "\"" string noeat
+ "\n" reset
+ "0-9.\-+ #hjILtz$" string_control
+
+:char Character
+ * char
+ "\n" reset
+ "'" idle
+ "\\" char_escape recolor=-1
+
+:char_escape CharacterEscape
+ * char
+ "x" char_hex1
+ "0-7" char_octal2
+ "\n" char recolor=-2
+
+:char_hex1 CharacterEscape
+ * char noeat
+ "0-9a-fA-F" char_hex2
+
+:char_hex2 CharacterEscape
+ * char noeat
+ "0-9a-fA-F" char
+
+:char_octal2 CharacterEscape
+ * char noeat
+ "0-7" char_octal3
+
+:char_octal3 CharacterEscape
+ * char noeat
+ "0-7" char
+
+:ident Ident
+ * idle noeat istrings
+ "if" kw
+ "else" kw
+ "while" kw
+ "do" kw
+ "for" kw
+ "break" kw
+ "continue" kw
+ "delete" kw
+ "exit" kw
+ "close" kw
+ "getline" kw
+ "next" kw
+ "nextfile" kw
+ "print" kw
+ "printf" kw
+ "system" kw
+ "fflush" kw
+ "atan2" kw
+ "cos" kw
+ "exp" kw
+ "int" kw
+ "log" kw
+ "rand" kw
+ "sin" kw
+ "sqrt" kw
+ "srand" kw
+ "asort" kw
+ "asorti" kw
+ "gensub" kw
+ "gsub" kw
+ "index" kw
+ "length" kw
+ "match" kw
+ "split" kw
+ "sprintf" kw
+ "strtonum" kw
+ "sub" kw
+ "substr" kw
+ "tolower" kw
+ "toupper" kw
+ "mktime" kw
+ "strftime" kw
+ "systime" kw
+ "and" kw
+ "compl" kw
+ "lshift" kw
+ "or" kw
+ "rshift" kw
+ "xor" kw
+ "bindtextdomain" kw
+ "dcgettext" kw
+ "dcngettext" kw
+ "function" kw
+ "return" kw
+done
+ "a-zA-Z0-9_" ident
+
+:kw Keyword
+ * idle noeat
×
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.