/usr/share/enscript/hl/skill.st is in enscript 1.6.5.90-2+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | /**
* Name: skill
* Description: Cadence Design Systems lispy language.
* Author: Jean-Marc Calvez <jean-marc.calvez@st.com>
*/
state skill extends HighlightEntry
{
/* Line Comments (lispish). */
/;/ {
comment_face (true);
language_print ($0);
call (eat_one_line);
comment_face (false);
}
/* Block Comments (C-style) */
/\/\*/ {
comment_face (true);
language_print ($0);
call (c_comment);
comment_face (false);
}
/* String constants. */
/\"/ {
string_face (true);
language_print ($0);
call (c_string);
string_face (false);
}
/* Definitions. */
/(\([ \t]*)(procedure|defmacro|mprocedure|nprocedure|defun)([ \t]+\(?)([!\$%&\*\/:<=>\?~_^a-zA-Z][!\$%&\*\/:<=>\?~_^a-zA-Z0-9.+\-]*)/ {
/* Starting garbage. */
language_print ($1);
/* Keyword. */
keyword_face (true);
language_print ($2);
keyword_face (false);
/* Middle garbage. */
language_print ($3);
/* Function name. */
function_name_face (true);
language_print ($4);
function_name_face (false);
}
/* Keywords. Taken from Skill Language in the Quick Ref. + operators
(build-re '(@rest @optional @key abs acos add1 alias alphalessp
alphaNumCmp and append append1 apply arglist arrayp arrayref asin assoc
assq atan atom band bcdp bitfield bitfield bnand bnor bnot bor boundp
break breakpt buildString bxnor bxor caaar caadr caar cadr callInitProc
car case caseq cdar cddr cdr changeWorkingDir clear clearExitProcs close
compareTime compress concat cond cons cont continue copy
copyDefstructDeep cos count createDir csh debugQuit debugStatus declare
declareLambda declareNLambda defCapDepends defCapPrefixes defInitProc
defmacro defprop defstruct defstructp defun defUserInitProc defvar
deleteDir deleteFile difference drain dtpr dump ed edi edit edl encrypt
eq equal err error errset errsetstring eval evalstring evenp exists exit
exp expandMacro expt fileLength fileSeek fileTell fix fixp float floatp
for forall foreach fprintf fscanf gc gcsummary gensym get get_pname
get_string getAllLoadedFiles getc getchar getCurrentTime getd getDirFiles
getFnWriteProtect getFunctions getInstallPath getq getqq gets
getShellEnvVar getSkillPath getVarWriteProtect getVersion getWarn
getWorkingDir go geqp getq getqq greaterp if ilToolBox index infile
installDebugger instring isCallable isDir isExecutable isFile
isFileEncrypted isFileName isLink isReadable isWritable lambda last lconc
leftshift length leqp lessp let lineread linereadstring list
listFunctions listp listVariables load loadContext loadi loadstring log
lowerCase makeTable makeTempFileName map mapc mapcan mapcar maplist max
measureTime member memq min minus minusp mod mprocedure nconc ncons
needCells neq nequal newline next nil nindex nlambda nprocedure nth
nthcdr nthelem null numberp numOpenFiles oddp onep or otherp outfile
parseString plist plus plusp portp postdecrement postincrement pp pprint
predecrement preincrement prependInstallPath print printf printFunctions
printlev println printstruct printVariables procedure profile
profileReset profileSummary prog prog1 prog2 progn putd putprop putpropq
putpropqq quote quotient random range readTable regExitAfter
regExitBefore remd remdq remExitProc remove remprop remq return reverse
rexCompile rexExecute rexMagic rexMatchAssocList rexMatchList rexMatchp
rexReplace rexSubstitute rightshift rindex round rplaca rplacd
saveContext set setarray setContext setFnWriteProtect setof setplist setq
setqbitfield steqbitfield1 setShellEnvVar setSkillPath setVarWriteProtect
sh shell simplifyFilename sin skDisableMessage skIgnoreMessage
skillDebugger sklint skUnignoreMessage sort sortcar sprintf sqrt srandom
sstatus stacktrace status step stepout strcat strcmp stringp
stringToFunction strlen strncat strncmp sub1 subst substring sxtd symbolp
symeval symstrp tablep tableToList tailp tan tconc terpri times tracef
tracep tracev type typep unalias unbreakpt uncount uninstallDebugger
unless unprofile untrace untracep untracev upperCase warn when where
whereis while writeTable xcons zerop zxtd))
*/
/\b(@(key|optional|rest)\
|a(bs|cos|dd1|l(ias|pha(NumCmp|lessp))|nd|pp(end(|1)|ly)\
|r(glist|ray(p|ref))|s(in|s(oc|q))|t(an|om))\
|b(and|cdp|itfield()|n(and|o(r|t))|o(r|undp)|reak(|pt)|uildString\
|x(nor|or))\
|c(a(a(ar|dr|r)|dr|llInitProc|r|se(|q))|d(ar|dr|r)|hangeWorkingDir\
|l(ear(|ExitProcs)|ose)\
|o(mp(areTime|ress)|n(cat|d|s|t(|inue))|py(|DefstructDeep)|s|unt)\
|reateDir|sh)\
|d(e(bug(Quit|Status)|clare(|Lambda|NLambda)\
|f(Cap(Depends|Prefixes)|InitProc|UserInitProc|macro|prop|struct(|p)|un\
|var)\
|lete(Dir|File))\
|ifference|rain|tpr|ump)\
|e(d(|i(|t)|l)|ncrypt|q(|ual)|rr(|or|set(|string))|v(al(|string)|enp)\
|x(i(sts|t)|p(|andMacro|t)))\
|f(i(le(Length|Seek|Tell)|x(|p))|loat(|p)|or(|all|each)|printf|scanf)\
|g(c(|summary)\
|e(nsym|qp\
|t(|AllLoadedFiles|CurrentTime|DirFiles|F(nWriteProtect|unctions)\
|InstallPath|S(hellEnvVar|killPath)|V(arWriteProtect|ersion)\
|W(arn|orkingDir)|_(pname|string)|c(|har)|d|q(|q())|s))\
|o|reaterp)\
|i(f|lToolBox|n(dex|file|st(allDebugger|ring))\
|s(Callable|Dir|Executable|File(|Encrypted|Name)|Link|Readable|Writable))\
|l(a(mbda|st)|conc|e(ftshift|ngth|qp|ssp|t)\
|i(neread(|string)|st(|Functions|Variables|p))\
|o(ad(|Context|i|string)|g|werCase))\
|m(a(keT(able|empFileName)|p(|c(|a(n|r))|list)|x)|e(asureTime|m(ber|q))\
|in(|us(|p))|od|procedure)\
|n(con(c|s)|e(edCells|q(|ual)|wline|xt)|i(l|ndex)|lambda|procedure\
|th(|cdr|elem)|u(ll|m(OpenFiles|berp)))\
|o(ddp|nep|r|therp|utfile)\
|p(arseString|l(ist|us(|p))|o(rtp|st(decrement|increment))|p(|rint)\
|r(e(decrement|increment|pendInstallPath)\
|int(|Functions|Variables|f|l(ev|n)|struct)\
|o(cedure|file(|Reset|Summary)|g(|1|2|n)))\
|ut(d|prop(|q(|q))))\
|quot(e|ient)\
|r(an(dom|ge)\
|e(adTable|gExit(After|Before)|m(ExitProc|d(|q)|ove|prop|q)|turn|verse\
|x(Compile|Execute|Ma(gic|tch(AssocList|List|p))|Replace|Substitute))\
|i(ghtshift|ndex)|ound|plac(a|d))\
|s(aveContext\
|et(|Context|FnWriteProtect|S(hellEnvVar|killPath)|VarWriteProtect|array\
|of|plist|q(|bitfield))\
|h(|ell)|i(mplifyFilename|n)\
|k(DisableMessage|IgnoreMessage|UnignoreMessage|illDebugger|lint)\
|ort(|car)|printf|qrt|random|status\
|t(a(cktrace|tus)|e(p(|out)|qbitfield1)\
|r(c(at|mp)|ing(ToFunction|p)|len|nc(at|mp)))\
|ub(1|st(|ring))|xtd|ym(bolp|eval|strp))\
|t(a(ble(ToList|p)|ilp|n)|conc|erpri|imes|race(f|p|v)|ype(|p))\
|u(n(alias|breakpt|count|installDebugger|less|profile|trace(|p|v))\
|pperCase)\
|w(arn|h(e(n|re(|is))|ile)|riteTable)|xcons|z(erop|xtd))\b/ {
keyword_face (true);
language_print ($0);
keyword_face (false);
}
/* Skill functions. Use prefix to match, they are too many to
enumerate. Used bold-italic... */
/(cdf|dag|db|de|df|dl|dm|enter|fm|ge|hi|mif|tc|tfc|sch)[A-Z][^ \t]*/ {
bold_italic (true);
language_print ($0);
bold_italic (false);
}
}
/*
Local variables:
mode: c
End:
*/
|