Annotation of cvsweb/cvsweb.conf, Revision 3.72
3.1 knu 1: # -*-perl-*-
2: # Configuration of cvsweb.cgi, the
3: # CGI interface to CVS Repositories.
4: #
5: # (c) 1998-1999 H. Zeller <zeller@think.de>
6: # 1999 H. Nordstrom <hno@hem.passagen.se>
3.30 knu 7: # 2000-2002 A. MUSHA <knu@FreeBSD.org>
3.65 scop 8: # 2002-2004 V. Skyttä <scop@FreeBSD.org>
3.1 knu 9: # based on work by Bill Fenner <fenner@FreeBSD.org>
3.28 knu 10: #
3.30 knu 11: # $FreeBSD$
3.27 knu 12: # $Id: cvsweb.conf,v 3.29 2001/07/23 09:14:52 hzeller Exp $
3.28 knu 13: # $Idaemons: /home/cvs/cvsweb/cvsweb.conf,v 3.27 2001/08/01 09:48:39 knu Exp $
3.1 knu 14: #
15: ###
16:
3.19 knu 17: # Set the path for the following commands:
3.47 scop 18: # cvs, rlog, rcsdiff
3.19 knu 19: # gzip (if you enable $allow_compress)
3.47 scop 20: # (g)tar, zip (if you enable $allow_tar)
3.42 scop 21: # cvsgraph (if you enable $allow_graph)
3.71 scop 22: # enscript (if you enable $allow_enscript)
3.58 scop 23: #
3.72 ! scop 24: # Colons and/or semicolons can be used as path separators.
! 25: #
3.19 knu 26: $command_path = '/bin:/usr/bin:/usr/local/bin';
27:
3.47 scop 28: # Search the above directories for each command (prefer gtar over tar).
3.58 scop 29: #
3.71 scop 30: for (qw(cvs rlog rcsdiff gzip gtar zip cvsgraph enscript)) {
3.26 knu 31: $CMD{$_} = search_path($_);
3.19 knu 32: }
3.47 scop 33: $CMD{tar} = delete($CMD{gtar}) if $CMD{gtar};
34: $CMD{tar} ||= search_path('tar');
3.19 knu 35:
3.53 scop 36: # CVS roots
37: #
38: # CVSweb can handle several CVS repositories at once. Enter short (internal)
39: # symbolic repository names, their names in the UI and the actual locations
40: # here. The repositories will be listed in the order they're specified here.
41: #
42: # Note that only local repositories are currently supported. Things like
43: # :pserver:someone@xyz.com:/data/cvsroot won't work.
44: #
45: # 'symbolic_name' => ['Name to display', '/path/to/cvsroot']
46: #
3.17 knu 47: @CVSrepositories = (
3.53 scop 48: 'local' => ['Local Repository', '/home/cvs'],
49: # 'freebsd' => ['FreeBSD', '/home/ncvs'],
50: # 'openbsd' => ['OpenBSD', '/home/ncvs'],
51: # 'netbsd' => ['NetBSD', '/home/ncvs'],
52: # 'ruby' => ['Ruby', '/var/anoncvs/ruby'],
3.26 knu 53: );
3.1 knu 54:
3.53 scop 55: # The default CVS root. Note that @CVSrepositories is list, not a hash,
56: # so you'll want to use 2 * 0-based-index-number here; or set this directly
57: # to the default's symbolic name. Unless specified, the first valid one in
58: # @CVSrepositories is used as the default.
59: #
60: # For example:
61: #
62: #$cvstreedefault = $CVSrepositories[2 * 0];
63: #$cvstreedefault = 'local';
3.1 knu 64:
65: ##############
3.15 knu 66: # Bug tracking system options
67: # ("PR" means Problem Report, as in GNATS)
3.1 knu 68: ##############
3.15 knu 69: #@prcategories = qw(
3.26 knu 70: # advocacy
71: # alpha
72: # bin
73: # conf
74: # docs
75: # gnu
76: # i386
77: # kern
78: # misc
79: # pending
80: # ports
81: # sparc
82: #);
83:
3.15 knu 84: #$prcgi = "http://www.FreeBSD.org/cgi/query-pr.cgi?pr=%s";
3.58 scop 85:
3.15 knu 86: #$prkeyword = "PR";
3.1 knu 87:
88: ##############
3.15 knu 89: # Manual gateway
3.8 knu 90: ##############
3.26 knu 91: $mancgi =
92: "http://www.FreeBSD.org/cgi/man.cgi?apropos=0&sektion=%s&query=%s&manpath=FreeBSD+5.0-current&format=html";
3.1 knu 93:
94: ##############
95: # Defaults for UserSettings
96: ##############
97: %DEFAULTVALUE = (
3.26 knu 98:
99: # sortby: File sort order
100: # file Sort by filename
101: # rev Sort by revision number
102: # date Sort by commit date
103: # author Sort by author
104: # log Sort by log message
105: "sortby" => "file",
106:
3.46 scop 107: # ignorecase: ignore case in sorts (filenames, authors, log messages)
108: # 0 Honour case
109: # 1 Ignore case
110: "ignorecase" => "0",
111:
3.26 knu 112: # hideattic: Hide or show files in Attic
113: # 1 Hide files in Attic
114: # 0 Show files in Attic
115: "hideattic" => "1",
116:
117: # logsort: Sort order for CVS logs
118: # date Sort revisions by date
119: # rev Sort revision by revision number
120: # cvs Don't sort them. Same order as CVS/RCS shows them.
121: "logsort" => "date",
122:
123: # f: Default diff format
124: # h Human readable
125: # u Unified diff
126: # c Context diff
127: # s Side by side
3.55 scop 128: # uc Unified diff, enscript colored
129: # cc Context diff, enscript colored
130: # sc Side by side, enscript colored
3.26 knu 131: "f" => "u",
132:
133: # hidecvsroot: Don't show the CVSROOT directory
134: # 1 Hide CVSROOT directory
135: # 0 Show CVSROOT directory
136: "hidecvsroot" => "0",
137:
138: # hidenonreadable: Don't show entries which cannot be read
139: # 1 Hide non-readable entries
140: # 0 Show non-readable entries
141: "hidenonreadable" => "1",
3.49 scop 142:
143: # ln: Show line numbers in HTMLized views
144: # 1 Show line numbers
145: # 0 Don't show line numbers
146: "ln" => "0",
3.1 knu 147: );
148:
149: ##############
150: # some layout stuff
151: ##############
152:
153: # Wanna have a logo on the page ?
3.58 scop 154: #
3.60 scop 155: $logo = '<p><img src="/icons/apache_pb.gif" alt="Powered by Apache" /></p>';
3.1 knu 156:
3.34 scop 157: # The title of the Page on startup. This will be put inside a <h1> tag.
3.58 scop 158: #
3.1 knu 159: $defaulttitle = "CVS Repository";
160:
3.34 scop 161: # The address is shown on the footer. This will be put inside a <address> tag.
3.58 scop 162: #
3.34 scop 163: $address = '<span style="font-size: smaller">FreeBSD-CVSweb <<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>></span>';
3.1 knu 164:
165: $long_intro = <<EOT;
166: <p>
167: This is a WWW interface for CVS Repositories.
3.67 scop 168: You can browse the file hierarchy by following directory links (which
169: have slashes after them, e.g. <code>src/</code>).
170: If you follow a link to a file, you will see its revision history.
171: Following a link labeled with a revision number will display that
172: revision of the file. In the revision history view, there is a link
173: near each revision to display diffs between that revision and the
174: previous one, and a form at the bottom of the page that allows you to
3.1 knu 175: display diffs between arbitrary revisions.
3.67 scop 176: </p><p>
3.33 scop 177: This script has been written by Bill Fenner and improved by Henner Zeller,
178: Henrik Nordström, and Ken Coar, then Akinori MUSHA brought it
3.22 knu 179: back to FreeBSD community and made further improvements; it is covered
3.33 scop 180: by <a
181: href="http://www.opensource.org/licenses/bsd-license.html">The BSD Licence</a>.
3.67 scop 182: </p><p>
3.1 knu 183: If you would like to use this CGI script on your own web server and
3.67 scop 184: CVS tree, download the latest version from <<a
3.33 scop 185: href="http://www.FreeBSD.org/projects/cvsweb.html">http://www.FreeBSD.org/projects/cvsweb.html</a>>.
3.67 scop 186: </p><p>
3.33 scop 187: Feel free to send any patches, suggestions and comments to the FreeBSD-CVSweb
188: mailing list at
189: <<a
190: href="mailto:freebsd-cvsweb\@FreeBSD.org">freebsd-cvsweb\@FreeBSD.org</a>>.
3.1 knu 191: </p>
192: EOT
193:
194: $short_instruction = <<EOT;
195: <p>
196: Click on a directory to enter that directory. Click on a file to display
3.32 scop 197: its revision history and to get a chance to display diffs between revisions.
3.1 knu 198: </p>
199: EOT
200:
3.42 scop 201: # Icons for the web UI. If ICON-URL is empty, the TEXT representation is
202: # used. If you do not want to have a tool tip for an icon, set TEXT empty.
203: # The width and height of the icon allow the browser to correctly display
204: # the table while still loading the icons. If these icons are too large,
205: # check out the "mini" versions in the icons/ directory; they have a
206: # width/height of 16/16.
3.58 scop 207: #
3.42 scop 208: my $iconsdir = '/icons';
209:
3.51 scop 210: # format: TEXT ICON-URL width height
3.26 knu 211: %ICONS = (
3.51 scop 212: back => [('[BACK]', "$iconsdir/back.gif", 20, 22)],
213: dir => [('[DIR]', "$iconsdir/dir.gif", 20, 22)],
214: file => [('[TXT]', "$iconsdir/text.gif", 20, 22)],
215: binfile => [('[BINARY]', "$iconsdir/binary.gif", 20, 22)],
216: graph => [('[GRAPH]', "$iconsdir/minigraph.png", 16, 16)],
3.26 knu 217: );
3.15 knu 218: undef $iconsdir;
3.1 knu 219:
3.43 scop 220: # An URL where to find the CSS.
3.58 scop 221: #
3.43 scop 222: $cssurl = '/css/cvsweb.css';
223:
3.1 knu 224: # the length to which the last logentry should
225: # be truncated when shown in the directory view
3.58 scop 226: #
3.1 knu 227: $shortLogLen = 80;
228:
229: # Show author of last change
3.58 scop 230: #
3.1 knu 231: $show_author = 1;
232:
233: ##############
234: # table view for directories
235: ##############
236:
3.40 scop 237: # Cell padding for directory table
3.58 scop 238: #
3.1 knu 239: $tablepadding = 2;
240:
241: # Modules in the repository that should not be displayed, either by default
242: # nor by explicit path specification.
243: #
3.27 knu 244: @HideModules = (
245: # "^my/secret/module",
246: );
247:
3.69 scop 248: # Files matching these pathnames shouldn't be checked out with CVSweb,
249: # since they may contain sensitive information. These regular expressions
250: # are compared against file names relative to the CVS root(s), without the
251: # trailing ",v". Often, the CVSROOT/passwd is exposed and some people tend
252: # to check in their .cvspass, though this is a bad idea. These files
253: # shouldn't be readable by default. Thanks to Damian Gryski to point
254: # this out. Note that this affects only files, not directories.
3.58 scop 255: #
3.27 knu 256: @ForbiddenFiles = (
257: "^CVSROOT/passwd\$", # CVSROOT/passwd should not be cvs add'ed, though
258: "/\\.cvspass\$", # Ditto. Just in case.
259: );
3.1 knu 260:
3.69 scop 261: # Use CVSROOT/descriptions for describing the directories/modules
262: # See INSTALL, section 9.
3.1 knu 263: #
264: $use_descriptions = 0;
265:
266: ##############
267: # Human Readable Diff
268: ##############
269:
270: # (c) 1998 H. Zeller <zeller@think.de>
271: #
272: # Generates two columns of color encoded
273: # diff; much like xdiff or emacs-ediff mode.
274: #
275: # The diff-stuff is a piece of code I once made for
276: # cvs2html which is under GPL,
277: # see http://www.sslug.dk/cvs2html
278: # (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
279: #
280: # some parameters to screw:
281: ##
282:
283: # make lines breakable so that the columns do not
284: # exceed the width of the browser
3.58 scop 285: #
3.1 knu 286: $hr_breakable = 1;
287:
3.4 knu 288: # give out function names in diffs
3.1 knu 289: # this just makes sense if we have C-files, otherwise
290: # diff's heuristic doesn't work well ..
291: # ( '-p' option to diff)
3.58 scop 292: #
3.4 knu 293: $showfunc = 1;
3.1 knu 294:
295: # For each pair of regexps, files that match the first regexp will be diff'ed
296: # with an '-F' option with the second regexp.
3.58 scop 297: #
3.4 knu 298: %funcline_regexp = (
3.26 knu 299: "\\.(4th|fr)\$" => "\\(^\\|[ \t]\\): ",
300: "\\.rb\$" => "^[\t ]*\\(class\\|module\\|def\\) ",
301: );
3.1 knu 302:
303: # ignore whitespaces for human readable diffs
304: # (indendation and stuff ..)
305: # ( '-w' option to diff)
3.58 scop 306: #
3.7 knu 307: $hr_ignwhite = 0;
3.1 knu 308:
309: # ignore diffs which are caused by
310: # keyword-substitution like $Id - Stuff
311: # ( '-kk' option to rcsdiff)
3.58 scop 312: #
3.1 knu 313: $hr_ignkeysubst = 1;
314:
315: # the width of the textinput of the
316: # request-diff-form
3.58 scop 317: #
3.1 knu 318: $inputTextSize = 12;
3.70 scop 319:
320: # Custom per MIME type diff tools, used for comparing binary files such as
321: # spreadsheets, images etc. Each key is a MIME type in lowercase.
322: # Each value is an array ref of available diff tools for that type, each of
323: # which is a hash ref with values (mandatory where default not listed):
324: # name: the name to show in the UI for this diff type
325: # cmd: full path to executable
326: # args: arguments as an array ref (not string!, defaults to no arguments)
327: # type: output MIME type (defaults to text/plain)
328: #
329: %DIFF_COMMANDS = (
330: #'text/xml' => [
331: # { name => 'XMLdiff',
332: # cmd => $CMD{xmldiff},
333: # },
334: # { name => 'XMLdiff (XUpdate)',
335: # cmd => $CMD{xmldiff},
336: # args => [ qw(-x) ],
337: # type => 'text/xml',
338: # },
339: #],
340: );
3.1 knu 341:
342: ##############
343: # Mime Types
344: ##############
345:
3.52 scop 346: # The MIME type lookup works like this:
347: # 1) Look up from %MTYPES below with the file name extension (suffix).
348: # 2) If not found, use the MIME::Types(3) module if it's available.
349: # 3) If not found, lookup from the $mime_types file (see below).
350: # 4) If not found, try %MTYPES{'*'}.
351: # 5) If not found, use 'application/octet-stream' if the file's keyword
352: # substitution mode is b (ie. the file was checked in as binary to CVS),
353: # 'text/plain' otherwise.
3.1 knu 354:
3.52 scop 355: # Quick MIME type lookup; maps filename extensions to MIME types.
356: # Add common mappings here for fast lookup. You can also use this
357: # to override MIME::Types(3) or the $mime_types file (see below).
3.58 scop 358: #
3.1 knu 359: %MTYPES = (
3.26 knu 360: "html" => "text/html",
361: "shtml" => "text/html",
362: "gif" => "image/gif",
363: "jpeg" => "image/jpeg",
364: "jpg" => "image/jpeg",
365: "png" => "image/png",
366: "xpm" => "image/xpm",
3.52 scop 367: # "*" => "text/plain",
3.26 knu 368: );
3.52 scop 369:
370: # The traditional mime.types file, eg. the one from Apache is fine.
371: # See above where this gets used.
3.58 scop 372: #
3.52 scop 373: $mime_types = '/usr/local/etc/apache/mime.types';
3.11 knu 374:
3.56 scop 375: # Charset appended to the Content-Type HTTP header for text/* MIME types.
376: # Note that the web server may default to some charset which may take effect
377: # if you leave this parameter empty or unset.
3.69 scop 378: # For Apache, see also the AddDefaultCharset directive.
3.56 scop 379: #
3.13 knu 380: $charset = '';
3.26 knu 381:
3.13 knu 382: # e.g.
383: #$charset = $where =~ m,/ru[/_-], ? 'koi8-r'
384: # : $where =~ m,/zh[/_-], ? 'big5'
385: # : $where =~ m,/ja[/_-], ? 'x-euc-jp'
386: # : $where =~ m,/ko[/_-], ? 'x-euc-kr'
387: # : 'iso-8859-1';
3.29 knu 388:
389: # Output filter
3.58 scop 390: #
3.29 knu 391: $output_filter = '';
392:
393: # e.g.
394: ## unify/convert Japanese code into EUC-JP
395: #$output_filter= '/usr/local/bin/nkf -e';
3.1 knu 396:
397: ##############
398: # Misc
399: ##############
3.58 scop 400:
3.50 scop 401: # Allow annotation of files. See also @annotate_options below.
3.58 scop 402: #
3.1 knu 403: $allow_annotate = 1;
404:
405: # allow pretty-printed version of files
3.58 scop 406: #
3.1 knu 407: $allow_markup = 1;
408:
3.31 knu 409: # allow extra hlink formatting (such as PR xrefs) in logs
3.58 scop 410: #
3.31 knu 411: $allow_log_extra = 1; # default: enabled
412:
413: # allow extra hlink formatting (such as PR xrefs) in directories
3.58 scop 414: #
3.31 knu 415: $allow_dir_extra = 1;
416:
417: # allow extra hlink formatting in source code/formatted diff views
3.58 scop 418: #
3.31 knu 419: $allow_source_extra = 1;
420:
3.1 knu 421: # allow compression with gzip
422: # of output if the Browser accepts
423: # it (HTTP_ACCEPT_ENCODING=gzip)
424: # [make sure to have gzip in the path]
3.58 scop 425: #
3.16 knu 426: $allow_compress = 0;
3.1 knu 427:
428: # Make use of javascript functions.
429: # This way you can select one of your CVSroot
430: # without pressing 'Go' (.. if you do have more
431: # than one CVSROOT defined)
3.58 scop 432: #
3.1 knu 433: $use_java_script = 1;
434:
3.58 scop 435: # Whether to show a form for setting options in the directory view.
436: #
437: $edit_option_form = 1;
3.1 knu 438:
439: # Show last changelog message for sub directories
440: # The current implementation makes many assumptions and may show the
441: # incorrect file at some times. The main assumption is that the last
442: # modified file has the newest filedate. But some CVS operations
443: # touches the file without even when a new version is't checked in,
444: # and TAG based browsing essientially puts this out of order, unless
445: # the last checkin was on the same tag as you are viewing.
446: # Enable this if you like the feature, but don't rely on correct results.
3.58 scop 447: #
3.1 knu 448: $show_subdir_lastmod = 0;
449:
450: # Show CVS log when viewing file contents
3.58 scop 451: #
3.1 knu 452: $show_log_in_markup = 1;
453:
3.13 knu 454: # Preformat when viewing file contents. This should be turned off
455: # when you have files in the repository that are in a multibyte
456: # encoding which uses HTML special characters ([<>&"]) as part of a
457: # multi-byte character. (such as iso-2022-jp, ShiftJIS, etc.)
458: # Otherwise those files will get screwed up in markup.
3.58 scop 459: #
3.59 scop 460: # Note: enscript(1) highlighting is preferred over the built-in preformatting,
461: # ie. this has no effect if $allow_enscript is true and enscript can highlight
462: # the file.
463: #
464: $preformat_in_markup = 0;
3.13 knu 465:
3.1 knu 466: # Tabstop used to expand tabs in colored diffs. If undefined then
467: # tabs are always expanded to 8 spaces.
3.58 scop 468: #
3.1 knu 469: $tabstop = 8;
470:
3.58 scop 471: # If you wish to display absolute times in your local timezone,
3.1 knu 472: # then define mytz and fill in the strings for your standard and
473: # daylight time. Note that you must also make sure the system
474: # timezone is correctly set.
3.58 scop 475: #
476: #@mytz=("EST", "EDT");
3.1 knu 477:
3.69 scop 478: # CVSweb is friendly to caches by indicating a suitable
3.1 knu 479: # last-modified timestamp. Doing this uses slightly more
480: # CPU so you might want to disable it if you have a slow
481: # server
3.58 scop 482: #
3.1 knu 483: $use_moddate = 1;
484:
3.45 scop 485: # Maximum number of filenames to pass to rlog(1) in one command.
486: # If you see "Failed to spawn GNU rlog" errors with directories containing
487: # lots of files, experiment by setting this to different values and see if
488: # the error still occurs. A good value to start from would be eg. 200.
489: # Just comment this out if you're not bitten by the problem.
3.57 scop 490: #
3.45 scop 491: #$file_list_len = 200;
492:
3.57 scop 493: # Allows graphical representations of file logs with CvsGraph if set to a
494: # true value.
495: #
496: $allow_cvsgraph = $CMD{cvsgraph} ? 1 : 0;
497:
3.42 scop 498: # Path to the CvsGraph configuration file. Only used if $allow_cvsgraph
499: # is true. Leave this empty or comment it out to make cvsgraph(1) use its
500: # default configuration file.
3.57 scop 501: #
3.42 scop 502: #$cvsgraph_config = "/etc/cvsgraph.conf";
3.13 knu 503:
3.57 scop 504: # Whether to allow downloading a tarball or a zip of the current directory.
505: # While downloading of the entire repository is disallowed, depending on
506: # the directory this may take a lot of time and disk space. For some CVS
3.69 scop 507: # versions, the user account running CVSweb needs write access to
3.57 scop 508: # CVSROOT/val-tags. See also the tar, gzip and zip options below.
509: #
510: #$allow_tar = (($CMD{tar} && $CMD{gzip}) || $CMD{zip}) ? 1 : 0;
511:
3.13 knu 512: # Options to pass to tar(1).
3.57 scop 513: # For example: @tar_options = qw(--ignore-failed-read);
514: # GNU tar has some useful options against unexpected errors.
515: # Other useful options include "--owner=0" and "--group=0", see
516: # the tar(1) (or gtar(1)) manpage for details.
517: #
3.15 knu 518: @tar_options = qw();
3.26 knu 519:
3.19 knu 520: # Options to pass to gzip(1) when compressing a tarball to download.
3.57 scop 521: # For example: @gzip_options = qw(-3);
522: # Try lower compression level than 6 (default) if you want faster
523: # compression, or higher for better compression.
524: #
3.19 knu 525: @gzip_options = qw();
3.26 knu 526:
3.25 knu 527: # Options to pass to zip(1) when compressing a zip archive to download.
3.57 scop 528: # For example: @zip_options = qw(-3);
529: # Try lower compression level than 6 (default) if you want faster
530: # compression, or higher for better compression.
531: #
3.47 scop 532: @zip_options = qw(-q);
3.26 knu 533:
3.13 knu 534: # Options to pass to cvs(1).
3.63 scop 535: # For cvs versions 1.11 to 1.11.6 (broken in < 1.11, removed in 1.11.7), you
536: # can use the '-l' option to prevent cvs from writing to the history file.
537: # For other cvs versions, either suppress history logging by using the
3.69 scop 538: # LogHistory parameter in CVSROOT/config or make sure that the CVSweb user
3.63 scop 539: # can read and write to CVSROOT/history.
3.61 scop 540: # FreeBSD's and OpenBSD's cvs(1) has long since supported -R (read only access
541: # mode) option, which considerably speeds up checkouts over NFS. For other
3.62 scop 542: # platforms, the -R option and the CVSREADONLYFS environment variable are
543: # available in cvs >= 1.12.1. A similar effect is provided by -u on NetBSD.
3.57 scop 544: #
3.35 scop 545: @cvs_options = qw(-lf);
3.47 scop 546: push @cvs_options, '-R' if ($^O eq 'freebsd' || $^O eq 'openbsd');
547: push @cvs_options, '-u' if ($^O eq 'netbsd');
3.62 scop 548: # Only affects cvs >= 1.12.1, but doesn't hurt older ones.
549: $ENV{CVSREADONLYFS} = 1 unless exists($ENV{CVSREADONLYFS});
3.26 knu 550:
3.39 scop 551: # Options to pass to the 'cvs annotate' command, usually the normal
552: # @cvs_options are good enough here.
3.57 scop 553: # To make annotate work against a read only repository, add -n, ie.:
554: # @annotate_options = (@cvs_options, '-n');
555: #
3.39 scop 556: @annotate_options = @cvs_options;
557:
3.54 scop 558: # Options to pass to rcsdiff(1).
559: # Probably the only useful one here is -q (suppress diagnostic output).
3.57 scop 560: #
3.54 scop 561: @rcsdiff_options = qw(-q);
3.48 scop 562:
563: # Enables syntax highlighting using GNU Enscript if set.
3.64 scop 564: # You will need GNU Enscript version 1.6.3 or newer for this to work.
3.57 scop 565: #
3.48 scop 566: #$allow_enscript = $CMD{enscript} ? 1 : 0;
567:
568: # Options to pass to enscript(1).
3.54 scop 569: # Do not set the -q, --language, -o or --highlight options here.
3.48 scop 570: # Most useful styles are probably emacs, emacs_verbose and msvc.
3.57 scop 571: #
3.48 scop 572: @enscript_options = qw(--style=emacs --color=1);
573:
574: # Enscript highlight rule to filename regex mappings. The set of useful
575: # mappings depends on what highlight rules the system has installed.
3.57 scop 576: #
3.48 scop 577: %enscript_types =
578: (
579: 'ada' => qr/\.ad(s|b|a)$/o,
580: 'asm' => qr/\.[Ss]$/o,
581: 'awk' => qr/\.awk$/o,
582: 'bash' => qr/\.(bash(_profile|rc)|inputrc)$/o,
583: 'c' => qr/\.(c|h)$/o,
584: 'changelog' => qr/^changelog$/io,
585: 'cpp' => qr/\.(c\+\+|C|H|cpp|cc|cxx)$/o,
586: 'csh' => qr/\.(csh(rc)?|log(in|out)|history)$/o,
587: 'elisp' => qr/\.e(l|macs)$/o,
588: 'fortran' => qr/\.[fF]$/o,
589: 'haskell' => qr/\.(l?h|l?g)s$/o,
590: 'html' => qr/\.x?html?$/o,
591: 'idl' => qr/\.idl$/o,
592: 'inf' => qr/\.inf$/io,
593: 'java' => qr/\.java$/o,
594: 'javascript' => qr/\.js$/o,
595: 'ksh' => qr/\.ksh$/o,
596: 'm4' => qr/\.m4$/o,
597: 'makefile' => qr/((GNU)?[Mm]akefile.*|\.(ma?ke?|am)$)/o,
598: 'matlab' => qr/\.m$/o,
599: 'nroff' => qr/\.man$/o,
600: 'pascal' => qr/\.p(as|p)?$/io,
601: 'perl' => qr/\.p(m|(er?)l)$/io,
602: 'postscript' => qr/\.e?ps$/io,
603: 'python' => qr/\.py$/o,
604: 'rfc' => qr/\b((rfc|draft)\..*\.txt)$/o,
605: 'scheme' => qr/\.(scm|scheme)$/o,
606: 'sh' => qr/\.sh$/o,
607: 'skill' => qr/\.il$/o,
608: 'sql' => qr/\.sql$/o,
609: 'states' => qr/\.st$/o,
610: 'synopsys' => qr/\.s(cr|yn(th)?)$/o,
611: 'tcl' => qr/\.tcl$/o,
612: 'tcsh' => qr/\.tcshrc$/o,
613: 'tex' => qr/\.tex$/o,
614: 'vba' => qr/\.vba$/o,
615: 'verilog' => qr/\.(v|vh)$/o,
616: 'vhdl' => qr/\.vhdl?$/o,
617: 'vrml' => qr/\.wrl$/o,
618: 'wmlscript' => qr/\.wmls(cript)?$/o,
619: 'zsh' => qr/\.(zsh(env|rc)|z(profile|log(in|out)))$/o,
620: );
3.39 scop 621:
3.12 knu 622: 1;
3.26 knu 623:
3.57 scop 624: # EOF
CVSweb