1" Vim plugin for converting a syntax highlighted file to HTML. 2" Maintainer: Ben Fritz <[email protected]> 3" Last Change: 2010 Oct 28 4" 5" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and 6" $VIMRUNTIME/syntax/2html.vim 7" 8" TODO: 9" * 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 12" * Restore open/closed folds and cursor position after processing each file 13" with option not to restore for speed increase 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_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 53 54if exists('g:loaded_2html_plugin') 55 finish 56endif 57let g:loaded_2html_plugin = 'vim7.3_v7' 58 59" Define the :TOhtml command when: 60" - 'compatible' is not set 61" - this plugin was not already loaded 62" - user commands are available. 63if !&cp && !exists(":TOhtml") && has("user_commands") 64 command -range=% TOhtml :call tohtml#Convert2HTML(<line1>, <line2>) 65endif 66 67" Make sure any patches will probably use consistent indent 68" vim: ts=8 sw=2 sts=2 noet 69