home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 6.1.137 < prev    next >
Encoding:
Internet Message Format  |  2002-07-20  |  5.0 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 6.1.137
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=ISO-8859-1
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 6.1.137
  11. Problem:    Converting to HTML has a clumsy way of dealing with tabs which may
  12.         change the highlighting.
  13. Solution:   Replace tabs with spaces after converting a line to HTML. (Preben
  14.         Guldberg)
  15. Files:        runtime/syntax/2html.vim
  16.  
  17.  
  18. *** ../vim61.136/runtime/syntax/2html.vim    Mon Jan  7 22:24:33 2002
  19. --- runtime/syntax/2html.vim    Wed Jul 10 20:52:56 2002
  20. ***************
  21. *** 1,6 ****
  22.   " Vim syntax support file
  23.   " Maintainer: Bram Moolenaar <Bram@vim.org>
  24. ! " Last Change: 2001 Dec 12
  25.   "           (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
  26.   
  27.   " Transform a file into HTML, using the current syntax highlighting.
  28. --- 1,6 ----
  29.   " Vim syntax support file
  30.   " Maintainer: Bram Moolenaar <Bram@vim.org>
  31. ! " Last Change: 2002 Jul 10
  32.   "           (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
  33.   
  34.   " Transform a file into HTML, using the current syntax highlighting.
  35. ***************
  36. *** 130,135 ****
  37. --- 130,136 ----
  38.   let s:old_icon = &icon
  39.   let s:old_et = &l:et
  40.   let s:old_report = &report
  41. + let s:old_search = @/
  42.   set notitle noicon
  43.   setlocal et
  44.   set report=1000000
  45. ***************
  46. *** 160,185 ****
  47.   endif
  48.   exe "normal a</head>\n<body>\n<pre>\n\e"
  49.   
  50. ! exe "normal \<C-W>p"
  51.   
  52.   " List of all id's
  53.   let s:idlist = ","
  54.   
  55.   " Loop over all lines in the original text
  56.   let s:end = line("$")
  57.   let s:lnum = 1
  58.   while s:lnum <= s:end
  59.   
  60. !   " Get the current line, with tabs expanded to spaces when needed
  61. !   " FIXME: What if it changes syntax highlighting?
  62.     let s:line = getline(s:lnum)
  63. -   if stridx(s:line, "\t") >= 0
  64. -     exe s:lnum . "retab!"
  65. -     let s:did_retab = 1
  66. -     let s:line = getline(s:lnum)
  67. -   else
  68. -     let s:did_retab = 0
  69. -   endif
  70.     let s:len = strlen(s:line)
  71.     let s:new = ""
  72.   
  73. --- 161,183 ----
  74.   endif
  75.   exe "normal a</head>\n<body>\n<pre>\n\e"
  76.   
  77. ! wincmd p
  78.   
  79.   " List of all id's
  80.   let s:idlist = ","
  81.   
  82. + let s:expandedtab = ' '
  83. + while strlen(s:expandedtab) < &ts
  84. +   let s:expandedtab = s:expandedtab . ' '
  85. + endwhile
  86.   " Loop over all lines in the original text
  87.   let s:end = line("$")
  88.   let s:lnum = 1
  89.   while s:lnum <= s:end
  90.   
  91. !   " Get the current line
  92.     let s:line = getline(s:lnum)
  93.     let s:len = strlen(s:line)
  94.     let s:new = ""
  95.   
  96. ***************
  97. *** 209,217 ****
  98.         break
  99.       endif
  100.     endwhile
  101. !   if s:did_retab
  102. !     undo
  103. !   endif
  104.   
  105.     exe "normal \<C-W>pa" . strtrans(s:new) . "\n\e\<C-W>p"
  106.     let s:lnum = s:lnum + 1
  107. --- 207,224 ----
  108.         break
  109.       endif
  110.     endwhile
  111. !   " Expand tabs
  112. !   let s:pad=0
  113. !   let s:start = 0
  114. !   let s:idx = stridx(s:line, "\t")
  115. !   while s:idx >= 0
  116. !     let s:i = &ts - ((s:start + s:pad + s:idx) % &ts)
  117. !     let s:new = substitute(s:new, '\t', strpart(s:expandedtab, 0, s:i), '')
  118. !     let s:pad = s:pad + s:i - 1
  119. !     let s:start = s:start + s:idx + 1
  120. !     let s:idx = stridx(strpart(s:line, s:start), "\t")
  121. !   endwhile
  122.   
  123.     exe "normal \<C-W>pa" . strtrans(s:new) . "\n\e\<C-W>p"
  124.     let s:lnum = s:lnum + 1
  125. ***************
  126. *** 278,300 ****
  127.     endif
  128.   endwhile
  129.   
  130. ! " Cleanup (we've already lost last user's pattern match highlighting)
  131.   %s:\s\+$::e
  132. - if has("extra_search")
  133. -   nohlsearch
  134. - endif
  135.   
  136.   " Restore old settings
  137.   let &report = s:old_report
  138.   let &title = s:old_title
  139.   let &icon = s:old_icon
  140.   let &paste = s:old_paste
  141. ! exe "normal \<C-W>p"
  142.   let &l:et = s:old_et
  143. ! exe "normal \<C-W>p"
  144.   
  145.   " Save a little bit of memory (worths doing?)
  146. ! unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title
  147.   unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc
  148.   unlet! s:col s:id s:attr s:len s:line s:new s:did_retab s:numblines
  149.   delfunc s:HtmlColor
  150. --- 285,305 ----
  151.     endif
  152.   endwhile
  153.   
  154. ! " Cleanup
  155.   %s:\s\+$::e
  156.   
  157.   " Restore old settings
  158.   let &report = s:old_report
  159.   let &title = s:old_title
  160.   let &icon = s:old_icon
  161.   let &paste = s:old_paste
  162. ! let @/ = s:old_search
  163. ! wincmd p
  164.   let &l:et = s:old_et
  165. ! wincmd p
  166.   
  167.   " Save a little bit of memory (worths doing?)
  168. ! unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
  169.   unlet s:whatterm s:idlist s:lnum s:end s:fgc s:bgc
  170.   unlet! s:col s:id s:attr s:len s:line s:new s:did_retab s:numblines
  171.   delfunc s:HtmlColor
  172. *** ../vim61.136/src/version.c    Sun Jul 21 21:16:47 2002
  173. --- src/version.c    Sun Jul 21 21:18:40 2002
  174. ***************
  175. *** 608,609 ****
  176. --- 608,611 ----
  177.   {   /* Add new patch number below this line */
  178. + /**/
  179. +     137,
  180.   /**/
  181.  
  182. -- 
  183. hundred-and-one symptoms of being an internet addict:
  184. 18. Your wife drapes a blond wig over your monitor to remind you of what she
  185.     looks like.
  186.  
  187.  ///  Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net  \\\
  188. ///   Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim   \\\
  189. \\\           Project leader for A-A-P -- http://www.a-a-p.org           ///
  190.  \\\ Lord Of The Rings helps Uganda - http://iccf-holland.org/lotr.html ///
  191.