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