dotfiles

My dotfiles.
git clone git://git.ryanmj.xyz/dotfiles.git
Log | Files | Refs | LICENSE

verilog.jsf.in (4131B)


      1 # JOE syntax highlight file for Verilog
      2 
      3 # Define colors
      4 
      5 =Idle
      6 =Preproc bold blue
      7 =Comment green
      8 =Constant cyan
      9 =Escape bold cyan
     10 =Type bold
     11 =Keyword bold
     12 
     13 # Skip whitespace at start of line
     14 :reset Idle
     15 	*		first		noeat
     16 	" 	"	reset
     17 
     18 :first Idle
     19 	*		idle		noeat
     20 	"`"		pre		recolor=-1
     21 
     22 :pre Preproc
     23 	*		idle		noeat
     24 	"a-zA-Z_"	preident	recolor=-1 buffer
     25 
     26 :preident Idle
     27 	*		idle		noeat strings
     28 	"ifdef"		preproc
     29 	"else"		preproc
     30 	"endif"		preproc
     31 	"timescale"	preproc
     32 	"define"	preproc
     33 	"include"	preproc
     34 	"resetall"	preproc
     35 	"signed"	preproc
     36 	"unsigned"	preproc
     37 	"celldefine"	preproc
     38 	"endcelldefine"	preproc
     39 	"default_nettype"	preproc
     40 	"unconnected_drive"	preproc
     41 	"nounconnected_drive"	preproc
     42 	"protect"	preproc
     43 	"endprotect"	preproc
     44 	"protected"	preproc
     45 	"endprotected"	preproc
     46 	"expand_vectornets"	preproc
     47 	"noexpand_vectornets"	preproc
     48 	"autoexpand_vectornets"	preproc
     49 	"remove_gatename"	preproc
     50 	"noremove_gatename"	preproc
     51 	"remove_netname"	preproc
     52 	"noremove_netname"	preproc
     53 done
     54 	"a-zA-Z0-9_"	preident
     55 
     56 :preproc Preproc
     57 	*		idle		noeat
     58 
     59 # All following states are for when we're not in a preprocessor line
     60 
     61 :idle Idle
     62 	*		idle
     63 	"\n"		reset
     64 	"/"		slash
     65 	"0-9"		first_digit	recolor=-1
     66 	"."		maybe_float
     67 	"\""		string		recolor=-1
     68 	"'"		sized_number	recolor=-1
     69 	"a-zA-Z_"	ident		buffer
     70 
     71 :slash Idle
     72 	*		idle		noeat
     73 	"*"		comment		recolor=-2
     74 	"/"		line_comment	recolor=-2
     75 
     76 :comment Comment
     77 	*		comment
     78 	"*"		maybe_end_comment
     79 
     80 :maybe_end_comment Comment
     81 	*		comment
     82 	"/"		idle
     83 	"*"		maybe_end_comment
     84 
     85 :line_comment Comment
     86 	*		line_comment
     87 	"\n"		reset
     88 
     89 # Integer constants
     90 
     91 :first_digit Constant
     92 	*		idle	noeat
     93 	"'"		sized_number
     94 	"."		float
     95 	"0-9"		first_digit
     96 
     97 :sized_number Constant
     98 	*		idle	noeat
     99 	"hH"		hex_number
    100 	"oO"		octal_number
    101 	"bB"		binary_number
    102 	"dD"		decimal_number
    103 
    104 :hex_number Constant
    105 	*		idle	noeat
    106 	"0-9A-Fa-f_xz"	hex_number
    107 
    108 :binary_number Constant
    109 	*		idle	noeat
    110 	"01_xz"		binary_number
    111 
    112 :octal_number Constant
    113 	*		idle	noeat
    114 	"0-7_xz"	octal_number
    115 
    116 :decimal_number Constant
    117 	*		idle	noeat
    118 	"0-9_"		decimal_number
    119 
    120 # Floating point
    121 
    122 :maybe_float Constant
    123 	*		idle	recolor=-2	noeat
    124 	"0-9"		float		recolor=-2
    125 
    126 :float Constant
    127 	*		idle	noeat
    128 	"eE"		epart
    129 	"0-9"		float
    130 
    131 :epart	Constant
    132 	*		idle	noeat
    133 	"0-9+\-"	enum
    134 
    135 :enum	Constant
    136 	*		idle	noeat
    137 	"0-9"		enum
    138 
    139 # Strings
    140 
    141 :string	Constant
    142 	*		string
    143 	"\n"		reset
    144 	"\""		idle
    145 	"\\"		string_escape	recolor=-1
    146 	"%"		string_control	recolor=-1
    147 
    148 :string_escape Escape
    149 	*		string
    150 	"\n"		string		recolor=-2
    151 
    152 :string_control Escape
    153 	*		string_control
    154 	"\n"		reset
    155 	"efghdobcvstmEFGHDOBCVSTM%"	string
    156 
    157 # Identifiers
    158 
    159 :ident	Idle
    160 	*		idle		noeat strings
    161 	"always"	kw
    162 	"assign"	kw
    163 	"begin"		kw
    164 	"case"		kw
    165 	"casex"		kw
    166 	"casez"		kw
    167 	"default"	kw
    168 	"defparam"	kw
    169 	"else"		kw
    170 	"end"		kw
    171 	"endcase"	kw
    172 	"endfunction"	kw
    173 	"endmodule"	kw
    174 	"endtask"	kw
    175 	"for"		kw
    176 	"function"	kw
    177 	"if"		kw
    178 	"module"	kw
    179 	"parameter"	kw
    180 	"repeat"	kw
    181 	"task"		kw
    182 	"while"		kw
    183 	"forever"	kw
    184 	"initial"	kw
    185 	"integer"	type
    186 	"inout"		type
    187 	"input"		type
    188 	"output"	type
    189 	"reg"		type
    190 	"real"		type
    191 	"wire"		type
    192 	"wor"		type
    193 	"wand"		type
    194 	"and"		kw
    195 	"attribute"	kw
    196 	"buf"		kw
    197 	"bufif0"	kw
    198 	"bufif1"	kw
    199 	"cmos"		kw
    200 	"deassign"	kw
    201 	"disable"	kw
    202 	"edge"		kw
    203 	"endattribute"	kw
    204 	"endprimitive"	kw
    205 	"endspecify"	kw
    206 	"endtable"	kw
    207 	"event"		kw
    208 	"force"		kw
    209 	"fork"		kw
    210 	"highz0"	kw
    211 	"highz1"	kw
    212 	"join"		kw
    213 	"large"		kw
    214 	"macromodule"	kw
    215 	"medium"	kw
    216 	"nand"		kw
    217 	"negedge"	kw
    218 	"nmos"		kw
    219 	"nor"		kw
    220 	"not"		kw
    221 	"notif0"	kw
    222 	"notif1"	kw
    223 	"or"		kw
    224 	"pmos"		kw
    225 	"posedge"	kw
    226 	"primitive"	kw
    227 	"pull0"		kw
    228 	"pull1"		kw
    229 	"pulldown"	kw
    230 	"pullup"	kw
    231 	"rcmos"		kw
    232 	"realtime"	kw
    233 	"release"	kw
    234 	"rnmos"		kw
    235 	"rpmos"		kw
    236 	"rtran"		kw
    237 	"rtranif0"	kw
    238 	"rtranif1"	kw
    239 	"scalared"	kw
    240 	"signed"	kw
    241 	"small"		kw
    242 	"specify"	kw
    243 	"specparam"	kw
    244 	"strength"	kw
    245 	"strong0"	kw
    246 	"strong1"	kw
    247 	"supply0"	kw
    248 	"supply1"	kw
    249 	"table"		kw
    250 	"time"		kw
    251 	"tran"		kw
    252 	"tranif0"	kw
    253 	"tranif1"	kw
    254 	"tri"		kw
    255 	"tri0"		kw
    256 	"tri1"		kw
    257 	"triand"	kw
    258 	"trior"		kw
    259 	"trireg"	kw
    260 	"unsigned"	kw
    261 	"vectored"	kw
    262 	"wait"		kw
    263 	"weak0"		kw
    264 	"weak1"		kw
    265 	"xnor"		kw
    266 	"xor"		kw
    267 done
    268 	"a-zA-Z0-9_"	ident
    269 
    270 :type Type
    271 	*	idle	noeat
    272 
    273 :kw Keyword
    274 	*	idle	noeat