annotate runtime/plugin/tohtml.vim @ 3002:7d4e5e31d8c1 v7.3.273

updated for version 7.3.273 Problem: A BOM in an error file is seen as text. (Aleksey Baibarin) Solution: Remove the BOM from the text before evaluating. (idea by Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Wed, 10 Aug 2011 13:21:46 +0200
parents fd09a9c8468e
children 9910cbff5f16
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim plugin for converting a syntax highlighted file to HTML.
2321
1902913f2049 Improved version of 2html.vim.
Bram Moolenaar <bram@vim.org>
parents: 2304
diff changeset
2 " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
2908
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
3 " Last Change: 2011 May 26
2304
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
4 "
2321
1902913f2049 Improved version of 2html.vim.
Bram Moolenaar <bram@vim.org>
parents: 2304
diff changeset
5 " The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
1902913f2049 Improved version of 2html.vim.
Bram Moolenaar <bram@vim.org>
parents: 2304
diff changeset
6 " $VIMRUNTIME/syntax/2html.vim
2432
80229a724a11 Updated runtime files. :TOhtml improvements by Benjamin Fritz.
Bram Moolenaar <bram@vim.org>
parents: 2401
diff changeset
7 "
80229a724a11 Updated runtime files. :TOhtml improvements by Benjamin Fritz.
Bram Moolenaar <bram@vim.org>
parents: 2401
diff changeset
8 " TODO:
2788
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
9 " * Options for generating the CSS in external style sheets. New :TOcss
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
10 " command to convert the current color scheme into a (mostly) generic CSS
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
11 " stylesheet which can be re-used. Alternate stylesheet support?
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
12 " * Pull in code from http://www.vim.org/scripts/script.php?script_id=3113 :
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
13 " - listchars support
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
14 " - full-line background highlight
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
15 " - other?
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
16 " * Font auto-detection similar to
0877b8d6370e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2681
diff changeset
17 " http://www.vim.org/scripts/script.php?script_id=2384
2681
85c5a72551e2 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2642
diff changeset
18 " * Explicitly trigger IE8+ Standards Mode?
85c5a72551e2 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2642
diff changeset
19 " * Make it so deleted lines in a diff don't create side-scrolling
2546
0d3f0e3d289b Updates for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2508
diff changeset
20 " * Restore open/closed folds and cursor position after processing each file
0d3f0e3d289b Updates for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2508
diff changeset
21 " with option not to restore for speed increase
2681
85c5a72551e2 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2642
diff changeset
22 " * Undercurl support via dotted bottom border?
85c5a72551e2 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2642
diff changeset
23 " * Add extra meta info (generation time, etc.)?
85c5a72551e2 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2642
diff changeset
24 " * Tidy up so we can use strict doctype in even more situations
2546
0d3f0e3d289b Updates for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2508
diff changeset
25 " * Implementation detail: add threshold for writing the lines to the html
0d3f0e3d289b Updates for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2508
diff changeset
26 " buffer before we're done (5000 or so lines should do it)
2432
80229a724a11 Updated runtime files. :TOhtml improvements by Benjamin Fritz.
Bram Moolenaar <bram@vim.org>
parents: 2401
diff changeset
27 " * TODO comments for code cleanup scattered throughout
2642
840c3cadb842 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2546
diff changeset
28 "
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
2401
e7751177126b Add the synconcealed() function and use it for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2334
diff changeset
30 if exists('g:loaded_2html_plugin')
e7751177126b Add the synconcealed() function and use it for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2334
diff changeset
31 finish
e7751177126b Add the synconcealed() function and use it for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2334
diff changeset
32 endif
2908
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
33 let g:loaded_2html_plugin = 'vim7.3_v10'
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
34
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
35 "
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
36 " Changelog:
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
37 " 7.3_v10 (this version): Fix error E684 when converting a range wholly inside
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
38 " multiple nested folds with dynamic folding on.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
39 " Also fix problem with foldtext in this situation.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
40 " 7.3_v9 (0877b8d6370e): Add html_pre_wrap option active with html_use_css
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
41 " and without html_no_pre, default value same as
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
42 " 'wrap' option, (Andy Spencer). Don't use
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
43 " 'fileencoding' for converted document encoding if
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
44 " 'buftype' indicates a special buffer which isn't
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
45 " written.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
46 " 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
47 " characters in generated output (Andy Spencer).
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
48 " Escape text that looks like a modeline so Vim
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
49 " doesn't use anything in the converted HTML as a
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
50 " modeline. Bugfixes: Fix folding when a fold starts
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
51 " before the conversion range. Remove fold column when
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
52 " there are no folds.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
53 " 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
54 " 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
55 " 7.3_v7b2: Remove automatic detection of encodings that are not
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
56 " supported by all major browsers according to
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
57 " http://wiki.whatwg.org/wiki/Web_Encodings and
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
58 " convert to UTF-8 for all Unicode encodings. Make
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
59 " HTML encoding to Vim encoding detection be
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
60 " case-insensitive for built-in pairs.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
61 " 7.3_v7b1: Remove use of setwinvar() function which cannot be
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
62 " called in restricted mode (Andy Spencer). Use
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
63 " 'fencoding' instead of 'encoding' to determine by
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
64 " charset, and make sure the 'fenc' of the generated
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
65 " file matches its indicated charset. Add charsets for
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
66 " all of Vim's natively supported encodings.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
67 " 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
68 " user settings interfering with diff mode generation,
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
69 " trailing whitespace (e.g. line number column) when
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
70 " using html_no_pre, and bugs when using
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
71 " html_hover_unfold.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
72 " 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
73 " folds in diff mode when first line was folded.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
74 " 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
75 " 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
76 " default to true when not set to anything. Use strict
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
77 " doctypes where possible. Rename use_xhtml option to
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
78 " html_use_xhtml for consistency. Use .xhtml extension
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
79 " when using this option. Add meta tag for settings.
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
80 " 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
81 " diff colors and the normal syntax colors
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
82 " 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
fd09a9c8468e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 2788
diff changeset
83 " Pre-v1 baseline: Mercurial changeset 3c9324c0800e
2401
e7751177126b Add the synconcealed() function and use it for :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2334
diff changeset
84
2304
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
85 " Define the :TOhtml command when:
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
86 " - 'compatible' is not set
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
87 " - this plugin was not already loaded
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
88 " - user commands are available.
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
89 if !&cp && !exists(":TOhtml") && has("user_commands")
a59e6ac5ed28 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
90 command -range=% TOhtml :call tohtml#Convert2HTML(<line1>, <line2>)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 endif
2321
1902913f2049 Improved version of 2html.vim.
Bram Moolenaar <bram@vim.org>
parents: 2304
diff changeset
92
1902913f2049 Improved version of 2html.vim.
Bram Moolenaar <bram@vim.org>
parents: 2304
diff changeset
93 " Make sure any patches will probably use consistent indent
2334
3c9324c0800e Improved :TOhtml. (Benjamin Fritz)
Bram Moolenaar <bram@vim.org>
parents: 2321
diff changeset
94 " vim: ts=8 sw=2 sts=2 noet