dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

ada.jsf (2704B)


      1 # JOE syntax highlight file for ADA
      2 
      3 # Define colors
      4 
      5 =Idle
      6 =Comment
      7 =Constant
      8 =Character +Constant
      9 =Number +Constant
     10 =String +Constant
     11 =StringEscape +Escape +String
     12 =Keyword
     13 =Operator +Keyword
     14 
     15 :idle Idle
     16 	*		idle
     17 	"-"		maybe_comment
     18 	"'"		char		recolor=-1
     19 	"\""		string		recolor=-1
     20 	"0-9"		first_digit	recolor=-1
     21 	"."		maybe_float
     22 	"\""		string		recolor=-1
     23 	"Bb"		maybe_binary	buffer
     24 	"Oo"		maybe_octal	buffer
     25 	"Xx"		maybe_hex	buffer
     26 	"ac-np-wyzAC-NP-WYZ"	ident	buffer
     27 
     28 :maybe_comment Idle
     29 	*		idle		noeat
     30 	"-"		comment		recolor=-2
     31 
     32 :comment Comment comment
     33 	*		comment
     34 	"BFHNTX"        comment         noeat call=comment_todo.comment_todo()
     35 	"\n"		idle
     36 
     37 
     38 # Character constant
     39 
     40 :char Idle
     41 	*		char1
     42 
     43 :char1 Idle
     44 	*		idle
     45 	"'"		char2		recolor=-3
     46 
     47 :char2 Character
     48 	*		idle		noeat
     49 
     50 # Strings
     51 
     52 :maybe_binary Idle
     53 	*		ident		noeat
     54 	"\""		string		recolor=-2
     55 
     56 :maybe_octal Idle
     57 	*		ident		noeat
     58 	"\""		string		recolor=-2
     59 
     60 :maybe_hex Idle
     61 	*		ident		noeat
     62 	"\""		string		recolor=-2
     63 
     64 :string	String string
     65 	*		string
     66 	"\n"		idle
     67 	"\""		idle
     68 	"\\"		string_escape	recolor=-1
     69 
     70 :string_escape StringEscape string
     71 	*		string
     72 	"\n"		string		recolor=-2
     73 
     74 # Integer constants
     75 
     76 :first_digit Number
     77 	*		idle		noeat
     78 	"."		float
     79 	"_"		first_digit
     80 	"0-9"		first_digit
     81 
     82 # Floating point
     83 
     84 :maybe_float Number
     85 	*		idle	recolor=-2	noeat
     86 	"0-9"		float		recolor=-2
     87 
     88 :float Number
     89 	*		idle	noeat
     90 	"eE"		epart
     91 	"0-9"		float
     92 
     93 :epart	Number
     94 	*		idle	noeat
     95 	"0-9+\-"	enum
     96 
     97 :enum	Number
     98 	*		idle	noeat
     99 	"0-9"		enum
    100 
    101 # Identifiers
    102 
    103 :ident	Idle
    104 	*		quote		noeat istrings
    105 	"abort"		kw
    106 	"abs"		operator
    107 	"abstract"	kw
    108 	"accept"	kw
    109 	"aliased"	kw
    110 	"all"		kw
    111 	"and"		operator
    112 	"array"		kw
    113 	"at"		kw
    114 	"begin"		kw
    115 	"body"		kw
    116 	"case"		kw
    117 	"constant"	kw
    118 	"declare"	kw
    119 	"delay"		kw
    120 	"delta"		kw
    121 	"digits"	kw
    122 	"do"		kw
    123 	"else"		kw
    124 	"elsif"		kw
    125 	"end"		kw
    126 	"entry"		kw
    127 	"exception"	kw
    128 	"exit"		kw
    129 	"for"		kw
    130 	"function"	kw
    131 	"generic"	kw
    132 	"goto"		kw
    133 	"if"		kw
    134 	"in"		kw
    135 	"interface"	kw
    136 	"is"		kw
    137 	"limited"	kw
    138 	"loop"		kw
    139 	"mod"		kw
    140 	"new"		kw
    141 	"not"		operator
    142 	"null"		kw
    143 	"of"		kw
    144 	"or"		operator
    145 	"others"	kw
    146 	"out"		kw
    147 	"overriding"	kw
    148 	"package"	kw
    149 	"pragma"	kw
    150 	"private"	kw
    151 	"procedure"	kw
    152 	"protected"	kw
    153 	"raise"		kw
    154 	"range"		kw
    155 	"record"	kw
    156 	"rem"		operator
    157 	"renames"	kw
    158 	"requeue"	kw
    159 	"return"	kw
    160 	"reverse"	kw
    161 	"select"	kw
    162 	"separate"	kw
    163 	"subtype"	kw
    164 	"synchronized"	kw
    165 	"tagged"	kw
    166 	"task"		kw
    167 	"terminate"	kw
    168 	"then"		kw
    169 	"type"		kw
    170 	"until"		kw
    171 	"use"		kw
    172 	"when"		kw
    173 	"while"		kw
    174 	"with"		kw
    175 	"xor"		operator
    176 done
    177 	"a-zA-Z0-9_"	ident
    178 
    179 :operator Operator
    180 	*	idle	noeat
    181 
    182 :kw Keyword
    183 	*	idle	noeat
    184 
    185 # identifiers separated with quote '
    186 
    187 :quote	Idle
    188 	*	idle	noeat
    189 	"'"	quote_word
    190 
    191 :quote_word	Idle
    192 	*	idle	noeat
    193 	"a-zA-Z"	ident	buffer