--- /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, "".expand("%:p:~").""), + \ ("".&titlestring.""), \ ("", ""]) else - call extend(s:lines, ["", "", "
"])
+  call extend(s:lines, ["", "
"])
 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 
-    call extend(s:lines, ["", "", ""])
+    call extend(s:lines, [""])
   else
-    call extend(s:lines, ["", ""])
+    call extend(s:lines, [""])
   endif
 else
-  call extend(s:lines, ["
", "", ""]) + call extend(s:lines, ["
"]) 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?)