--- /usr/share/vim/vim73/syntax/2html.vim 2010-08-28 18:59:26.000000000 +0000 +++ /home/andy/.vim/syntax/2html.vim 2010-08-31 04:34:00.000000000 +0000 @@ -33,6 +33,13 @@ let s:settings = tohtml#GetUserSettings() +" Whitespace +if &wrap + let s:whitespace = "white-space: pre-wrap; " +else + let s:whitespace = "" +endif + " When not in gui we can only guess the colors. if has("gui_running") let s:whatterm = "gui" @@ -211,7 +218,6 @@ let s:old_search = @/ let s:old_more = &more set notitle noicon -setlocal et set nomore set report=1000000 setlocal noscrollbind @@ -298,7 +304,7 @@ call add(s:lines, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . s:tag_close) endif call extend(s:lines, [ - \ ("<title>".expand("%:p:~")."</title>"), + \ ("<title>".&titlestring."</title>"), \ ("<meta name=\"Generator\" content=\"Vim/".v:version/100.".".v:version%100.'"'.s:tag_close), \ ("<meta name=\"plugin-version\" content=\"".g:loaded_2html_plugin.'"'.s:tag_close) \ ]) @@ -408,7 +414,7 @@ if s:settings.no_pre call extend(s:lines, ["</head>", "<body>"]) else - call extend(s:lines, ["</head>", "<body>", "<pre>"]) + call extend(s:lines, ["</head>", "<body><pre>"]) endif exe s:orgwin . "wincmd w" @@ -873,6 +879,7 @@ if s:settings.ignore_conceal || !s:concealinfo[0] " Expand tabs let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol) + if &expandtab let s:offset = 0 let s:idx = stridx(s:expandedtab, "\t") while s:idx >= 0 @@ -895,6 +902,9 @@ let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '') let s:idx = stridx(s:expandedtab, "\t") endwhile + else + setlocal isprint+=9 + end " get the highlight group name to use let s:id = synIDtrans(s:id) @@ -945,12 +955,12 @@ if s:settings.no_pre if !s:settings.use_css " Close off the font tag that encapsulates the whole <body> - call extend(s:lines, ["</font>", "</body>", "</html>"]) + call extend(s:lines, ["</font></body></html>"]) else - call extend(s:lines, ["</body>", "</html>"]) + call extend(s:lines, ["</body></html>"]) endif else - call extend(s:lines, ["</pre>", "</body>", "</html>"]) + call extend(s:lines, ["</pre></body></html>"]) endif exe s:newwin . "wincmd w" @@ -979,7 +989,7 @@ if s:settings.no_pre execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e" else - execute "normal! A\npre { font-family: ". s:htmlfont ."; color: " . s:fgc . "; background-color: " . s:bgc . "; }\e" + execute "normal! A\npre { " . s:whitespace . "font-family: ". s:htmlfont ."; color: " . s:fgc . "; background-color: " . s:bgc . "; }\e" yank put execute "normal! ^cwbody\e" @@ -1077,8 +1087,8 @@ exec 'resize' s:old_winheight let &l:winfixheight = s:old_winfixheight -call setwinvar(s:orgwin,'&stl', s:origwin_stl) -call setwinvar(s:newwin,'&stl', s:newwin_stl) +"call setwinvar(s:orgwin,'&stl', s:origwin_stl) +"call setwinvar(s:newwin,'&stl', s:newwin_stl) let &ls=s:ls " Save a little bit of memory (worth doing?)