NAME¶
text-vimcolor - command-line program to syntax color a file in HTML, XML or PDF
SYNOPSIS¶
$ text-vimcolor --format html --full-page FILENAME > OUTPUT.html
$ text-vimcolor --format xml FILENAME > OUTPUT.xml
$ text-vimcolor --format pdf FILENAME --output OUTPUT.pdf
DESCRIPTION¶
This program uses the Vim text editor to highlight text according to its syntax,
and turn the highlighting into HTML, XML or PDF output. It works with any file
type which Vim itself can highlight. Usually Vim will be able to autodetect
the file format based on the filename (and sometimes the contents of the
file).
Exactly one filename should be given on the command line to name the input file.
If none is given input will instead be read from stdin (the standard input).
If Vim can't guess the file type automatically, it can be specified explicitly
using the "--filetype" option. For example:
$ text-vimcolor --format html --filetype prolog foo.pl > foo.html
This program is a command line interface to the Perl module Text::VimColor.
OPTIONS¶
The following options are understood:
- --help
- Show a summary of the usage, including a list of
options.
- --debug
- Turns on debugging in the underlying Perl module. This
makes it print the command used to run Vim.
- --filetype file-type
- Set the type of the file explicitly. The file-type
argument should be something which Vim will recognise when set with its
"filetype" option. Examples are "perl",
"cpp" (for C++) and "sh" (for Unix shell scripts).
These names are case sensitive, and should usually be all-lowercase.
- --format output-format
- The output format to generate. Must be one of the
following:
- html
- Generate XHTML output, with text marked with
"<span>" elements with "class" attributes. A CSS
stylesheet should be used to define the coloring, etc., for the output.
See the "--full-page" option below.
- xml
- Output is in a simple XML vocabulary. This can then be used
by other software to do further transformations (e.g., using XSLT).
- pdf
- XML output is generated and fed to the FOP XSL-FO
processor, with an appropriate XSL style sheet. The stylesheet uses XSLT
to transform the normal XML output into XSL-FO, which is then rendered to
PDF. For this to work, the command "fop" must be available. An
output file must be specified with "--output" with this
format.
Full details of the HTML and XML output formats can be found in the
documentation for Text::VimColor.
- --output output-filename
- Specifies the name of the output file (which will end up
containing either HTML, XML or PDF). If this option is omitted, the output
will be sent to stdout (the standard output). This option is required when
the output format is PDF (because of limitations in FOP).
- --full-page
- When the output format is HTML, this option will make the
output a complete HTML page, rather than just a fragment of HTML. A CSS
stylesheet will be inserted inline into the output, so the output will be
useable as it is.
- --no-inline-stylesheet
- When the output format is HTML and "--fullpage"
is given, a stylesheet is normally inserted in-line in the output file. If
this option is given it will instead be referenced with a
"<link>" element.
- --let name=value
- When Vim is run the value of name will be set to
value using Vim's "let" command. More than one of these
options can be set. The value is not quoted or escaped in any way, so it
can be an expression. These settings take precedence over
"--unlet" options.
This option corresponds to the "vim_let" setting and method in the
Perl module.
- --unlet name
- Prevent the value of name being set with Vim's
"let" command. This can be used to turn off default settings.
This option corresponds to the "vim_let" setting and method in the
Perl module, when used with a value of "undef".
BUGS¶
- •
- The PDF output option often doesn't work, because it is
dependent on FOP, which often doesn't work. This is also why it is mind
numbingly slow.
- •
- FOP (0.20.3) seems to ignore the
"background-color" property on "<fo:inline>". If
that's what it's meant to do, how do you set the background color on part
of a line?
AUTHOR¶
Geoff Richards <qef@laxan.com>
COPYRIGHT¶
Copyright 2002-2006, Geoff Richards.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl.