blob: 651a40c18a37e421d5f55f9fc7e00a84a7afbe55 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim plugin for converting a syntax highlighted file to HTML.
Bram Moolenaar349b2fb2010-07-16 20:35:36 +02002" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
Bram Moolenaar166af9b2010-11-16 20:34:40 +01003" Last Change: 2010 Oct 28
Bram Moolenaarb02cbe32010-07-11 22:38:52 +02004"
Bram Moolenaar349b2fb2010-07-16 20:35:36 +02005" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
6" $VIMRUNTIME/syntax/2html.vim
Bram Moolenaar8ada2cc2010-07-29 20:43:36 +02007"
8" TODO:
Bram Moolenaar166af9b2010-11-16 20:34:40 +01009" * Patch to leave tab characters in when noexpandtab set (Andy Spencer)
10" * Make folds show up when using a range and dynamic folding
11" * Remove fold column when there are no folds and using dynamic folding
Bram Moolenaar8df7f882010-08-13 11:30:02 +020012" * Restore open/closed folds and cursor position after processing each file
13" with option not to restore for speed increase
Bram Moolenaar8ada2cc2010-07-29 20:43:36 +020014" * Add extra meta info (generation time, etc.)
Bram Moolenaar166af9b2010-11-16 20:34:40 +010015" * Tidy up so we can use strict doctype in even more situations?
Bram Moolenaar8df7f882010-08-13 11:30:02 +020016" * Implementation detail: add threshold for writing the lines to the html
17" buffer before we're done (5000 or so lines should do it)
Bram Moolenaar8ada2cc2010-07-29 20:43:36 +020018" * TODO comments for code cleanup scattered throughout
Bram Moolenaar166af9b2010-11-16 20:34:40 +010019"
20"
21" Changelog:
22" 7.3_v7 (this version): see betas released on vim_dev below:
23" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
24" 7.3_v7b2: Remove automatic detection of encodings that are not
25" supported by all major browsers according to
26" http://wiki.whatwg.org/wiki/Web_Encodings and convert
27" to UTF-8 for all Unicode encodings. Make HTML
28" encoding to Vim encoding detection be
29" case-insensitive for built-in pairs.
30" 7.3_v7b1: Remove use of setwinvar() function which cannot be
31" called in restricted mode (Andy Spencer). Use
32" 'fencoding' instead of 'encoding' to determine by
33" charset, and make sure the 'fenc' of the generated
34" file matches its indicated charset. Add charsets for
35" all of Vim's natively supported encodings.
36" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
37" user settings interfering with diff mode generation,
38" trailing whitespace (e.g. line number column) when
39" using html_no_pre, and bugs when using
40" html_hover_unfold.
41" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
42" folds in diff mode when first line was folded.
43" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode.
44" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
45" default to true when not set to anything. Use strict
46" doctypes where possible. Rename use_xhtml option to
47" html_use_xhtml for consistency. Use .xhtml extension
48" when using this option. Add meta tag for settings.
49" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
50" diff colors and the normal syntax colors
51" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
52" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
Bram Moolenaar071d4272004-06-13 20:20:40 +000053
Bram Moolenaar7510fe72010-07-25 12:46:44 +020054if exists('g:loaded_2html_plugin')
55 finish
56endif
Bram Moolenaar166af9b2010-11-16 20:34:40 +010057let g:loaded_2html_plugin = 'vim7.3_v7'
Bram Moolenaar7510fe72010-07-25 12:46:44 +020058
Bram Moolenaarb02cbe32010-07-11 22:38:52 +020059" Define the :TOhtml command when:
60" - 'compatible' is not set
61" - this plugin was not already loaded
62" - user commands are available.
Bram Moolenaar071d4272004-06-13 20:20:40 +000063if !&cp && !exists(":TOhtml") && has("user_commands")
Bram Moolenaarb02cbe32010-07-11 22:38:52 +020064 command -range=% TOhtml :call tohtml#Convert2HTML(<line1>, <line2>)
Bram Moolenaar071d4272004-06-13 20:20:40 +000065endif
Bram Moolenaar349b2fb2010-07-16 20:35:36 +020066
67" Make sure any patches will probably use consistent indent
Bram Moolenaar7c86f4c2010-07-18 14:07:22 +020068" vim: ts=8 sw=2 sts=2 noet