dotfiles

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

4gl.jsf.in (3456B)


      1 # JOE syntax highlight file for Progress 4GL
      2 # by Gediminas http://proc.w3.lt
      3 # Version 1.04
      4 
      5 # bold inverse blink dim underline italic
      6 # white cyan magenta blue yellow green red black
      7 # bg_white bg_cyan bg_magenta bg_blue bg_yellow bg_green bg_red bg_black
      8 
      9 =Idle
     10 =Comment	green
     11 =Constant	cyan
     12 =Type		magenta
     13 # conditional operators, blocks
     14 =Condition	bold
     15 # buffer repositioning
     16 =KeyDB		bold green
     17 # create, delete record
     18 =CreateDel	bold yellow
     19 # preprocessor include, definition, reference
     20 =Include	yellow
     21 =Preproc	yellow
     22 =PreRef
     23 
     24 :idle Idle
     25 	*		idle
     26 	"/"		slash
     27 	"{"		brace
     28 	"&"		prep		buffer
     29 	"a-zA-Z"	ident		buffer
     30 	"'"		string		recolor=-1
     31 	"\""		string2		recolor=-1
     32 	"0-9"		number		recolor=-1 
     33 	"?"		question	recolor=-1
     34 
     35 # Comments - 2 levels of nesting allowed
     36 
     37 :slash Idle
     38 	*		idle		noeat
     39 	"*"		comment		recolor=-2
     40 :comment Comment
     41 	*		comment
     42 	"/"		slash2
     43 	"*"		maybe_end_comment
     44 :maybe_end_comment Comment
     45 	*		comment
     46 	"/"		idle
     47 	"*"		maybe_end_comment
     48 
     49 :slash2 Idle
     50 	*		comment		noeat
     51 	"*"		comment2	recolor=-2
     52 :comment2 Comment
     53 	*		comment2
     54 	"*"		maybe_end_comment2
     55 :maybe_end_comment2 Comment
     56 	*		comment2
     57 	"/"		comment
     58 	"*"		maybe_end_comment2
     59 
     60 # Preprocessor
     61 #     Allow preprocessor name reference inside include file reference:
     62 #     {include/trace {&FILE-NAME} {&LINE-NUMBER}}
     63 
     64 :brace Include
     65 	*		include		noeat
     66 	"&"		scoped		recolor=-2
     67 	"}"		idle
     68 
     69 :include Include
     70 	*		include		recolor=-2
     71 	"{"		brace2
     72 	"}"		idle
     73 
     74 :brace2 Include
     75 	*		include2	noeat
     76 	"}"		idle
     77 
     78 :include2 Include
     79 	*		include2	recolor=-2
     80 	"}"		include
     81 
     82 :scoped PreRef
     83 	*		scoped
     84 	"}"		idle
     85 
     86 :prep Preproc
     87 	*			idle		noeat istrings
     88 	"&IF"			predir
     89 	"&THEN"			predir
     90 	"&ELSEIF"		predir
     91 	"&ELSE"			predir
     92 	"&ENDIF"		predir
     93 	"&SCOPED-DEFINE"	predir
     94 	"&SCOP"			predir
     95 	"&GLOBAL-DEFINE"	predir
     96 	"&GLOB"			predir
     97 	"&MESSAGE"		predir
     98 	"&UNDEFINE"		predir
     99 	"&UNDEF"		predir
    100 done
    101 	"-a-zA-Z0-9_"		prep
    102 
    103 :predir Preproc
    104 	*		idle		noeat
    105 
    106 
    107 # String constants, copied from pascal.jsf with " added
    108 
    109 :string Constant
    110 	*		string
    111 	"\n"		idle
    112 	"'"		maybe_end_string
    113 
    114 :maybe_end_string Constant
    115 	*		idle		recolor=-1 noeat
    116 	"'"		string
    117 
    118 :string2 Constant
    119 	*		string2
    120 	"\n"		idle
    121 	"\""		maybe_end_string2
    122 
    123 :maybe_end_string2 Constant
    124 	*		idle		recolor=-1 noeat
    125 	"\""		string2
    126 
    127 # Numeric constant, same as pascal.jsf
    128 
    129 :number Constant
    130 	*		idle		noeat
    131 	"0-9"		number
    132 	"eE"		epart
    133 	"."		dot
    134 
    135 :dot Constant
    136 	*		idle	noeat
    137 	"0-9"		float
    138 
    139 :float Constant
    140 	*		idle	noeat
    141 	"eE"		epart
    142 	"0-9"		float
    143 
    144 :epart Constant
    145 	*		idle	noeat
    146 	"0-9+\-"	enum
    147 
    148 :enum Constant
    149 	*		idle	noeat
    150 	"0-9"		enum
    151 
    152 :question Constant
    153 	*		idle noeat
    154 
    155 # Keywords
    156 # Available jumps: operator type kw kwdb credel func
    157 
    158 :ident Idle
    159 	*		idle		noeat istrings
    160 	"assign"	cond
    161 	"case"		cond
    162 	"cha"		type
    163 	"char"		type
    164 	"character"	type
    165 	"create"	credel
    166 	"dat"		type
    167 	"date"		type
    168 	"dec"		type
    169 	"decimal"	type
    170 	"defined"	predir
    171 	"delete"	credel
    172 	"do"		cond
    173 	"else"		cond
    174 	"end"		cond
    175 	"find"		kwdb
    176 	"for"		kwdb
    177 	"function"	cond
    178 	"get"		kwdb
    179 	"handle"	type
    180 	"if"		cond
    181 	"int"		type
    182 	"integer"	type
    183 	"leave"		cond
    184 	"log"		type
    185 	"logical"	type
    186 	"memptr"	type
    187 	"next"		cond
    188 	"otherwise"	cond
    189 	"param"		cond
    190 	"parameter"	cond
    191 	"procedure"	cond
    192 	"raw"		type
    193 	"rec"		type
    194 	"repeat"	cond
    195 	"reposition" kwdb
    196 	"return"	cond
    197 	"rowid"		type
    198 	"run"		cond
    199 	"then"		cond
    200 	"when"		cond
    201 	"widget-handle"	type
    202 done
    203 	"-a-zA-Z0-9_"	ident
    204 
    205 :cond Condition
    206 	*	idle	noeat
    207 
    208 :kwdb KeyDB
    209 	*	idle	noeat
    210 
    211 :type Type
    212 	*	idle	noeat
    213 
    214 :credel CreateDel
    215 	*	idle	noeat
    216