1379N/A /* File descriptions without function names. */
1379N/A+ * Description: Dylan Programming Language template for Enscript.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ * (based on the Scheme version by Markku Rossi <mtr@iki.fi>)
1379N/A+ (build-re '(abstract block concrete constant class domain exception exclude
1379N/A+ export function functional generic handler import inherited inline
1379N/A+ instance interface library macro method open primary sealed sideways
1379N/A+ singleton slot subclass variable virtual))
1379N/A+ /\b(subclass|abstract|block|c(on(crete|stant)|lass)|domain\
1379N/A+|ex(c(eption|lude)|port)|f(unction(|al))|generic|handler\
1379N/A+|i(n(herited|line|stance|terface)|mport)|library|m(acro|ethod)\
1379N/A+|open|primary|sealed|si(deways|ngleton)|slot\
1379N/A+state dylan extends HighlightEntry
1379N/A+ * Modify regexp character syntax so that we can distinguish all
1379N/A+ extras = list ('!', '$', '%', '&', '*', '/', ':',
1379N/A+ '=', '?', '~', '^', '.', '+', '-');
1379N/A+ for (i = 0; i < length (extras); i = i + 1)
1379N/A+ regexp_syntax (extras[i], 'w');
1379N/A+ /* Character constants. */
1379N/A+ (build-re '(above afterwards begin below by case cleanup create
1379N/A+ define end else elseif finally for from if in let local otherwise rename
1379N/A+ select signal then to unless until use variable virtual when while
1379N/A+ /=>|\b(a(bove|fterwards)|b(e(gin|low)|y)|c(ase|leanup|reate)\
1379N/A+|define|else(|if)|end|f(inally|or|rom)|i[fn]|l(et|ocal)|otherwise\
1379N/A+|rename|s(elect|ignal)|t(hen|o)|u(n(less|til)|se)|wh(en|ile))\b/ {
1379N/A+ /* ':'-names, Emacs highlights these, so do we. */
1379N/A+ /([ \t])([!\$%&\*\/:<=>\?~_^a-zA-Z0-9.+\-]*:)/ {
1379N/A+ /([ \t]*)(\w+[^:])([ \t]*\([ \t]*)/ {
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face(false);
1379N/A+ * Description: Eiffel programming language.
1379N/A+ * Author: Julien Lemoine <speedblue@happycoders.org>
1379N/A+ * Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(ABSTRACT_(FRACTION|INTEGER)|ANY|AR(GUMENTS|RAY(|2|3|ED_COLLECTION))\
1379N/A+|BASIC_(DIRECTORY|TIME)|BINARY_FILE_(READ|WRITE)|BIT_(N|STRING)|BOOLEAN\
1379N/A+|CHARACTER(|_CONSTANTS)|CLOCK|COLLECTION(|2|3|_SORTER)|COMPARABLE\
1379N/A+|COUNTER|DICTIONARY(|_NODE)|D(IRECTORY|OUBLE)|EXCEPTIONS|FILE(|_TOOLS)\
1379N/A+|FIXED_ARRAY(|2|3)|GE(NERAL|N_RAND)|HASH(ABLE|_TABLE_SIZE)|INPUT_STREAM\
1379N/A+|INTEGER(|_8|_16|_32|_64|_FRACTION|_GENERAL)\
1379N/A+|ITERATOR(|_ON_(COLLECTION|DICTIONARY(_ITEMS|_KEYS)|LINKED_LIST|SET\
1379N/A+|STRING|TWO_WAY_LINKED_LIST|UNICODE_STRING))\
1379N/A+|LARGE(|_NEGATIVE|_POSITIVE)_INTEGER|LINK(|2|ED(_COLLECTION|_LIST))\
1379N/A+|MATH_CONSTANTS|MEMO(|RY)|MICROSECOND_TIME|MINI_PARSER_BUFFER\
1379N/A+|MIN_STAND|MUTABLE_BIG_INTEGER|NATIVE_ARRAY|NULL_(INPUT|OUTPUT)\
1379N/A+|NUMBER(|_FRACTION|_TOOLS)|NUMERIC|OUTPUT_STREAM|PLATFORM|POINTER\
1379N/A+|REAL|REVERSE_COLLECTION_SORTER|SAFE_EQUAL|SCOOP_UTILITIES|SET(|_NODE)\
1379N/A+|SMALL_INTEGER|STD_(ERROR|FILE_(READ|READ_WRITE|WRITE)|INPUT(|_OUTPUT)\
1379N/A+|OUTPUT|RAND)|STRING(|_HANDLER)|SYSTEM|TIME(|_IN_(ENGLISH|FRENCH|GERMAN\
1379N/A+|ITALIAN|SOME_LANGUAGE|SPANISH))|TWO_WAY_LINKED_LIST\
1379N/A+|UNICODE_STRING(|_HANDLER)|UTF8_PARSER)\b/;
1379N/A+ /\b(agent|a(ll|lias)|and|as(|sign)|check|class|convert|create|Current|debug\
1379N/A+|deferred|do|else(|if)|en(d|sure)|ex(panded|port|ternal)|False\
1379N/A+|feature|fro(m|zen)|if|implies|in(dexing|fix|herit|spect|variant)\
1379N/A+|is|like|local|loop|not|o(r|bsolete|ld|nce)|prefix|Precursor|pure\
1379N/A+|re(define|ference|name|quire|scue|try)|Result|separate|then|True\
1379N/A+|TUPLE|un(define|til)|creation)\b/;
1379N/A+state eiffel extends HighlightEntry
1379N/A+ /* Character constants. */
1379N/A+ /:=|==|<=|>=|=|!=|\/=|!|!!/ {
1379N/A+ /([ \t])*([a-zA-Z]+[, \ta-zA-Z0-9_]*):[^=]/ {
1379N/A+ * Function definitions, with args
1379N/A+ /^([ \t]*[a-zA-Z_][a-zA-Z_0-9]*[ \t]*)(\([ \t]*[ \ta-z,A-Z_0-9]+)(:[ \ta-zA-Z0-9_\[\]]+)?(\)[ \t]*)(:[ \ta-zA-Z0-9_\[\]]+)?([ \t]+is)[ \t]*$/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A+ * Function definitions, without args
1379N/A+ /^([ \t]*[a-zA-Z_][a-zA-Z_0-9]*)([ \t]*)(is)[ \t]*$/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A /\.(MOD|DEF|mi|md)$/ modula_2;
1379N/A /\.(scr|.syn|.synth)$/ synopsys;
1379N/A /\.(hs|lhs|gs|lgs)$/ haskell;
1379N/A /\.(eps|EPS|ps|PS)$/ postscript;
1379N/A /\.([Pp][Aa][Ss]|[Pp][Pp]|[Pp])$/ pascal;
1379N/A /-\*- [Ii][Dd][Ll] -\*-/ idl;
1379N/A /-\*- [Pp][Ee][Rr][Ll] -\*-/ perl;
1379N/A /^#![ \t]*\/.*\/perl/ perl;
1379N/A+ /-\*- [Pp][Hh][Pp] -\*-/ php;
1379N/A+ /-\*- [Rr][Uu][Bb][Yy] -\*-/ ruby;
1379N/A+ /^#![ \t]*\/.*\/ruby/ ruby;
1379N/A /^#![ \t]*(\/usr)?\/bin\/[ngmt]?awk/ awk;
1379N/A /^#![ \t]*(\/usr)?\/bin\/sh/ sh;
1379N/A+ * Description: Erlang programming language.
1379N/A+/* Erlang atom: ([a-z][a-zA-Z0-9_]*|\'[^\n]*\') */
1379N/A+state erlang extends HighlightEntry
1379N/A+ /* Special -record(rec_name, {}). pre-processor case */
1379N/A+ /(-record)(\([ \t]*)([a-z][a-zA-Z0-9_]*|\'[^\n]*\')/ {
1379N/A+ /* Special -define(Alter, "Hello"). pre-processor case */
1379N/A+\t]*)([a-z][a-zA-Z0-9_]*|\'[^\n]*\'|[A-Z_][a-zA-Z0-9_]*)/ {
1379N/A+ /* Pre-processor lines. */
1379N/A+ /^-([a-z][a-zA-Z0-9_]*)/ {
1379N/A+ /(\?)([a-z][a-zA-Z0-9_]*|\'[^\n]*\'|[A-Z_][a-zA-Z0-9_]*)/ {
1379N/A+ /(#)([a-z][a-zA-Z0-9_]*|\'[^\n]*\')/ {
1379N/A+ '(after begin case try catch end fun if of receive when)
1379N/A+ Regexp taken from emacs Erlang mode R9C
1379N/A+ /\b(a(fter|ndalso)|begin|c(atch|ase)\
1379N/A+|end|fun|if|o(f|relse)|receive|try|when\
1379N/A+ Regexp taken from emacs Erlang mode R9C
1379N/A+ /\b((is_)*(atom|function|binary|constant|float\
1379N/A+|integer|list|number|p(id|ort)\
1379N/A+|re(ference|cord)|tuple))\b/ {
1379N/A+/\b(a(bs|live|pply|tom_to_list)\
1379N/A+|concat_binary|d(ate|isconnect_node)\
1379N/A+|g(arbage_collect|et(|_keys)|roup_leader)\
1379N/A+|i(nte(ger_to_list|rnal_bif)|s_alive)\
1379N/A+|l(ength|i(nk|st_to_(atom|binary|float|integer\
1379N/A+|make_ref|no(de(|_(link|unlink)|s)|talive)\
1379N/A+|p(id_to_list|rocess(_(flag|info)|es)|ut)\
1379N/A+|p(awn(|_link)|lit_binary)|tatistics)\
1379N/A+|t(erm_to_binary|hrow|ime|l\
1379N/A+|un(link|register)|whereis)\b/ {
1379N/A+ /^([a-z][a-zA-Z0-9_]*|'[^\n]*')/ {
1379N/A+ function_name_face (true);
1379N/A+ function_name_face (false);
1379N/A+ /* /([\{\(\,\[ \t]+)([A-Z_][a-zA-Z0-9_]*)/ { */
1379N/A+ /([^a-z0-9_\"])([A-Z_][a-zA-Z0-9_]*)/ {
1379N/A+ variable_name_face (true);
1379N/A+ variable_name_face (false);
1379N/A+ * Description: Forth Programming Language.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(abort|bye|c(atch|o(ld|ntext))|d(rop|up)|f(d(rop|up)|nip|o(r(get|th)|ver)|rot\
1379N/A+|s(eal|wap)|tuck)|include|l(ink|oad)|n(ip|eeds)|o(rder|ver)|pick|ro(ll|t)|swap|t(hrow|uck)\
1379N/A+|within|2(drop|nip|dup|over|tuck|swap|rot)|3dup|4dup\
1379N/A+ /\b(base|c(ell|har)|decimal|float|hex)\b/;
1379N/A+ /\b(a(bs|gain|head|lso|nd)|begin|c(ase|onstant)|d(abs|efinitions|m(ax|in)|negate|o(|ne))\
1379N/A+|e(lse|nd(|case|if|of)|xit)|f(a(bs|cos(|h)|log|sin(|h)|tan(|2|h))|cos(|h)|exp(|m1)|l(n(|p1)\
1379N/A+|o(g|or)|s(in(|cos|h)|qrt)|tan(|h))|m(ax|in)|negate|or|round|sqrt)|h(ere|old)|i(f|nvert)\
1379N/A+|l(eave|oop)|m(ax|in|od)|n(e(gate|xt)|ot)|o(f|nly|r)|r(epeat|oot)|s(eal|ign)|then\
1379N/A+|un(til|loop)|v(ariable|oc(abulary|s))|while|xor\
1379N/A+state forth extends HighlightEntry
1379N/A+ /* character constants. */
1379N/A+ />|>=|<=|<>|!|\+|\-|\^|\/|\*|\|/ {
1379N/A+ * function definitions, with args
1379N/A+ /^(:[ \t]+)([^ ^\t]+)([ \t]*)/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A+ * Description: Icon Programming Language.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(break|create|default|fail|initial|l(ink|ocal)|not|s(tatic|uspend))\b/;
1379N/A+ /\b(char|error|function|integer|proc|procedure|real|variable)\b/;
1379N/A+ /\b(a(bs|cos|ny|rgs|sin|tan)|b(al|y)|c(a(llout|se)|enter|hdir|lose|o(llect|py|s)|set)\
1379N/A+|d(e(lay|lete|tab|isplay|tor)|o)|e(lse|n(d|tab)|rrorclear|very|xit|xp)|f(ind|lush)\
1379N/A+|get(|ch|che|env)|i(and|com|f|mage|nsert|or|shift|xor)|k(bhit|ey)|l(eft|ist|o(adfunc|g))\
1379N/A+|m(a(ny|p|tch)|ember|ove)|n(ame|ext|umeric)|o(f|pen|rd)|p(op|os|ull|ush|ut)\
1379N/A+|r(e(ad(|s)|move|name|p(eat|l)|turn|verse)|ight|tod|unerr)|s(ave|eek|eq|et|in|ort(|f)\
1379N/A+|qrt|top|tring|ystem)|t(a(b(|le)|n)|hen|o|rim|ype)|u(ntil|pto)|w(h(ere|ile)|rite(|s))\
1379N/A+state icon extends HighlightEntry
1379N/A+ /* Character constants. */
1379N/A+ />|>=|:=|<=|#|=+|!|::|\+|\-|\^|\/|\*|\|/ {
1379N/A+ * Function definitions, with args
1379N/A+ /([ \t]*procedure[ \t]+)(\w+)([ \t]*)/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A+ * Description: Lua Programming Language template for Enscript.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(assert|call|foreach|globals|print|require|to(number|string))\b/;
1379N/A+ /\b(and|break|do|e(nd|lse(|if))|f(alse|or|unction)|i(f|n)|local\
1379N/A+|or|n(il|ot)|re(peat|turn)|t(hen|rue)|until|while\
1379N/A+state lua extends HighlightEntry
1379N/A+ /* Character constants. */
1379N/A+ /+|-|\*|=|!=|==|<|>|<=|>=|~=|!/ {
1379N/A+ /([ \t])*([a-zA-Z]+[, \ta-zA-Z0-9_]*):[^=]/ {
1379N/A+ * Function definitions, with args
1379N/A+ * function fct_name (args...)
1379N/A+ /^([ \t]*function[ \t]+)([a-zA-Z_][a-zA-Z_:0-9]*)([ \t]*)(\([^)]*\)[ \t]*)[ \t]*$/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
6636N/A dist_hl_DATA = $(misc) $(styles) $(languages) $(highlightings)
6636N/A dist_hl_DATA = $(misc) $(styles) $(languages) $(highlightings)
1379N/A+ * Description: Oberon 2 Programming Language.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(ARRAY|B(OOLEAN|YTE)|CHAR|INTEGER|LONG(|INT|REAL)|MODULE|NIL\
1379N/A+|P(OINTER|ROCEDURE)|RE(AL|CORD)|SHORT(|INT))\b/;
1379N/A+ /\b(A(BS|ND|SH)|BEGIN|C(A(P|SE)|HR)|D(O|EC|IV)\
1379N/A+|E(LS(E|IF)|N(D|TIER)|X(CL|IT))|F(ALSE|OR)|HALT|I(F|S|N(|C(|L)))\
1379N/A+|L(EN|OOP)|M(AX|IN|OD)|NEW|O(F|DD|R(|D))|S(ET|IZE)|T(HEN|O|RUE|YPE)\
1379N/A+|UNTIL|RE(PEAT|TURN)|VAR|W(HILE|ITH))\b/;
1379N/A+state oberon2_comment extends Highlight
1379N/A+state oberon2 extends HighlightEntry
1379N/A+ /* Character constants. */
1379N/A+ /\->|>|>=|:=|<=|#|=|!|::|\+|\-|\^|\/|\*|\|/ {
1379N/A+ * Function definitions, with args
1379N/A+ /([ \t]*PROCEDURE[ \t]+)(\w+)([ \t]*)/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A+ /([ \t]*END[ \t]+)(\w+)([ \t]*[;\.])/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(export|import|local|require)\b/;
1379N/A+ /\b(attr|c(lass|atch)|f(eat|unctor)|nil|prop|raise|try)\b/;
1379N/A+ /\b(at|c(ase|hoice|ond)|d(e(clare|fine)|o|is)|e(lse(|case|if|of)|nd)\
1379N/A+|f(inally|or|rom|un)|i(f|n)|lock|meth|not|o(f|r)|p(repare|roc)|then\
1379N/A+state oz extends HighlightEntry
1379N/A+ /* Character constants. */
1379N/A+ * Function definitions, with args
1379N/A+ /([ \t]*\{)(\w+)([\. \t]*)/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A state perl extends HighlightEntry
1379N/A+ /* stuff after $# is a variable, not a comment */
1379N/A+ * Description: Smalltalk Programming Language.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(class|false|inspect|isNil|new|nil|not(|Nil)|out|s(elf|uper)|true\
1379N/A+|do|whileTrue|whileFalse|ifTrue|ifFalse|put|to|at|add|new\
1379N/A+state smalltalk_quot_string extends Highlight
1379N/A+state smalltalk extends HighlightEntry
1379N/A+ call (smalltalk_quot_string);
1379N/A+ /:=|>|>=|==|<=|<>|=|!|::|@|\+|\-|\^|\/|\*|\||\[|\]/ {
1379N/A+ * Function definitions, with args
1379N/A+ /([ \t]*)(\w+)(:[ \t]*)/ {
1379N/A+ function_name_face (true);
1379N/A+ function_name_face (false);
1379N/A+ * Description: Standard ML Programming Language.
1379N/A+ * Author: Brent Fulgham <bfulgham@debian.org>
1379N/A+ /\b(functor|lambda|s(ig(|nature)|truct(|ure))|NONE|SOME)\b/;
1379N/A+ /\b(\'(a|b|c|d)|array|bool|char|int|list|real|string|unit|vector|word)\b/;
1379N/A+ /\b(a(bs(traction|type)|nd(|also)|s|toi)|before|c(ase|oncat)|d(o|atatype)\
1379N/A+|e(lse|nd|qtype|xception)|f(n|un(|sig))|handle|i(f|n(|clude|fix|fixr))\
1379N/A+|l(et|ocal)|nonfix|o(|f|p(|en)|relse|verload)|print|r(aise|ec|ef)|sharing\
1379N/A+|t(hen|ype)|val|w(h(ere|ile)|ith(|type)))\b/ ;
1379N/A+state sml_comment extends Highlight
1379N/A+state sml extends HighlightEntry
1379N/A+ /* Character constants. */
1379N/A+ /:=|>|>=|==|<=|<>|=|!|::|@|\+|\-|\^|\/|\*|\||\b(quot|rem|div|mod\
1379N/A+ * Function definitions, with args
1379N/A+ /([ \t]*f[u]n[ \t]+)(\w+)([ \t]*)/ {
1379N/A+ function_name_face (true);
1379N/A+ face_on(face_bold_italic);
1379N/A+ face_off(face_bold_italic);
1379N/A+ function_name_face (false);
1379N/A |e(ntry|of|rror|v(al|ent)|x(ec|it|pr))\
1379N/A |f(blocked|configure|ile(|event|name)|lush|o(cus|nt|r(|each|mat))|rame)\
1379N/A |g(ets|lob(|al)|r(ab|id))|history|i(f|mage|n(cr|fo|terp))|join\
1379N/A-|l(a(bel|ppend)|i(brary|n(dex|sert)|st(|box))|length|o(ad|se|wer)\
1379N/A+|l(a(bel|ppend|st)|i(brary|n(dex|sert)|st(|box))|length|o(ad|se|wer)\
1379N/A |r(ange|eplace)|s(earch|ort))\
1379N/A |me(nu(|button)|ssage)|op(en|tion(|s))\
1379N/A |p(ack(|age)|hoto|id|kg_mkIndex|lace|roc|uts|wd)\