# JOE syntax highlight file for csh # needs work: I just copied this from sh and # changed the keywords. # Colors =Idle =Ident =Comment =String +Constant =Escape =StringEscape +Escape =Keyword =Variable +DefinedIdent =StringVariable +StringEscape =Label +DefinedIdent =Loop +Statement +Keyword =Conditional +Statement +Keyword # Syntax :idle Idle * idle "#" comment recolor=-1 "\\" escape recolor=-1 "$" subst recolor=-1 "'" string_sq recolor=-1 "\"" string_dq recolor=-1 "\`" string_bq recolor=-1 "a-zA-Z{}![" ident buffer :comment Comment comment * comment "\n" idle :escape Escape * idle :subst Variable * idle "{" subst_brack "a-zA-Z_" subst_name "0-9*@?\-$_!" idle :subst_name Variable * idle noeat recolor=-1 "a-zA-Z0-9_" subst_name :subst_brack Variable * subst_brack "}" idle # Simplest case: no quoting allowed :string_sq String string * string_sq "\'" idle # double-quote: quoting, backqoutes and substitution allowed :string_dq String string * string_dq "$" string_dq_subst recolor=-1 "\"" idle "\\" string_dq_esc recolor=-1 "`" string_dq_bq recolor=-1 :string_dq_subst StringEscape string * string_dq noeat recolor=-2 "$0-9!_\-?*@" string_dq "a-zA-Z_" string_dq_subst_name "{" string_dq_subst_brack :string_dq_subst_name StringVariable string * string_dq recolor=-1 noeat "a-zA-Z0-9_" string_dq_subst_name :string_dq_subst_brack StringEscape string * string_dq_subst_brack "}" string_dq :string_dq_esc StringEscape string * string_dq recolor=-2 "$`\"\\" string_dq "\n" string_dq recolor=-2 :string_dq_bq String string * string_dq_bq "$" string_dq_bq_subst recolor=-1 "\`" string_dq "\\" string_dq_bq_esc recolor=-1 :string_dq_bq_subst StringEscape string * string_dq_bq noeat recolor=-2 "$0-9!_\-?*@" string_dq_bq "a-zA-Z_" string_dq_bq_subst_name "{" string_dq_bq_subst_brack :string_dq_bq_subst_name StringVariable string * string_dq_bq recolor=-1 noeat "a-zA-Z0-9_" string_dq_bq_subst_name :string_dq_bq_subst_brack StringEscape string * string_dq_bq_subst_brack "}" string_dq_bq :string_dq_bq_esc StringEscape string * string_dq_bq recolor=-2 "$`\"\\" string_dq_bq "\n" string_dq_bq recolor=-2 # backquote :string_bq String string * string_bq "$" string_bq_subst recolor=-1 "\`" idle "\\" string_bq_esc recolor=-1 # escape in backquote :string_bq_esc StringEscape string * string_bq recolor=-2 "$`\"\\" string_bq "\n" string_bq recolor=-2 # Substitution in a backquote :string_bq_subst StringEscape string * string_bq noeat recolor=-2 "$0-9!_\-?*@" string_bq "a-zA-Z_" string_bq_subst_name "{" string_bq_subst_brack :string_bq_subst_name StringVariable string * string_bq recolor=-1 noeat "a-zA-Z0-9_" string_bq_subst_name :string_bq_subst_brack StringEscape string * string_bq_subst_brack "}" string_bq :ident Ident * idle noeat strings "!" kw "{" kw "}" kw "[" kw "]" kw "alias" kw "alloc" kw "bg" kw "bindkey" kw "break" loop "breaksw" kw "builtins" kw "bye" kw "case" label "cd" kw "chdir" kw "complete" kw "continue" loop "default" label "dirs" kw "echo" kw "echotc" kw "else" cond "end" kw "endif" cond "endsw" kw "eval" kw "exec" kw "exit" kw "fg" kw "filetest" kw "foreach" loop "getspath" kw "getxvers" kw "glob" kw "goto" kw "hashstat" kw "history" kw "hup" kw "if" cond "inlib" kw "jobs" kw "kill" kw "limit" kw "log" kw "login" kw "logout" kw "ls-F" kw "migrate" kw "newgrp" kw "nice" kw "nohup" kw "notify" kw "onintr" kw "popd" kw "printenv" kw "pushd" kw "rehash" kw "repeat" kw "rootnode" kw "sched" kw "set" kw "setenv" kw "setpath" kw "setspath" kw "settc" kw "setty" kw "setxvers" kw "shift" kw "source" kw "stop" kw "suspend" kw "switch" cond "case" label "telltc" kw "time" kw "umask" kw "unalias" kw "uncomplete" kw "unhash" kw "universe" kw "unlimit" kw "unset" kw "unsetenv" kw "ver" kw "wait" kw "warp" kw "watchdog" kw "where" kw "which" kw "while" loop done "a-zA-Z0-9\-" ident :kw Keyword * idle noeat :cond Conditional * idle noeat :loop Loop * idle noeat :label Label * idle noeat