/usr/share/enscript/hl/inf.st is in enscript 1.6.5.90-1.
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 | /**
* Name: inf
* Description: GUI INF Script language
* Author: Markku Rossi <mtr@iki.fi>
*/
state inf_string extends Highlight
{
/\"\"/ {
/* A quoted '"' character. */
language_print($0);
}
/\"/ {
/* End of the string. */
language_print($0);
return;
}
}
state inf extends HighlightEntry
{
/* Comments. */
/;/ {
comment_face(true);
language_print($0);
call(eat_one_line);
comment_face(false);
}
/* Section names. */
/^(\[)([^\]]+)(\][ \t]*)/ {
language_print($1);
function_name_face(true);
language_print($2);
function_name_face(false);
language_print($3);
}
/* String constants. */
/\"\"\"/ {
/* A string starting with a '"' character. */
string_face(true);
language_print($0);
call(inf_string);
string_face(false);
}
/\"\"/ {
/* An empty string. */
string_face(true);
language_print($0);
string_face(false);
}
/\"/ {
/* Start of a string. */
string_face(true);
language_print($0);
call(inf_string);
string_face(false);
}
/* Labels. */
/^([a-zA-Z_][a-zA-Z_0-9]*)([ \t]*=[ \t]*\+)/ {
reference_face(true);
language_print($1);
reference_face(false);
language_print($2);
}
/* Goto statements and its target. */
/(goto)([ \t]*)([a-zA-Z_][a-zA-Z_0-9]*)/ {
keyword_face(true);
language_print($1);
keyword_face(false);
language_print($2);
reference_face(true);
language_print($3);
reference_face(false);
}
/* Shell section calls. */
/\bshell\b/i {
builtin_face(true);
language_print($0);
builtin_face(false);
}
/* The read-syms, install, and detect calls. */
/^([ \t]*)(read-syms|detect|install)([ \t]+)([a-zA-Z_][a-zA-Z_0-9]*)/i {
language_print($1);
builtin_face(true);
language_print($2);
builtin_face(false);
language_print($3);
reference_face(true);
language_print($4);
reference_face(false);
}
/* The read-syms, detect, and install in other contexts. */
/^([ \t]*)(read-syms|detect|install)\b/i {
language_print($1);
builtin_face(true);
language_print($2);
builtin_face(false);
}
/* Variable / constant definitions. We catch these here so we won't
conflict with any keywords, etc. */
/([a-zA-Z_][a-zA-Z_0-9]*[ \t]*=)/ {
language_print($0);
}
/* Keywords, sort of.
(build-re '(return read-syms ifstr ifint ifcontains else
else-ifstr else-ifint elseif-contains endif forlistdo
endforlistdo goto set set-subst set-add set-sub set-mul set-div
set-or set-hextodec set-dectohex exit))
*/
/\b(e(lse(|-if(int|str)|if-contains)|nd(forlistdo|if)|xit)|forlistdo|goto\
|if(contains|int|str)|re(ad-syms|turn)\
|set(|-(add|d(ectohex|iv)|hextodec|mul|or|sub(|st))))\b(\(i\))?/i {
keyword_face(true);
language_print($0);
keyword_face(false);
}
}
/*
Local variables:
mode: c
End:
*/
|