dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

csh.jsf (4240B)


      1 # JOE syntax highlight file for csh
      2 
      3 # needs work: I just copied this from sh and
      4 # changed the keywords.
      5 
      6 # Colors
      7 
      8 =Idle
      9 =Ident
     10 =Comment
     11 =String		+Constant
     12 =Escape
     13 =StringEscape	+Escape
     14 =Keyword
     15 =Variable	+DefinedIdent
     16 =StringVariable	+StringEscape
     17 =Label		+DefinedIdent
     18 =Loop		+Statement +Keyword
     19 =Conditional	+Statement +Keyword
     20 
     21 # Syntax
     22 
     23 :idle Idle
     24 	*		idle
     25 	"#"		comment		recolor=-1
     26 	"\\"		escape		recolor=-1
     27 	"$"		subst		recolor=-1
     28 	"'"		string_sq	recolor=-1
     29 	"\""		string_dq	recolor=-1
     30 	"\`"		string_bq	recolor=-1
     31 	"a-zA-Z{}!["	ident		buffer
     32 
     33 :comment Comment comment
     34 	*		comment
     35 	"\n"		idle
     36 
     37 :escape Escape
     38 	*		idle
     39 
     40 :subst Variable
     41 	*		idle
     42 	"{"		subst_brack
     43 	"a-zA-Z_"	subst_name
     44 	"0-9*@?\-$_!"	idle
     45 
     46 :subst_name Variable
     47 	*		idle		noeat recolor=-1
     48 	"a-zA-Z0-9_"	subst_name
     49 
     50 :subst_brack Variable
     51 	*		subst_brack
     52 	"}"		idle
     53 
     54 # Simplest case: no quoting allowed
     55 :string_sq String string
     56 	*		string_sq
     57 	"\'"		idle
     58 
     59 
     60 # double-quote: quoting, backqoutes and substitution allowed
     61 :string_dq String string
     62 	*		string_dq
     63 	"$"		string_dq_subst	recolor=-1
     64 	"\""		idle
     65 	"\\"		string_dq_esc	recolor=-1
     66 	"`"		string_dq_bq	recolor=-1
     67 
     68 :string_dq_subst StringEscape string
     69 	*		string_dq	noeat recolor=-2
     70 	"$0-9!_\-?*@"	string_dq
     71 	"a-zA-Z_"	string_dq_subst_name
     72 	"{"		string_dq_subst_brack
     73 
     74 :string_dq_subst_name StringVariable string
     75 	*		string_dq	recolor=-1 noeat
     76 	"a-zA-Z0-9_"	string_dq_subst_name
     77 
     78 :string_dq_subst_brack StringEscape string
     79 	*		string_dq_subst_brack
     80 	"}"		string_dq
     81 
     82 :string_dq_esc StringEscape string
     83 	*		string_dq	recolor=-2
     84 	"$`\"\\"	string_dq
     85 	"\n"		string_dq	recolor=-2
     86 
     87 :string_dq_bq String string
     88 	*		string_dq_bq
     89 	"$"		string_dq_bq_subst	recolor=-1
     90 	"\`"		string_dq
     91 	"\\"		string_dq_bq_esc	recolor=-1
     92 
     93 :string_dq_bq_subst StringEscape string
     94 	*		string_dq_bq	noeat recolor=-2
     95 	"$0-9!_\-?*@"	string_dq_bq
     96 	"a-zA-Z_"	string_dq_bq_subst_name
     97 	"{"		string_dq_bq_subst_brack
     98 
     99 :string_dq_bq_subst_name StringVariable string
    100 	*		string_dq_bq	recolor=-1 noeat
    101 	"a-zA-Z0-9_"	string_dq_bq_subst_name
    102 
    103 :string_dq_bq_subst_brack StringEscape string
    104 	*		string_dq_bq_subst_brack
    105 	"}"		string_dq_bq
    106 
    107 :string_dq_bq_esc StringEscape string
    108 	*		string_dq_bq	recolor=-2
    109 	"$`\"\\"	string_dq_bq
    110 	"\n"		string_dq_bq	recolor=-2
    111 
    112 
    113 # backquote
    114 :string_bq String string
    115 	*		string_bq
    116 	"$"		string_bq_subst	recolor=-1
    117 	"\`"		idle
    118 	"\\"		string_bq_esc	recolor=-1
    119 
    120 # escape in backquote
    121 :string_bq_esc StringEscape string
    122 	*		string_bq	recolor=-2
    123 	"$`\"\\"	string_bq
    124 	"\n"		string_bq	recolor=-2
    125 
    126 # Substitution in a backquote
    127 :string_bq_subst StringEscape string
    128 	*		string_bq	noeat recolor=-2
    129 	"$0-9!_\-?*@"	string_bq
    130 	"a-zA-Z_"	string_bq_subst_name
    131 	"{"		string_bq_subst_brack
    132 
    133 :string_bq_subst_name StringVariable string
    134 	*		string_bq	recolor=-1 noeat
    135 	"a-zA-Z0-9_"	string_bq_subst_name
    136 
    137 :string_bq_subst_brack StringEscape string
    138 	*		string_bq_subst_brack
    139 	"}"		string_bq
    140 
    141 
    142 :ident Ident
    143 	*		idle		noeat strings
    144 	"!"		kw
    145 	"{"		kw
    146 	"}"		kw
    147 	"["		kw
    148 	"]"		kw
    149 	"alias"		kw
    150 	"alloc"		kw
    151 	"bg"		kw
    152 	"bindkey"	kw
    153 	"break"		loop
    154 	"breaksw"	kw
    155 	"builtins"	kw
    156 	"bye"		kw
    157 	"case"		label
    158 	"cd"		kw
    159 	"chdir"		kw
    160 	"complete"	kw
    161 	"continue"	loop
    162 	"default"	label
    163 	"dirs"		kw
    164 	"echo"		kw
    165 	"echotc"	kw
    166 	"else"		cond
    167 	"end"		kw
    168 	"endif"		cond
    169 	"endsw"		kw
    170 	"eval"		kw
    171 	"exec"		kw
    172 	"exit"		kw
    173 	"fg"		kw
    174 	"filetest"	kw
    175 	"foreach"	loop
    176 	"getspath"	kw
    177 	"getxvers"	kw
    178 	"glob"		kw
    179 	"goto"		kw
    180 	"hashstat"	kw
    181 	"history"	kw
    182 	"hup"		kw
    183 	"if"		cond
    184 	"inlib"		kw
    185 	"jobs"		kw
    186 	"kill"		kw
    187 	"limit"		kw
    188 	"log"		kw
    189 	"login"		kw
    190 	"logout"	kw
    191 	"ls-F"		kw
    192 	"migrate"	kw
    193 	"newgrp"	kw
    194 	"nice"		kw
    195 	"nohup"		kw
    196 	"notify"	kw
    197 	"onintr"	kw
    198 	"popd"		kw
    199 	"printenv"	kw
    200 	"pushd"		kw
    201 	"rehash"	kw
    202 	"repeat"	kw
    203 	"rootnode"	kw
    204 	"sched"		kw
    205 	"set"		kw
    206 	"setenv"	kw
    207 	"setpath"	kw
    208 	"setspath"	kw
    209 	"settc"		kw
    210 	"setty"		kw
    211 	"setxvers"	kw
    212 	"shift"		kw
    213 	"source"	kw
    214 	"stop"		kw
    215 	"suspend"	kw
    216 	"switch"	cond
    217 	"case"		label
    218 	"telltc"	kw
    219 	"time"		kw
    220 	"umask"		kw
    221 	"unalias"	kw
    222 	"uncomplete"	kw
    223 	"unhash"	kw
    224 	"universe"	kw
    225 	"unlimit"	kw
    226 	"unset"		kw
    227 	"unsetenv"	kw
    228 	"ver"		kw
    229 	"wait"		kw
    230 	"warp"		kw
    231 	"watchdog"	kw
    232 	"where"		kw
    233 	"which"		kw
    234 	"while"		loop
    235 done
    236 	"a-zA-Z0-9\-"	ident
    237 
    238 :kw Keyword
    239 	*	idle	noeat
    240 
    241 :cond Conditional
    242 	*	idle	noeat
    243 
    244 :loop Loop
    245 	*	idle	noeat
    246 
    247 :label Label
    248 	*	idle	noeat