1" Vim plugin for converting a syntax highlighted file to HTML. 2" Maintainer: Ben Fritz <[email protected]> 3" Last Change: 2011 Jan 06 4" 5" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and 6" $VIMRUNTIME/syntax/2html.vim 7" 8" TODO: 9" * Explicitly trigger IE8+ Standards Mode? 10" * Make it so deleted lines in a diff don't create side-scrolling 11" * Restore open/closed folds and cursor position after processing each file 12" with option not to restore for speed increase 13" * Undercurl support via dotted bottom border? 14" * Add extra meta info (generation time, etc.)? 15" * Tidy up so we can use strict doctype in even more situations 16" * Implementation detail: add threshold for writing the lines to the html 17" buffer before we're done (5000 or so lines should do it) 18" * TODO comments for code cleanup scattered throughout 19" 20" 21" Changelog: 22" 7.3_v8 (this version): Add html_expand_tabs option to allow leaving tab 23" characters in generated output (Andy Spencer). Escape 24" text that looks like a modeline so Vim doesn't use 25" anything in the converted HTML as a modeline. 26" Bugfixes: Fix folding when a fold starts before the 27" conversion range. Remove fold column when there are 28" no folds. 29" 7.3_v7 (840c3cadb842): see betas released on vim_dev below: 30" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way. 31" 7.3_v7b2: Remove automatic detection of encodings that are not 32" supported by all major browsers according to 33" http://wiki.whatwg.org/wiki/Web_Encodings and convert 34" to UTF-8 for all Unicode encodings. Make HTML 35" encoding to Vim encoding detection be 36" case-insensitive for built-in pairs. 37" 7.3_v7b1: Remove use of setwinvar() function which cannot be 38" called in restricted mode (Andy Spencer). Use 39" 'fencoding' instead of 'encoding' to determine by 40" charset, and make sure the 'fenc' of the generated 41" file matches its indicated charset. Add charsets for 42" all of Vim's natively supported encodings. 43" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other 44" user settings interfering with diff mode generation, 45" trailing whitespace (e.g. line number column) when 46" using html_no_pre, and bugs when using 47" html_hover_unfold. 48" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync 49" folds in diff mode when first line was folded. 50" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode. 51" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css 52" default to true when not set to anything. Use strict 53" doctypes where possible. Rename use_xhtml option to 54" html_use_xhtml for consistency. Use .xhtml extension 55" when using this option. Add meta tag for settings. 56" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the 57" diff colors and the normal syntax colors 58" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output 59" Pre-v1 baseline: Mercurial changeset 3c9324c0800e 60 61if exists('g:loaded_2html_plugin') 62 finish 63endif 64let g:loaded_2html_plugin = 'vim7.3_v8' 65 66" Define the :TOhtml command when: 67" - 'compatible' is not set 68" - this plugin was not already loaded 69" - user commands are available. 70if !&cp && !exists(":TOhtml") && has("user_commands") 71 command -range=% TOhtml :call tohtml#Convert2HTML(<line1>, <line2>) 72endif 73 74" Make sure any patches will probably use consistent indent 75" vim: ts=8 sw=2 sts=2 noet 76