From 17aa3ce21df20bc97d2806e64b4eaf40e676065c Mon Sep 17 00:00:00 2001 From: jkudrnac Date: Fri, 17 Feb 2006 15:33:18 +0000 Subject: [PATCH] - added new highlighters (#177336) --- .cvsignore | 3 +- enscript-1.6.4-hilight.patch | 1255 ++++++++++++++++++++++++++++++++++ enscript.spec | 11 + sources | 2 + 4 files changed, 1270 insertions(+), 1 deletion(-) create mode 100644 enscript-1.6.4-hilight.patch diff --git a/.cvsignore b/.cvsignore index 870e522..d616ea2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,3 @@ -enscript-1.6.1.tar.gz enscript-1.6.4.tar.gz +enscript-ruby-1.6.4.tar.gz +enscript-php-1.6.4.st diff --git a/enscript-1.6.4-hilight.patch b/enscript-1.6.4-hilight.patch new file mode 100644 index 0000000..effafae --- /dev/null +++ b/enscript-1.6.4-hilight.patch @@ -0,0 +1,1255 @@ +04_hilight.dpatch from Debian's 1.6.4-7 patchset, with a few changes: +o hilight *.xhtml as html +o install php.st and ruby.st bits +o patch Makefile.am too + +diff -Nru enscript-1.6.4.orig/states/hl/changelog.st enscript-1.6.4/states/hl/changelog.st +--- enscript-1.6.4.orig/states/hl/changelog.st 2003-03-05 09:26:33.000000000 +0200 ++++ enscript-1.6.4/states/hl/changelog.st 2006-01-09 22:02:28.000000000 +0200 +@@ -43,7 +43,7 @@ + } + + /* File descriptions without function names. */ +- /(^\t\* )([^ :]+)(:)/ { ++ /(^\t\* )([^:]+)(:)/ { + language_print ($1); + + function_name_face (true); +diff -Nru enscript-1.6.4.orig/states/hl/dylan.st enscript-1.6.4/states/hl/dylan.st +--- enscript-1.6.4.orig/states/hl/dylan.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/dylan.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,124 @@ ++/** ++ * Name: dylan ++ * Description: Dylan Programming Language template for Enscript. ++ * Author: Brent Fulgham ++ * (based on the Scheme version by Markku Rossi ) ++ */ ++ ++dylan_mod_re = ++/* Definition Modifiers ++ (build-re '(abstract block concrete constant class domain exception exclude ++ export function functional generic handler import inherited inline ++ instance interface library macro method open primary sealed sideways ++ singleton slot subclass variable virtual)) ++ */ ++ /\b(subclass|abstract|block|c(on(crete|stant)|lass)|domain\ ++|ex(c(eption|lude)|port)|f(unction(|al))|generic|handler\ ++|i(n(herited|line|stance|terface)|mport)|library|m(acro|ethod)\ ++|open|primary|sealed|si(deways|ngleton)|slot\ ++|v(ariable|irtual))\b/; ++ ++state dylan extends HighlightEntry ++{ ++ BEGIN { ++ /* ++ * Modify regexp character syntax so that we can distinguish all ++ * dylan symbols. ++ */ ++ extras = list ('!', '$', '%', '&', '*', '/', ':', ++ '=', '?', '~', '^', '.', '+', '-'); ++ for (i = 0; i < length (extras); i = i + 1) ++ regexp_syntax (extras[i], 'w'); ++ } ++ ++ /* Modifiers */ ++ dylan_mod_re { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* Types */ ++ /<\w+>/ { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* Symbols */ ++ /#\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Comments. */ ++ /\/\// { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ /\/\*/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.*'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Keywords. ++ "=>" + ++ (build-re '(above afterwards begin below by case cleanup create ++ define end else elseif finally for from if in let local otherwise rename ++ select signal then to unless until use variable virtual when while ++ */ ++ /=>|\b(a(bove|fterwards)|b(e(gin|low)|y)|c(ase|leanup|reate)\ ++|define|else(|if)|end|f(inally|or|rom)|i[fn]|l(et|ocal)|otherwise\ ++|rename|s(elect|ignal)|t(hen|o)|u(n(less|til)|se)|wh(en|ile))\b/ { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* ':'-names, Emacs highlights these, so do we. */ ++ /([ \t])([!\$%&\*\/:<=>\?~_^a-zA-Z0-9.+\-]*:)/ { ++ language_print ($1); ++ reference_face (true); ++ language_print ($2); ++ reference_face (false); ++ } ++ ++ /* Function faces */ ++ /([ \t]*)(\w+[^:])([ \t]*\([ \t]*)/ { ++ language_print ($1); ++ function_name_face(true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face(false); ++ language_print ($3); ++ } ++} ++ ++ ++/* ++Local variables: ++mode: c ++End: ++*/ +diff -Nru enscript-1.6.4.orig/states/hl/eiffel.st enscript-1.6.4/states/hl/eiffel.st +--- enscript-1.6.4.orig/states/hl/eiffel.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/eiffel.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,132 @@ ++/** ++ * Name: eiffel ++ * Description: Eiffel programming language. ++ * Author: Julien Lemoine ++ * Brent Fulgham ++ */ ++ ++eiffel_types = ++/* Types */ ++ /\b(ABSTRACT_(FRACTION|INTEGER)|ANY|AR(GUMENTS|RAY(|2|3|ED_COLLECTION))\ ++|BASIC_(DIRECTORY|TIME)|BINARY_FILE_(READ|WRITE)|BIT_(N|STRING)|BOOLEAN\ ++|CHARACTER(|_CONSTANTS)|CLOCK|COLLECTION(|2|3|_SORTER)|COMPARABLE\ ++|COUNTER|DICTIONARY(|_NODE)|D(IRECTORY|OUBLE)|EXCEPTIONS|FILE(|_TOOLS)\ ++|FIXED_ARRAY(|2|3)|GE(NERAL|N_RAND)|HASH(ABLE|_TABLE_SIZE)|INPUT_STREAM\ ++|INTEGER(|_8|_16|_32|_64|_FRACTION|_GENERAL)\ ++|ITERATOR(|_ON_(COLLECTION|DICTIONARY(_ITEMS|_KEYS)|LINKED_LIST|SET\ ++|STRING|TWO_WAY_LINKED_LIST|UNICODE_STRING))\ ++|LARGE(|_NEGATIVE|_POSITIVE)_INTEGER|LINK(|2|ED(_COLLECTION|_LIST))\ ++|MATH_CONSTANTS|MEMO(|RY)|MICROSECOND_TIME|MINI_PARSER_BUFFER\ ++|MIN_STAND|MUTABLE_BIG_INTEGER|NATIVE_ARRAY|NULL_(INPUT|OUTPUT)\ ++|NUMBER(|_FRACTION|_TOOLS)|NUMERIC|OUTPUT_STREAM|PLATFORM|POINTER\ ++|REAL|REVERSE_COLLECTION_SORTER|SAFE_EQUAL|SCOOP_UTILITIES|SET(|_NODE)\ ++|SMALL_INTEGER|STD_(ERROR|FILE_(READ|READ_WRITE|WRITE)|INPUT(|_OUTPUT)\ ++|OUTPUT|RAND)|STRING(|_HANDLER)|SYSTEM|TIME(|_IN_(ENGLISH|FRENCH|GERMAN\ ++|ITALIAN|SOME_LANGUAGE|SPANISH))|TWO_WAY_LINKED_LIST\ ++|UNICODE_STRING(|_HANDLER)|UTF8_PARSER)\b/; ++ ++eiffel_keywords = ++/* Keywords */ ++ /\b(agent|a(ll|lias)|and|as(|sign)|check|class|convert|create|Current|debug\ ++|deferred|do|else(|if)|en(d|sure)|ex(panded|port|ternal)|False\ ++|feature|fro(m|zen)|if|implies|in(dexing|fix|herit|spect|variant)\ ++|is|like|local|loop|not|o(r|bsolete|ld|nce)|prefix|Precursor|pure\ ++|re(define|ference|name|quire|scue|try)|Result|separate|then|True\ ++|TUPLE|un(define|til)|creation)\b/; ++ ++state eiffel extends HighlightEntry ++{ ++ ++ /* One line comments. */ ++ /\-\-/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ eiffel_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ eiffel_types { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ /:=|==|<=|>=|=|!=|\/=|!|!!/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* Type declarations */ ++ /([ \t])*([a-zA-Z]+[, \ta-zA-Z0-9_]*):[^=]/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ ++ /* ++ * Function definitions, with args ++ * fct_name (args...) is ++ */ ++ /^([ \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]*$/ { ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($1); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($2); ++ type_face (true); ++ language_print ($3); ++ type_face (false); ++ language_print ($4); ++ type_face (true); ++ language_print ($5); ++ type_face (false); ++ keyword_face (true); ++ language_print ($6); ++ keyword_face (false); ++ language_print ($7); ++ } ++ ++ /* ++ * Function definitions, without args ++ * fct_name is ++ */ ++ /^([ \t]*[a-zA-Z_][a-zA-Z_0-9]*)([ \t]*)(is)[ \t]*$/ { ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($1); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print(" "); ++ keyword_face (true); ++ language_print ($3); ++ keyword_face (false); ++ } ++ ++} +diff -Nru enscript-1.6.4.orig/states/hl/enscript.st enscript-1.6.4/states/hl/enscript.st +--- enscript-1.6.4.orig/states/hl/enscript.st 2003-03-05 10:31:31.000000000 +0200 ++++ enscript-1.6.4/states/hl/enscript.st 2006-01-09 22:04:22.000000000 +0200 +@@ -474,24 +474,31 @@ + /\.m$/ matlab; + /\.(mpl|mp|maple)$/ maple; + /\.(scm|scheme)$/ scheme; ++ /\.e$/ eiffel; ++ /\.erl$/ erlang; + /\b\.emacs$|\.el$/ elisp; + /\.ad(s|b|a)$/ ada; + /\.[Ss]$/ asm; ++ /\.sml$/ sml; + /\.st$/ states; ++ /\.lua$/ lua; + /(M|m)akefile.*/ makefile; + /\.(MOD|DEF|mi|md)$/ modula_2; ++ /\.oz$/ oz; + /\.tcl$/ tcl; + /\.(v|vh)$/ verilog; +- /\.html?$/ html; ++ /\.x?html?$/ html; + /\bChangeLog$/ changelog; + /\.(vhd|vhdl)$/ vhdl; + /\.(scr|.syn|.synth)$/ synopsys; + /\.idl$/ idl; + /\.(hs|lhs|gs|lgs)$/ haskell; + /\.(pm|pl)$/ perl; ++ /\.php[34]?$/ php; + /\.(eps|EPS|ps|PS)$/ postscript; + /\.py$/ python; + /\.pyx$/ pyrex; ++ /\.rbw?$/ ruby; + /\.js$/ javascript; + /\.java$/ java; + /\.([Pp][Aa][Ss]|[Pp][Pp]|[Pp])$/ pascal; +@@ -530,6 +537,10 @@ + /-\*- [Ii][Dd][Ll] -\*-/ idl; + /-\*- [Pp][Ee][Rr][Ll] -\*-/ perl; + /^#![ \t]*\/.*\/perl/ perl; ++ /-\*- [Pp][Hh][Pp] -\*-/ php; ++ /^<\?php/ php; ++ /-\*- [Rr][Uu][Bb][Yy] -\*-/ ruby; ++ /^#![ \t]*\/.*\/ruby/ ruby; + /^From:/ mail; + /^#![ \t]*(\/usr)?\/bin\/[ngmt]?awk/ awk; + /^#![ \t]*(\/usr)?\/bin\/sh/ sh; +diff -Nru enscript-1.6.4.orig/states/hl/erlang.st enscript-1.6.4/states/hl/erlang.st +--- enscript-1.6.4.orig/states/hl/erlang.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/erlang.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,161 @@ ++/** ++ * Name: erlang ++ * Description: Erlang programming language. ++ * Author: Sean Hinde ++ */ ++ ++ ++/* Erlang atom: ([a-z][a-zA-Z0-9_]*|\'[^\n]*\') */ ++ ++state erlang extends HighlightEntry ++{ ++ /* Comments */ ++ /%/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Special -record(rec_name, {}). pre-processor case */ ++ /(-record)(\([ \t]*)([a-z][a-zA-Z0-9_]*|\'[^\n]*\')/ { ++ reference_face (true); ++ language_print ($1); ++ reference_face (false); ++ language_print ($2); ++ type_face (true); ++ language_print ($3); ++ type_face (false); ++ } ++ ++ /* Special -define(Alter, "Hello"). pre-processor case */ ++ /(-define)(\([ ++\t]*)([a-z][a-zA-Z0-9_]*|\'[^\n]*\'|[A-Z_][a-zA-Z0-9_]*)/ { ++ reference_face (true); ++ language_print ($1); ++ reference_face (false); ++ language_print ($2); ++ builtin_face (true); ++ language_print ($3); ++ builtin_face (false); ++ } ++ ++ /* Pre-processor lines. */ ++ /^-([a-z][a-zA-Z0-9_]*)/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* Defines */ ++ /(\?)([a-z][a-zA-Z0-9_]*|\'[^\n]*\'|[A-Z_][a-zA-Z0-9_]*)/ { ++ language_print ($1); ++ builtin_face (true); ++ language_print ($2); ++ builtin_face (false); ++ } ++ ++ /* Records */ ++ /(#)([a-z][a-zA-Z0-9_]*|\'[^\n]*\')/ { ++ language_print ($1); ++ type_face (true); ++ language_print ($2); ++ type_face (false); ++ } ++ ++ /* Keywords. ++ '(after begin case try catch end fun if of receive when) ++ Regexp taken from emacs Erlang mode R9C ++ */ ++ /\b(a(fter|ndalso)|begin|c(atch|ase)\ ++|end|fun|if|o(f|relse)|receive|try|when\ ++|query)\b/ { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Guards. ++ Regexp taken from emacs Erlang mode R9C ++ */ ++ /\b((is_)*(atom|function|binary|constant|float\ ++|integer|list|number|p(id|ort)\ ++|re(ference|cord)|tuple))\b/ { ++ builtin_face (true); ++ language_print ($0); ++ builtin_face (false); ++ } ++ ++ /* Built in functions */ ++ ++/\b(a(bs|live|pply|tom_to_list)\ ++|binary_to_(list|term)\ ++|concat_binary|d(ate|isconnect_node)\ ++|e(lement|rase|xit)\ ++|float(|_to_list)\ ++|g(arbage_collect|et(|_keys)|roup_leader)\ ++|h(alt|d)\ ++|i(nte(ger_to_list|rnal_bif)|s_alive)\ ++|l(ength|i(nk|st_to_(atom|binary|float|integer\ ++|pid|tuple)))\ ++|make_ref|no(de(|_(link|unlink)|s)|talive)\ ++|open_port\ ++|p(id_to_list|rocess(_(flag|info)|es)|ut)\ ++|r(egister(|ed)|ound)\ ++|s(e(lf|telement)|ize\ ++|p(awn(|_link)|lit_binary)|tatistics)\ ++|t(erm_to_binary|hrow|ime|l\ ++|r(ace|unc)|uple_to_list)\ ++|un(link|register)|whereis)\b/ { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* ++ * Function definitions. ++ */ ++ /^([a-z][a-zA-Z0-9_]*|'[^\n]*')/ { ++ function_name_face (true); ++ language_print ($1); ++ function_name_face (false); ++ language_print ($2); ++ } ++ ++ /* Atom like strings */ ++ /('[^\n]*')/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Characters */ ++ /(\$.)/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Variable Names */ ++ /* /([\{\(\,\[ \t]+)([A-Z_][a-zA-Z0-9_]*)/ { */ ++ /([^a-z0-9_\"])([A-Z_][a-zA-Z0-9_]*)/ { ++ language_print ($1); ++ variable_name_face (true); ++ language_print ($2); ++ variable_name_face (false); ++ } ++} ++ ++/* ++Local variables: ++mode: erlang ++End: ++*/ +diff -Nru enscript-1.6.4.orig/states/hl/forth.st enscript-1.6.4/states/hl/forth.st +--- enscript-1.6.4.orig/states/hl/forth.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/forth.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,96 @@ ++/** ++ * Name: forth ++ * Description: Forth Programming Language. ++ * Author: Brent Fulgham ++ */ ++ ++forth_builtins = ++/* builtins */ ++ /\b(abort|bye|c(atch|o(ld|ntext))|d(rop|up)|f(d(rop|up)|nip|o(r(get|th)|ver)|rot\ ++|s(eal|wap)|tuck)|include|l(ink|oad)|n(ip|eeds)|o(rder|ver)|pick|ro(ll|t)|swap|t(hrow|uck)\ ++|within|2(drop|nip|dup|over|tuck|swap|rot)|3dup|4dup\ ++)\b/; ++ ++forth_types = ++/* types */ ++ /\b(base|c(ell|har)|decimal|float|hex)\b/; ++ ++forth_keywords = ++/* keywords */ ++ /\b(a(bs|gain|head|lso|nd)|begin|c(ase|onstant)|d(abs|efinitions|m(ax|in)|negate|o(|ne))\ ++|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)\ ++|o(g|or)|s(in(|cos|h)|qrt)|tan(|h))|m(ax|in)|negate|or|round|sqrt)|h(ere|old)|i(f|nvert)\ ++|l(eave|oop)|m(ax|in|od)|n(e(gate|xt)|ot)|o(f|nly|r)|r(epeat|oot)|s(eal|ign)|then\ ++|un(til|loop)|v(ariable|oc(abulary|s))|while|xor\ ++)\b/; ++ ++state forth extends HighlightEntry ++{ ++ /* Comments. */ ++ /\\\\/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* keywords. */ ++ forth_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ forth_types { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* Builtins support */ ++ forth_builtins { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* symbols, etc. */ ++ />|>=|<=|<>|!|\+|\-|\^|\/|\*|\|/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * function definitions, with args ++ * fct_name (args...) is ++ */ ++ /^(:[ \t]+)([^ ^\t]+)([ \t]*)/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($3); ++ } ++} ++ +diff -Nru enscript-1.6.4.orig/states/hl/icon.st enscript-1.6.4/states/hl/icon.st +--- enscript-1.6.4.orig/states/hl/icon.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/icon.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,93 @@ ++/** ++ * Name: icon ++ * Description: Icon Programming Language. ++ * Author: Brent Fulgham ++ */ ++ ++icon_builtins = ++/* Builtins */ ++ /\b(break|create|default|fail|initial|l(ink|ocal)|not|s(tatic|uspend))\b/; ++ ++icon_types = ++/* Types */ ++ /\b(char|error|function|integer|proc|procedure|real|variable)\b/; ++ ++icon_keywords = ++/* Keywords */ ++ /\b(a(bs|cos|ny|rgs|sin|tan)|b(al|y)|c(a(llout|se)|enter|hdir|lose|o(llect|py|s)|set)\ ++|d(e(lay|lete|tab|isplay|tor)|o)|e(lse|n(d|tab)|rrorclear|very|xit|xp)|f(ind|lush)\ ++|get(|ch|che|env)|i(and|com|f|mage|nsert|or|shift|xor)|k(bhit|ey)|l(eft|ist|o(adfunc|g))\ ++|m(a(ny|p|tch)|ember|ove)|n(ame|ext|umeric)|o(f|pen|rd)|p(op|os|ull|ush|ut)\ ++|r(e(ad(|s)|move|name|p(eat|l)|turn|verse)|ight|tod|unerr)|s(ave|eek|eq|et|in|ort(|f)\ ++|qrt|top|tring|ystem)|t(a(b(|le)|n)|hen|o|rim|ype)|u(ntil|pto)|w(h(ere|ile)|rite(|s))\ ++)\b/; ++ ++state icon extends HighlightEntry ++{ ++ /* Comments. */ ++ /#/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ icon_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ icon_types { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* Structure support */ ++ icon_builtins { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ />|>=|:=|<=|#|=+|!|::|\+|\-|\^|\/|\*|\|/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * Function definitions, with args ++ * fct_name (args...) is ++ */ ++ /([ \t]*procedure[ \t]+)(\w+)([ \t]*)/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($3); ++ } ++} +diff -Nru enscript-1.6.4.orig/states/hl/lua.st enscript-1.6.4/states/hl/lua.st +--- enscript-1.6.4.orig/states/hl/lua.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/lua.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,91 @@ ++/** ++ * Name: lua ++ * Description: Lua Programming Language template for Enscript. ++ * Author: Brent Fulgham ++ */ ++ ++lua_builtins = ++/* Builtins */ ++ /\b(assert|call|foreach|globals|print|require|to(number|string))\b/; ++ ++lua_keywords = ++/* Keywords */ ++ /\b(and|break|do|e(nd|lse(|if))|f(alse|or|unction)|i(f|n)|local\ ++|or|n(il|ot)|re(peat|turn)|t(hen|rue)|until|while\ ++)\b/; ++ ++state lua extends HighlightEntry ++{ ++ ++ /* One line comments. */ ++ /\-\-|^#!/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ lua_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ lua_builtins { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ /+|-|\*|=|!=|==|<|>|<=|>=|~=|!/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* Class references */ ++ /([ \t])*([a-zA-Z]+[, \ta-zA-Z0-9_]*):[^=]/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * Function definitions, with args ++ * function fct_name (args...) ++ */ ++ /^([ \t]*function[ \t]+)([a-zA-Z_][a-zA-Z_:0-9]*)([ \t]*)(\([^)]*\)[ \t]*)[ \t]*$/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print(" "); ++ language_print ($3); ++ keyword_face (true); ++ language_print ($4); ++ keyword_face (false); ++ } ++ ++} +diff -Nru enscript-1.6.4.orig/states/hl/mail.st enscript-1.6.4/states/hl/mail.st +--- enscript-1.6.4.orig/states/hl/mail.st 2003-03-05 09:26:33.000000000 +0200 ++++ enscript-1.6.4/states/hl/mail.st 2006-01-09 22:02:28.000000000 +0200 +@@ -27,7 +27,7 @@ + END { + comment_face (true); + } +- /:/ { ++ /[ \t:]/ { + language_print ($0); + return; + } +diff -Nru enscript-1.6.4.orig/states/hl/Makefile.am enscript-1.6.4/states/hl/Makefile.am +--- enscript-1.6.4.orig/states/hl/Makefile.am 2003-03-05 09:26:33.000000000 +0200 ++++ enscript-1.6.4/states/hl/Makefile.am 2006-01-09 22:06:23.000000000 +0200 +@@ -38,7 +38,8 @@ + matlab.st nroff.st objc.st outline.st pascal.st passthrough.st perl.st \ + postscript.st python.st pyrex.st rfc.st scheme.st sh.st skill.st \ + sql.st states.st synopsys.st tcl.st tcsh.st tex.st vba.st verilog.st \ +-vhdl.st vrml.st wmlscript.st zsh.st ++vhdl.st vrml.st wmlscript.st zsh.st eiffel.st erlang.st dylan.st oz.st \ ++lua.st oberon2.st icon.st smalltalk.st forth.st sml.st php.st ruby.st + + states = $(misc) $(styles) $(languages) $(highlightings) + +diff -Nru enscript-1.6.4.orig/states/hl/Makefile.in enscript-1.6.4/states/hl/Makefile.in +--- enscript-1.6.4.orig/states/hl/Makefile.in 2003-03-05 09:40:07.000000000 +0200 ++++ enscript-1.6.4/states/hl/Makefile.in 2006-01-09 22:05:26.000000000 +0200 +@@ -188,7 +188,8 @@ + matlab.st nroff.st objc.st outline.st pascal.st passthrough.st perl.st \ + postscript.st python.st pyrex.st rfc.st scheme.st sh.st skill.st \ + sql.st states.st synopsys.st tcl.st tcsh.st tex.st vba.st verilog.st \ +-vhdl.st vrml.st wmlscript.st zsh.st ++vhdl.st vrml.st wmlscript.st zsh.st eiffel.st erlang.st dylan.st oz.st \ ++lua.st oberon2.st icon.st smalltalk.st forth.st sml.st php.st ruby.st + + + states = $(misc) $(styles) $(languages) $(highlightings) +diff -Nru enscript-1.6.4.orig/states/hl/oberon2.st enscript-1.6.4/states/hl/oberon2.st +--- enscript-1.6.4.orig/states/hl/oberon2.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/oberon2.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,111 @@ ++/** ++ * Name: oberon2 ++ * Description: Oberon 2 Programming Language. ++ * Author: Brent Fulgham ++ */ ++ ++oberon2_builtins = ++/* Builtins */ ++ /\b(CONST|IMPORT)\b/; ++ ++oberon2_types = ++/* Types */ ++ /\b(ARRAY|B(OOLEAN|YTE)|CHAR|INTEGER|LONG(|INT|REAL)|MODULE|NIL\ ++|P(OINTER|ROCEDURE)|RE(AL|CORD)|SHORT(|INT))\b/; ++ ++oberon2_keywords = ++/* Keywords */ ++ /\b(A(BS|ND|SH)|BEGIN|C(A(P|SE)|HR)|D(O|EC|IV)\ ++|E(LS(E|IF)|N(D|TIER)|X(CL|IT))|F(ALSE|OR)|HALT|I(F|S|N(|C(|L)))\ ++|L(EN|OOP)|M(AX|IN|OD)|NEW|O(F|DD|R(|D))|S(ET|IZE)|T(HEN|O|RUE|YPE)\ ++|UNTIL|RE(PEAT|TURN)|VAR|W(HILE|ITH))\b/; ++ ++state oberon2_comment extends Highlight ++{ ++ /\*\)/ { ++ language_print ($0); ++ return; ++ } ++} ++ ++state oberon2 extends HighlightEntry ++{ ++ /* Comments. */ ++ /\(\*/ { ++ comment_face (true); ++ language_print ($0); ++ call (oberon2_comment); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ oberon2_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ oberon2_types { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* Structure support */ ++ oberon2_builtins { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ /\->|>|>=|:=|<=|#|=|!|::|\+|\-|\^|\/|\*|\|/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * Function definitions, with args ++ * fct_name (args...) is ++ */ ++ /([ \t]*PROCEDURE[ \t]+)(\w+)([ \t]*)/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($3); ++ } ++ ++ /([ \t]*END[ \t]+)(\w+)([ \t]*[;\.])/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($3); ++ } ++} +diff -Nru enscript-1.6.4.orig/states/hl/oz.st enscript-1.6.4/states/hl/oz.st +--- enscript-1.6.4.orig/states/hl/oz.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/oz.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,89 @@ ++/** ++ * Name: oz ++ * Description: Mozart/Oz Programming Language. ++ * Author: Brent Fulgham ++ */ ++ ++oz_builtins = ++/* Builtins */ ++ /\b(export|import|local|require)\b/; ++ ++oz_types = ++/* Types */ ++ /\b(attr|c(lass|atch)|f(eat|unctor)|nil|prop|raise|try)\b/; ++ ++oz_keywords = ++/* Keywords */ ++ /\b(at|c(ase|hoice|ond)|d(e(clare|fine)|o|is)|e(lse(|case|if|of)|nd)\ ++|f(inally|or|rom|un)|i(f|n)|lock|meth|not|o(f|r)|p(repare|roc)|then\ ++|thread)\b/; ++ ++state oz extends HighlightEntry ++{ ++ ++ /* Comments. */ ++ /%/ { ++ comment_face (true); ++ language_print ($0); ++ call (eat_one_line); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ oz_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ oz_types { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* Structure support */ ++ oz_builtins { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ /\.\.|=[=]|<\-|\\=|\|/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * Function definitions, with args ++ * fct_name (args...) is ++ */ ++ /([ \t]*\{)(\w+)([\. \t]*)/ { ++ language_print ($1); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($3); ++ } ++ ++} +diff -Nru enscript-1.6.4.orig/states/hl/perl.st enscript-1.6.4/states/hl/perl.st +--- enscript-1.6.4.orig/states/hl/perl.st 2003-03-05 09:32:09.000000000 +0200 ++++ enscript-1.6.4/states/hl/perl.st 2006-01-09 22:02:28.000000000 +0200 +@@ -60,6 +60,11 @@ + + state perl extends HighlightEntry + { ++ /* stuff after $# is a variable, not a comment */ ++ /\$#\w+/ { ++ language_print ($0); ++ } ++ + /* Comments. */ + /#.*$/ { + comment_face (true); +@@ -127,7 +132,6 @@ + + /* Variables */ + /[$%@&]+\w+/ { +- keyword_face (false); + language_print ($0); + } + +diff -Nru enscript-1.6.4.orig/states/hl/smalltalk.st enscript-1.6.4/states/hl/smalltalk.st +--- enscript-1.6.4.orig/states/hl/smalltalk.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/smalltalk.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,80 @@ ++/** ++ * Name: Smalltalk ++ * Description: Smalltalk Programming Language. ++ * Author: Brent Fulgham ++ */ ++ ++smalltalk_keywords = ++/* Keywords */ ++ /\b(class|false|inspect|isNil|new|nil|not(|Nil)|out|s(elf|uper)|true\ ++|do|whileTrue|whileFalse|ifTrue|ifFalse|put|to|at|add|new\ ++|for)\b/ ; ++ ++state smalltalk_quot_string extends Highlight ++{ ++ /\\\\./ { ++ language_print ($0); ++ } ++ /[\']/ { ++ language_print ($0); ++ return; ++ } ++} ++ ++state smalltalk extends HighlightEntry ++{ ++ ++ /* Comments. */ ++ /\"/ { ++ comment_face (true); ++ language_print ($0); ++ call (c_string); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ smalltalk_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Declarations */ ++ /[ \t]*\|.*\|/ { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* String constants. */ ++ /[\']/ { ++ string_face (true); ++ language_print ($0); ++ call (smalltalk_quot_string); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ /:=|>|>=|==|<=|<>|=|!|::|@|\+|\-|\^|\/|\*|\||\[|\]/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * Function definitions, with args ++ * fct_name (args...) is ++ */ ++ /([ \t]*)(\w+)(:[ \t]*)/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold); ++ language_print ($2); ++ face_off(face_bold); ++ function_name_face (false); ++ language_print ($3); ++ } ++ ++} +diff -Nru enscript-1.6.4.orig/states/hl/sml.st enscript-1.6.4/states/hl/sml.st +--- enscript-1.6.4.orig/states/hl/sml.st 1970-01-01 02:00:00.000000000 +0200 ++++ enscript-1.6.4/states/hl/sml.st 2006-01-09 22:02:28.000000000 +0200 +@@ -0,0 +1,101 @@ ++/** ++ * Name: sml ++ * Description: Standard ML Programming Language. ++ * Author: Brent Fulgham ++ */ ++ ++sml_builtins = ++/* Builtins */ ++ /\b(functor|lambda|s(ig(|nature)|truct(|ure))|NONE|SOME)\b/; ++ ++sml_types = ++/* Types */ ++ /\b(\'(a|b|c|d)|array|bool|char|int|list|real|string|unit|vector|word)\b/; ++ ++sml_keywords = ++/* Keywords */ ++ /\b(a(bs(traction|type)|nd(|also)|s|toi)|before|c(ase|oncat)|d(o|atatype)\ ++|e(lse|nd|qtype|xception)|f(n|un(|sig))|handle|i(f|n(|clude|fix|fixr))\ ++|l(et|ocal)|nonfix|o(|f|p(|en)|relse|verload)|print|r(aise|ec|ef)|sharing\ ++|t(hen|ype)|val|w(h(ere|ile)|ith(|type)))\b/ ; ++ ++state sml_comment extends Highlight ++{ ++ /\*\)/ { ++ language_print ($0); ++ return; ++ } ++} ++ ++state sml extends HighlightEntry ++{ ++ ++ /* Comments. */ ++ /\(\*/ { ++ comment_face (true); ++ language_print ($0); ++ call (sml_comment); ++ comment_face (false); ++ } ++ ++ /* Keywords. */ ++ sml_keywords { ++ keyword_face (true); ++ language_print ($0); ++ keyword_face (false); ++ } ++ ++ /* Types. */ ++ sml_types { ++ type_face (true); ++ language_print ($0); ++ type_face (false); ++ } ++ ++ /* Structure support */ ++ sml_builtins { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* String constants. */ ++ /\"/ { ++ string_face (true); ++ language_print ($0); ++ call (c_string); ++ string_face (false); ++ } ++ ++ /* Character constants. */ ++ /'.'|'\\\\.'/ { ++ string_face (true); ++ language_print ($0); ++ string_face (false); ++ } ++ ++ /* Symbols, etc. */ ++ /:=|>|>=|==|<=|<>|=|!|::|@|\+|\-|\^|\/|\*|\||\b(quot|rem|div|mod\ ++|hd|tl)\b/ { ++ reference_face (true); ++ language_print ($0); ++ reference_face (false); ++ } ++ ++ /* ++ * Function definitions, with args ++ * fct_name (args...) is ++ */ ++ /([ \t]*f[u]n[ \t]+)(\w+)([ \t]*)/ { ++ keyword_face (true); ++ language_print ($1); ++ keyword_face (false); ++ function_name_face (true); ++ face_on(face_bold_italic); ++ language_print ($2); ++ face_off(face_bold_italic); ++ function_name_face (false); ++ language_print ($3); ++ } ++ ++} +diff -Nru enscript-1.6.4.orig/states/hl/tcl.st enscript-1.6.4/states/hl/tcl.st +--- enscript-1.6.4.orig/states/hl/tcl.st 2003-03-05 09:26:33.000000000 +0200 ++++ enscript-1.6.4/states/hl/tcl.st 2006-01-09 22:02:28.000000000 +0200 +@@ -128,7 +128,7 @@ + |e(ntry|of|rror|v(al|ent)|x(ec|it|pr))\ + |f(blocked|configure|ile(|event|name)|lush|o(cus|nt|r(|each|mat))|rame)\ + |g(ets|lob(|al)|r(ab|id))|history|i(f|mage|n(cr|fo|terp))|join\ +-|l(a(bel|ppend)|i(brary|n(dex|sert)|st(|box))|length|o(ad|se|wer)\ ++|l(a(bel|ppend|st)|i(brary|n(dex|sert)|st(|box))|length|o(ad|se|wer)\ + |r(ange|eplace)|s(earch|ort))\ + |me(nu(|button)|ssage)|op(en|tion(|s))\ + |p(ack(|age)|hoto|id|kg_mkIndex|lace|roc|uts|wd)\ diff --git a/enscript.spec b/enscript.spec index d1f39d6..ec7ae00 100644 --- a/enscript.spec +++ b/enscript.spec @@ -5,7 +5,12 @@ Release: 1.1.2 License: GPL Group: Applications/Publishing Source0: http://www.iki.fi/mtr/genscript/enscript-%{version}.tar.gz +Source1: enscript-ruby-1.6.4.tar.gz +#http://neugierig.org/software/ruby/ruby-enscript.tar.gz +Source2: enscript-php-1.6.4.st +#http://home.raxnet.net/downloads/viewcvs/php.st Patch0: enscript-1.6.1-config.patch +Patch1: enscript-1.6.4-hilight.patch Patch3: enscript-1.6.1-locale.patch Patch4: enscript-doublefree.patch Patch6: enscript-1.6.1-CAN-2004-1185.patch @@ -24,10 +29,13 @@ includes many options for customizing printouts. %prep %setup -q %patch0 -p1 -b .config +%patch1 -p1 -b .hilight %patch3 -p1 -b .locale %patch4 -p1 -b .doublefree %patch6 -p1 -b .CAN-2004-1185 %patch7 -p1 -b .CAN-2004-1186 +%{__tar} -C states/hl -zxf %{SOURCE1} ruby.st +install -pm 644 %{SOURCE2} states/hl/php.st %build %configure --with-media=Letter @@ -79,6 +87,9 @@ fi %changelog +*Fri Feb 17 2006 Jitka Kudrnacova 1.6.4-2 +- added new highlighters (#177336) + * Fri Feb 10 2006 Jesse Keating - 1.6.4-1.1.2 - bump again for double-long bug on ppc(64) diff --git a/sources b/sources index c09a060..c9e4b78 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ b5174b59e4a050fb462af5dbf28ebba3 enscript-1.6.4.tar.gz +fa9c837b2a258716411f6df827d36eb3 enscript-ruby-1.6.4.tar.gz +f3a0083638ac3fddc493d44b6515182a enscript-php-1.6.4.st