state ksh extends HighlightEntry
{
/(\${*#[a-zA-Z0-9_]*})/ {
language_print ($0);
}
/#/ {
comment_face (true);
language_print ($0);
call (eat_one_line);
comment_face (false);
}
/\"/ {
string_face (true);
language_print ($0);
call (c_string);
string_face (false);
}
/^#!/ {
reference_face (true);
language_print ($0);
call (eat_one_line);
reference_face (false);
}
/\b(:|alias|b(g|reak)|c(ase|d|o(mmand|ntinue))|do(|ne)\
|e(l(if|se)|sac|val|x(ec|it|port))|f(c|g|i|or|unction)|getopts|hash\
|i(f|n)|jobs|kill|l(et|ogin)|newgrp|p(rint|wd)|re(ad(|only)|turn)\
|s(e(lect|t)|hift|top|uspend)|t(est|hen|ime(|s)|rap|ype(|set))\
|u(limit|mask|n(alias|set|til))|w(ait|h(ence|ile)))\b/ {
keyword_face (true);
language_print ($0);
keyword_face (false);
}
/\b(autoload|f(alse|unctions)|h(ash|istory)|integer|nohup|r|t(rue|ype))\b/ {
builtin_face (true);
language_print ($0);
builtin_face (false);
}
}