0
0
mirror of https://github.com/vim/vim.git synced 2025-07-25 10:54:51 -04:00

updated for version 7.0155

This commit is contained in:
Bram Moolenaar 2005-10-10 20:59:28 +00:00
parent 196dfbcca1
commit d5cdbeb8dd
39 changed files with 25288 additions and 566 deletions

View File

@ -4,6 +4,12 @@ These are functions used by plugins and for general use. They will be loaded
automatically when the function is invoked. See ":help autoload". automatically when the function is invoked. See ":help autoload".
gzip.vim for editing compressed files gzip.vim for editing compressed files
netrw.vim browsing (remote) directories and editing remote files
tar.vim browsing tar files
zip.vim browsing zip files
Occult completion files: Occult completion files:
ccomplete.vim C ccomplete.vim C
csscomplete.vim HTML / CSS
htmlcomplete.vim HTML

View File

@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Sep 13 " Last Change: 2005 Oct 06
" This function is used for the 'omnifunc' option. " This function is used for the 'omnifunc' option.
@ -10,27 +10,52 @@ function! ccomplete#Complete(findstart, base)
" Locate the start of the item, including "." and "->". " Locate the start of the item, including "." and "->".
let line = getline('.') let line = getline('.')
let start = col('.') - 1 let start = col('.') - 1
let lastword = -1
while start > 0 while start > 0
if line[start - 1] =~ '\w\|\.' if line[start - 1] =~ '\w'
let start -= 1
elseif line[start - 1] =~ '\.'
if lastword == -1
let lastword = start
endif
let start -= 1 let start -= 1
elseif start > 1 && line[start - 2] == '-' && line[start - 1] == '>' elseif start > 1 && line[start - 2] == '-' && line[start - 1] == '>'
if lastword == -1
let lastword = start
endif
let start -= 2 let start -= 2
else else
break break
endif endif
endwhile endwhile
return start
" Return the column of the last word, which is going to be changed.
" Remember the text that comes before it in s:prepended.
if lastword == -1
let s:prepended = ''
return start
endif
let s:prepended = strpart(line, start, lastword - start)
return lastword
endif endif
" Return list of matches. " Return list of matches.
let base = s:prepended . a:base
" Split item in words, keep empty word after "." or "->". " Split item in words, keep empty word after "." or "->".
" "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc. " "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
let items = split(a:base, '\.\|->', 1) let items = split(base, '\.\|->', 1)
if len(items) <= 1 if len(items) <= 1
" Don't do anything for an empty base, would result in all the tags in the
" tags file.
if base == ''
return []
endif
" Only one part, no "." or "->": complete from tags file. " Only one part, no "." or "->": complete from tags file.
" When local completion is wanted CTRL-N would have been used. " When local completion is wanted CTRL-N would have been used.
return map(taglist('^' . a:base), 'v:val["name"]') return map(taglist('^' . base), 'v:val["name"]')
endif endif
" Find the variable items[0]. " Find the variable items[0].
@ -88,10 +113,7 @@ function! ccomplete#Complete(findstart, base)
endif endif
endif endif
" The basetext is up to the last "." or "->" and won't be changed. The return map(res, 'v:val["match"]')
" matching members are concatenated to this.
let basetext = matchstr(a:base, '.*\(\.\|->\)')
return map(res, 'basetext . v:val["match"]')
endfunc endfunc
" Find composing type in "lead" and match items[0] with it. " Find composing type in "lead" and match items[0] with it.

View File

@ -1,12 +1,19 @@
" Vim completion script " Vim completion script
" Language: CSS 2.1 " Language: CSS 2.1
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2005 Oct 02 " Last Change: 2005 Oct 9
function! csscomplete#CompleteCSS(findstart, base) function! csscomplete#CompleteCSS(findstart, base)
if a:findstart if a:findstart
" We need whole line to proper checking " We need whole line to proper checking
return 0 let line = getline('.')
let start = col('.') - 1
let compl_begin = col('.') - 2
while start >= 0 && line[start - 1] =~ '\(\k\|-\)'
let start -= 1
endwhile
let b:compl_context = getline('.')[0:compl_begin]
return start
else else
" There are few chars important for context: " There are few chars important for context:
" ^ ; : { } /* */ " ^ ; : { } /* */
@ -14,14 +21,16 @@ else
" Depending on their relative position to cursor we will now what should " Depending on their relative position to cursor we will now what should
" be completed. " be completed.
" 1. if nearest are ^ or { or ; current word is property " 1. if nearest are ^ or { or ; current word is property
" 2. if : it is value " 2. if : it is value (with exception of pseudo things)
" 3. if } we are outside of css definitions " 3. if } we are outside of css definitions
" 4. for comments ignoring is be the easiest but assume they are the same " 4. for comments ignoring is be the easiest but assume they are the same
" as 1. " as 1.
" 5. if @ complete at-rule " 5. if @ complete at-rule
" 6. if ! complete important " 6. if ! complete important
let line = a:base let line = b:compl_context
unlet! b:compl_context
let res = [] let res = []
let res2 = [] let res2 = []
let borders = {} let borders = {}
@ -67,19 +76,19 @@ else
let borders[exclam] = "exclam" let borders[exclam] = "exclam"
endif endif
if len(borders) == 0 || borders[min(keys(borders))] =~ '^\(openbrace\|semicolon\|opencomm\|closecomm\|style\)$' if len(borders) == 0 || borders[min(keys(borders))] =~ '^\(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
" Complete properties " Complete properties
let values = split("azimuth background-attachment background-color background-image background-position background-repeat background border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width border bottom caption-side clear clip color content counter-increment counter-reset cue-after cue-before cue cursor direction display elevation empty-cells float font-family font-size font-style font-variant font-weight font height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-right margin-left margin-top margin-bottom max-height max-width min-height min-width orphans outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page-break-after page-break-before page-break-inside pause-after pause-before pause pitch-range pitch play-during position quotes richness right speak-header speak-numeral speak-punctuation speak speech-rate stress table-layout text-align text-decoration text-indent text-transform top unicode-bidi vertical-align visibility voice-family volume white-space widows width word-spacing z-index") let values = split("azimuth background background-attachment background-color background-image background-position background-repeat border bottom border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width caption-side clear clip color content counter-increment counter-reset cue cue-after cue-before cursor display direction elevation empty-cells float font font-family font-size font-style font-variant font-weight height left letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-right margin-left margin-top margin-bottom max-height max-width min-height min-width orphans outline outline-color outline-style outline-width overflow padding padding-top padding-right padding-bottom padding-left page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness speak speak-header speak-numeral speak-punctuation speech-rate stress table-layout text-align text-decoration text-indent text-transform top unicode-bidi vertical-align visibility voice-family volume white-space width widows word-spacing z-index")
let propbase = matchstr(line, '.\{-}\ze[a-zA-Z-]*$')
let entered_property = matchstr(line, '.\{-}\zs[a-zA-Z-]*$') let entered_property = matchstr(line, '.\{-}\zs[a-zA-Z-]*$')
for m in values for m in values
if m =~? '^'.entered_property if m =~? '^'.entered_property
call add(res, propbase . m.': ') call add(res, m . ':')
elseif m =~? entered_property elseif m =~? entered_property
call add(res2, propbase . m.': ') call add(res2, m . ':')
endif endif
endfor endfor
@ -315,14 +324,13 @@ else
endif endif
" Complete values " Complete values
let valbase = matchstr(line, '.\{-}\ze[a-zA-Z0-9#,.(_-]*$')
let entered_value = matchstr(line, '.\{-}\zs[a-zA-Z0-9#,.(_-]*$') let entered_value = matchstr(line, '.\{-}\zs[a-zA-Z0-9#,.(_-]*$')
for m in values for m in values
if m =~? '^'.entered_value if m =~? '^'.entered_value
call add(res, valbase . m) call add(res, m)
elseif m =~? entered_value elseif m =~? entered_value
call add(res2, valbase . m) call add(res2, m)
endif endif
endfor endfor
@ -335,14 +343,13 @@ else
elseif borders[min(keys(borders))] == 'exclam' elseif borders[min(keys(borders))] == 'exclam'
" Complete values " Complete values
let impbase = matchstr(line, '.\{-}!\s*\ze[a-zA-Z ]*$')
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$') let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
let values = ["important"] let values = ["important"]
for m in values for m in values
if m =~? '^'.entered_imp if m =~? '^'.entered_imp
call add(res, impbase . m) call add(res, m)
endif endif
endfor endfor
@ -388,9 +395,9 @@ else
for m in values for m in values
if m =~? '^'.entered_atruleafter if m =~? '^'.entered_atruleafter
call add(res, atruleafterbase . m) call add(res, m)
elseif m =~? entered_atruleafter elseif m =~? entered_atruleafter
call add(res2, atruleafterbase . m) call add(res2, m)
endif endif
endfor endfor
@ -400,14 +407,13 @@ else
let values = ["charset", "page", "media", "import", "font-face"] let values = ["charset", "page", "media", "import", "font-face"]
let atrulebase = matchstr(line, '.*@\ze[a-zA-Z -]*$')
let entered_atrule = matchstr(line, '.*@\zs[a-zA-Z-]*$') let entered_atrule = matchstr(line, '.*@\zs[a-zA-Z-]*$')
for m in values for m in values
if m =~? '^'.entered_atrule if m =~? '^'.entered_atrule
call add(res, atrulebase . m.' ') call add(res, m .' ')
elseif m =~? entered_atrule elseif m =~? entered_atrule
call add(res2, atrulebase . m.' ') call add(res2, m .' ')
endif endif
endfor endfor

View File

@ -1,39 +1,76 @@
" Vim completion script " Vim completion script
" Language: XHTML 1.0 Strict " Language: XHTML 1.0 Strict
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2005 Sep 23 " Last Change: 2005 Oct 9
function! htmlcomplete#CompleteTags(findstart, base) function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart if a:findstart
" locate the start of the word " locate the start of the word
let line = getline('.') let line = getline('.')
let start = col('.') - 1 let start = col('.') - 1
while start >= 0 && line[start - 1] !~ '<' let compl_begin = col('.') - 2
let start -= 1 while start >= 0 && line[start - 1] =~ '\(\k\|[:.-]\)'
let start -= 1
endwhile endwhile
if start < 0 if start >= 0 && line[start - 1] =~ '&'
let b:entitiescompl = 1
let b:compl_context = ''
return start
endif
let stylestart = searchpair('<style\>', '', '<\/style\>', "bnW")
let styleend = searchpair('<style\>', '', '<\/style\>', "nW")
if stylestart != 0 && styleend != 0
let curpos = line('.') let curpos = line('.')
let stylestart = searchpair('<style\>', '', '<\/style\>', "bnW") if stylestart <= curpos && styleend >= curpos
let styleend = searchpair('<style\>', '', '<\/style\>', "nW") let start = col('.') - 1
if stylestart != 0 && styleend != 0 let b:csscompl = 1
if stylestart <= curpos && styleend >= curpos while start >= 0 && line[start - 1] =~ '\(\k\|-\)'
let b:csscompl = 1 let start -= 1
let start = 0 endwhile
endif
endif endif
endif endif
if !exists("b:csscompl")
let b:compl_context = getline('.')[0:(compl_begin)]
let b:compl_context = matchstr(b:compl_context, '.*<\zs.*')
else
let b:compl_context = getline('.')[0:compl_begin]
endif
return start return start
else else
" Initialize base return lists
let res = []
let res2 = []
" a:base is very short - we need context
let context = b:compl_context
unlet! b:compl_context
" Check if we should do CSS completion inside of <style> tag " Check if we should do CSS completion inside of <style> tag
if exists("b:csscompl") if exists("b:csscompl")
unlet! b:csscompl unlet! b:csscompl
return csscomplete#CompleteCSS(0, a:base) return csscomplete#CompleteCSS(0, context)
endif endif
if a:base =~ '>' " Make entities completion
" Generally if a:base contains > it means we are outside of tag and if exists("b:entitiescompl")
unlet! b:entitiescompl
" Very, very long line
let values = ["AElig", "Aacute", "Acirc", "Agrave", "Alpha", "Aring", "Atilde", "Auml", "Beta", "Ccedil", "Chi", "Dagger", "Delta", "ETH", "Eacute", "Ecirc", "Egrave", "Epsilon", "Eta", "Euml", "Gamma", "Iacute", "Icirc", "Igrave", "Iota", "Iuml", "Kappa", "Lambda", "Mu", "Ntilde", "Nu", "OElig", "Oacute", "Ocirc", "Ograve", "Omega", "Omicron", "Oslash", "Otilde", "Ouml", "Phi", "Pi", "Prime", "Psi", "Rho", "Scaron", "Sigma", "THORN", "TITY", "Tau", "Theta", "Uacute", "Ucirc", "Ugrave", "Upsilon", "Uuml", "Xi", "Yacute", "Yuml", "Zeta", "aacute", "acirc", "acute", "aelig", "agrave", "alefsym", "alpha", "amp", "and", "ang", "apos", "aring", "asymp", "atilde", "auml", "bdquo", "beta", "brvbar", "bull", "cap", "ccedil", "cedil", "cent", "chi", "circ", "clubs", "copy", "cong", "crarr", "cup", "curren", "dArr", "dagger", "darr", "deg", "delta", "diams", "divide", "eacute", "ecirc", "egrave", "empty", "ensp", "emsp", "epsilon", "equiv", "eta", "eth", "euro", "euml", "exist", "fnof", "forall", "frac12", "frac14", "frac34", "frasl", "gt", "gamma", "ge", "hArr", "harr", "hearts", "hellip", "iacute", "icirc", "iexcl", "igrave", "image", "infin", "int", "iota", "iquest", "isin", "iuml", "kappa", "lt", "laquo", "lArr", "lambda", "lang", "larr", "lceil", "ldquo", "le", "lfloor", "lowast", "loz", "lrm", "lsaquo", "lsquo", "macr", "mdash", "micro", "middot", "minus", "mu", "nbsp", "nabla", "ndash", "ne", "ni", "not", "notin", "nsub", "ntilde", "nu", "oacute", "ocirc", "oelig", "ograve", "oline", "omega", "omicron", "oplus", "or", "ordf", "ordm", "oslash", "otilde", "otimes", "ouml", "para", "part", "permil", "perp", "phi", "pi", "piv", "plusmn", "pound", "prime", "prod", "prop", "psi", "quot", "rArr", "raquo", "radic", "rang", "rarr", "rceil", "rdquo", "real", "reg", "rfloor", "rho", "rlm", "rsaquo", "rsquo", "sbquo", "scaron", "sdot", "sect", "shy", "sigma", "sigmaf", "sim", "spades", "sub", "sube", "sum", "sup", "sup1", "sup2", "sup3", "supe", "szlig", "tau", "there4", "theta", "thetasym", "thinsp", "thorn", "tilde", "times", "trade", "uArr", "uacute", "uarr", "ucirc", "ugrave", "uml", "upsih", "upsilon", "uuml", "weierp", "xi", "yacute", "yen", "yuml", "zeta", "zwj", "zwnj"]
for m in sort(values)
if m =~? '^'.a:base
call add(res, m.';')
elseif m =~? a:base
call add(res2, m.';')
endif
endfor
return res + res2
endif
if context =~ '>'
" Generally if context contains > it means we are outside of tag and
" should abandon action - with one exception: <style> span { bo " should abandon action - with one exception: <style> span { bo
if a:base =~ 'style[^>]\{-}>[^<]\{-}$' if context =~ 'style[^>]\{-}>[^<]\{-}$'
return csscomplete#CompleteCSS(0, a:base) return csscomplete#CompleteCSS(0, context)
else else
return [] return []
endif endif
@ -43,34 +80,32 @@ function! htmlcomplete#CompleteTags(findstart, base)
let coreattrs = ["id", "class", "style", "title"] let coreattrs = ["id", "class", "style", "title"]
let i18n = ["lang", "xml:lang", "dir=\"ltr\" ", "dir=\"rtl\" "] let i18n = ["lang", "xml:lang", "dir=\"ltr\" ", "dir=\"rtl\" "]
let events = ["onclick", "ondblclick", "onmousedown", "onmouseup", "onmousemove", let events = ["onclick", "ondblclick", "onmousedown", "onmouseup", "onmousemove",
\ "onmouseout", "onkeypress", "onkeydown", "onkeyup"] \ "onmouseover", "onmouseout", "onkeypress", "onkeydown", "onkeyup"]
let focus = ["accesskey", "tabindex", "onfocus", "onblur"] let focus = ["accesskey", "tabindex", "onfocus", "onblur"]
let coregroup = coreattrs + i18n + events let coregroup = coreattrs + i18n + events
let res = [] " find tags matching with "context"
let res2 = [] " If context contains > it means we are already outside of tag and we
" find tags matching with "a:base"
" If a:base contains > it means we are already outside of tag and we
" should abandon action " should abandon action
" If a:base contains white space it is attribute. " If context contains white space it is attribute.
" It could be also value of attribute... " It could be also value of attribute...
" We have to get first word to offer " We have to get first word to offer
" proper completions " proper completions
let tag = split(a:base)[0] if context == ''
let tag = ''
else
let tag = split(context)[0]
endif
" Get last word, it should be attr name " Get last word, it should be attr name
let attr = matchstr(a:base, '.*\s\zs.*') let attr = matchstr(context, '.*\s\zs.*')
" Possible situations where any prediction would be difficult: " Possible situations where any prediction would be difficult:
" 1. Events attributes " 1. Events attributes
if a:base =~ '\s' if context =~ '\s'
" Sort out style, class, and on* cases " Sort out style, class, and on* cases
" Perfect solution for style would be switching for CSS completion. Is if context =~ "\\(on[a-z]*\\|id\\|style\\|class\\)\\s*=\\s*[\"']"
" it possible? if context =~ "\\(id\\|class\\)\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
" Also retrieving class names from current file and linked if context =~ "class\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
" stylesheets.
if a:base =~ "\\(on[a-z]*\\|id\\|style\\|class\\)\\s*=\\s*[\"']"
if a:base =~ "\\(id\\|class\\)\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
if a:base =~ "class\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
let search_for = "class" let search_for = "class"
elseif a:base =~ "id\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$" elseif context =~ "id\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
let search_for = "id" let search_for = "id"
endif endif
" Handle class name completion " Handle class name completion
@ -217,27 +252,27 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
" We need special version of sbase " We need special version of sbase
let classbase = matchstr(a:base, ".*[\"']") let classbase = matchstr(context, ".*[\"']")
let classquote = matchstr(classbase, '.$') let classquote = matchstr(classbase, '.$')
let entered_class = matchstr(attr, ".*=\\s*[\"']\\zs.*") let entered_class = matchstr(attr, ".*=\\s*[\"']\\zs.*")
for m in sort(values) for m in sort(values)
if m =~? '^'.entered_class if m =~? '^'.entered_class
call add(res, classbase . m . classquote . ' ') call add(res, m . classquote)
elseif m =~? entered_class elseif m =~? entered_class
call add(res2, classbase . m . classquote . ' ') call add(res2, m . classquote)
endif endif
endfor endfor
return res + res2 return res + res2
elseif a:base =~ "style\\s*=\\s*[\"'][^\"']*$" elseif context =~ "style\\s*=\\s*[\"'][^\"']*$"
return csscomplete#CompleteCSS(0, a:base) return csscomplete#CompleteCSS(0, context)
endif endif
let stripbase = matchstr(a:base, ".*\\(on[a-z]*\\|style\\|class\\)\\s*=\\s*[\"']\\zs.*") let stripbase = matchstr(context, ".*\\(on[a-z]*\\|style\\|class\\)\\s*=\\s*[\"']\\zs.*")
" Now we have a:base stripped from all chars up to style/class. " Now we have context stripped from all chars up to style/class.
" It may fail with some strange style value combinations. " It may fail with some strange style value combinations.
if stripbase !~ "[\"']" if stripbase !~ "[\"']"
return [] return []
@ -254,7 +289,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
elseif attrname == 'xml:space' elseif attrname == 'xml:space'
let values = ["preserve"] let values = ["preserve"]
elseif attrname == 'shape' elseif attrname == 'shape'
if a:base =~ '^a\>' if context =~ '^a\>'
let values = ["rect"] let values = ["rect"]
else else
let values = ["rect", "circle", "poly", "default"] let values = ["rect", "circle", "poly", "default"]
@ -287,13 +322,13 @@ function! htmlcomplete#CompleteTags(findstart, base)
endfor endfor
endif endif
elseif attrname == 'type' elseif attrname == 'type'
if a:base =~ '^input' if context =~ '^input'
let values = ["text", "password", "checkbox", "radio", "submit", "reset", "file", "hidden", "image", "button"] let values = ["text", "password", "checkbox", "radio", "submit", "reset", "file", "hidden", "image", "button"]
elseif a:base =~ '^button' elseif context =~ '^button'
let values = ["button", "submit", "reset"] let values = ["button", "submit", "reset"]
elseif a:base =~ '^style' elseif context =~ '^style'
let values = ["text/css"] let values = ["text/css"]
elseif a:base =~ '^script' elseif context =~ '^script'
let values = ["text/javascript"] let values = ["text/javascript"]
endif endif
else else
@ -305,7 +340,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
" We need special version of sbase " We need special version of sbase
let attrbase = matchstr(a:base, ".*[\"']") let attrbase = matchstr(context, ".*[\"']")
let attrquote = matchstr(attrbase, '.$') let attrquote = matchstr(attrbase, '.$')
for m in values for m in values
@ -313,23 +348,23 @@ function! htmlcomplete#CompleteTags(findstart, base)
" alphabetically but sort them. Those beginning with entered " alphabetically but sort them. Those beginning with entered
" part will be as first choices " part will be as first choices
if m =~ '^'.entered_value if m =~ '^'.entered_value
call add(res, attrbase . m . attrquote.' ') call add(res, m . attrquote.' ')
elseif m =~ entered_value elseif m =~ entered_value
call add(res2, attrbase . m . attrquote.' ') call add(res2, m . attrquote.' ')
endif endif
endfor endfor
return res + res2 return res + res2
endif endif
" Shorten a:base to not include last word " Shorten context to not include last word
let sbase = matchstr(a:base, '.*\ze\s.*') let sbase = matchstr(context, '.*\ze\s.*')
if tag =~ '^\(abbr\|acronym\|b\|bdo\|big\|caption\|cite\|code\|dd\|dfn\|div\|dl\|dt\|em\|fieldset\|h\d\|kbd\|li\|noscript\|ol\|p\|samp\|small\|span\|strong\|sub\|sup\|tt\|ul\|var\)$' if tag =~ '^\(abbr\|acronym\|address\|b\|bdo\|big\|caption\|cite\|code\|dd\|dfn\|div\|dl\|dt\|em\|fieldset\|h\d\|hr\|i\|kbd\|li\|noscript\|ol\|p\|samp\|small\|span\|strong\|sub\|sup\|tt\|ul\|var\)$'
let attrs = coregroup let attrs = coregroup
elseif tag == 'a' elseif tag == 'a'
let attrs = coregroup + focus + ["charset", "type", "name", "href", "hreflang", "rel", "rev", "shape", "coords"] let attrs = coregroup + focus + ["charset", "type", "name", "href", "hreflang", "rel", "rev", "shape", "coords"]
elseif tag == 'area' elseif tag == 'area'
let attrs = coregroup let attrs = coregroup + focus + ["shape", "coords", "href", "nohref", "alt"]
elseif tag == 'base' elseif tag == 'base'
let attrs = ["href", "id"] let attrs = ["href", "id"]
elseif tag == 'blockquote' elseif tag == 'blockquote'
@ -339,27 +374,27 @@ function! htmlcomplete#CompleteTags(findstart, base)
elseif tag == 'br' elseif tag == 'br'
let attrs = coreattrs let attrs = coreattrs
elseif tag == 'button' elseif tag == 'button'
let attrs = coreattrs + focus + ["name", "value", "type"] let attrs = coregroup + focus + ["name", "value", "type"]
elseif tag == '^\(col\|colgroup\)$' elseif tag == '^\(col\|colgroup\)$'
let attrs = coreattrs + ["span", "width", "align", "char", "charoff", "valign"] let attrs = coregroup + ["span", "width", "align", "char", "charoff", "valign"]
elseif tag =~ '^\(del\|ins\)$' elseif tag =~ '^\(del\|ins\)$'
let attrs = coreattrs + ["cite", "datetime"] let attrs = coregroup + ["cite", "datetime"]
elseif tag == 'form' elseif tag == 'form'
let attrs = coreattrs + ["action", "method=\"get\" ", "method=\"post\" ", "enctype", "onsubmit", "onreset", "accept", "accept-charset"] let attrs = coregroup + ["action", "method=\"get\" ", "method=\"post\" ", "enctype", "onsubmit", "onreset", "accept", "accept-charset"]
elseif tag == 'head' elseif tag == 'head'
let attrs = i18n + ["id", "profile"] let attrs = i18n + ["id", "profile"]
elseif tag == 'html' elseif tag == 'html'
let attrs = i18n + ["id", "xmlns"] let attrs = i18n + ["id", "xmlns"]
elseif tag == 'img' elseif tag == 'img'
let attrs = coreattrs + ["src", "alt", "longdesc", "height", "width", "usemap", "ismap"] let attrs = coregroup + ["src", "alt", "longdesc", "height", "width", "usemap", "ismap"]
elseif tag == 'input' elseif tag == 'input'
let attrs = coreattrs + focus + ["type", "name", "value", "checked", "disabled", "readonly", "size", "maxlength", "src", "alt", "usemap", "onselect", "onchange", "accept"] let attrs = coregroup + ["type", "name", "value", "checked", "disabled", "readonly", "size", "maxlength", "src", "alt", "usemap", "onselect", "onchange", "accept"]
elseif tag == 'label' elseif tag == 'label'
let attrs = coreattrs + ["for", "accesskey", "onfocus", "onblur"] let attrs = coregroup + ["for", "accesskey", "onfocus", "onblur"]
elseif tag == 'legend' elseif tag == 'legend'
let attrs = coreattrs + ["accesskey"] let attrs = coregroup + ["accesskey"]
elseif tag == 'link' elseif tag == 'link'
let attrs = coreattrs + ["charset", "href", "hreflang", "type", "rel", "rev", "media"] let attrs = coregroup + ["charset", "href", "hreflang", "type", "rel", "rev", "media"]
elseif tag == 'map' elseif tag == 'map'
let attrs = i18n + events + ["id", "class", "style", "title", "name"] let attrs = i18n + events + ["id", "class", "style", "title", "name"]
elseif tag == 'meta' elseif tag == 'meta'
@ -367,31 +402,31 @@ function! htmlcomplete#CompleteTags(findstart, base)
elseif tag == 'title' elseif tag == 'title'
let attrs = i18n + ["id"] let attrs = i18n + ["id"]
elseif tag == 'object' elseif tag == 'object'
let attrs = coreattrs + ["declare", "classid", "codebase", "data", "type", "codetype", "archive", "standby", "height", "width", "usemap", "name", "tabindex"] let attrs = coregroup + ["declare", "classid", "codebase", "data", "type", "codetype", "archive", "standby", "height", "width", "usemap", "name", "tabindex"]
elseif tag == 'optgroup' elseif tag == 'optgroup'
let attrs = coreattrs + ["disbled", "label"] let attrs = coregroup + ["disbled", "label"]
elseif tag == 'option' elseif tag == 'option'
let attrs = coreattrs + ["disbled", "selected", "value", "label"] let attrs = coregroup + ["disbled", "selected", "value", "label"]
elseif tag == 'param' elseif tag == 'param'
let attrs = ["id", "name", "value", "valuetype", "type"] let attrs = ["id", "name", "value", "valuetype", "type"]
elseif tag == 'pre' elseif tag == 'pre'
let attrs = coreattrs + ["xml:space"] let attrs = coregroup + ["xml:space"]
elseif tag == 'q' elseif tag == 'q'
let attrs = coreattrs + ["cite"] let attrs = coregroup + ["cite"]
elseif tag == 'script' elseif tag == 'script'
let attrs = ["id", "charset", "type=\"text/javascript\"", "type", "src", "defer", "xml:space"] let attrs = ["id", "charset", "type=\"text/javascript\"", "type", "src", "defer", "xml:space"]
elseif tag == 'select' elseif tag == 'select'
let attrs = coreattrs + ["name", "size", "multiple", "disabled", "tabindex", "onfocus", "onblur", "onchange"] let attrs = coregroup + ["name", "size", "multiple", "disabled", "tabindex", "onfocus", "onblur", "onchange"]
elseif tag == 'style' elseif tag == 'style'
let attrs = coreattrs + ["id", "type=\"text/css\"", "type", "media", "title", "xml:space"] let attrs = coreattrs + ["id", "type=\"text/css\"", "type", "media", "title", "xml:space"]
elseif tag == 'table' elseif tag == 'table'
let attrs = coreattrs + ["summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding"] let attrs = coregroup + ["summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding"]
elseif tag =~ '^\(thead\|tfoot\|tbody\|tr\)$' elseif tag =~ '^\(thead\|tfoot\|tbody\|tr\)$'
let attrs = coreattrs + ["align", "char", "charoff", "valign"] let attrs = coregroup + ["align", "char", "charoff", "valign"]
elseif tag == 'textarea' elseif tag == 'textarea'
let attrs = coreattrs + focus + ["name", "rows", "cols", "disabled", "readonly", "onselect", "onchange"] let attrs = coregroup + ["name", "rows", "cols", "disabled", "readonly", "onselect", "onchange"]
elseif tag =~ '^\(th\|td\)$' elseif tag =~ '^\(th\|td\)$'
let attrs = coreattrs + ["abbr", "headers", "scope", "rowspan", "colspan", "align", "char", "charoff", "valign"] let attrs = coregroup + ["abbr", "headers", "scope", "rowspan", "colspan", "align", "char", "charoff", "valign"]
else else
return [] return []
endif endif
@ -399,15 +434,15 @@ function! htmlcomplete#CompleteTags(findstart, base)
for m in sort(attrs) for m in sort(attrs)
if m =~ '^'.attr if m =~ '^'.attr
if m =~ '^\(ismap\|defer\|declare\|nohref\|checked\|disabled\|selected\|readonly\)$' || m =~ '=' if m =~ '^\(ismap\|defer\|declare\|nohref\|checked\|disabled\|selected\|readonly\)$' || m =~ '='
call add(res, sbase.' '.m) call add(res, m)
else else
call add(res, sbase.' '.m.'="') call add(res, m.'="')
endif endif
elseif m =~ attr elseif m =~ attr
if m =~ '^\(ismap\|defer\|declare\|nohref\|checked\|disabled\|selected\|readonly\)$' || m =~ '=' if m =~ '^\(ismap\|defer\|declare\|nohref\|checked\|disabled\|selected\|readonly\)$' || m =~ '='
call add(res2, sbase.' '.m) call add(res2, m)
else else
call add(res2, sbase.' '.m.'="') call add(res2, m.'="')
endif endif
endif endif
endfor endfor
@ -417,9 +452,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
" Close tag " Close tag
let b:unaryTagsStack = "base meta link hr br param img area input col" let b:unaryTagsStack = "base meta link hr br param img area input col"
if a:base =~ '^\/' if context =~ '^\/'
let opentag = htmlcomplete#GetLastOpenTag("b:unaryTagsStack") let opentag = htmlcomplete#GetLastOpenTag("b:unaryTagsStack")
return ["/".opentag.">"] return [opentag.">"]
endif endif
" Deal with tag completion. " Deal with tag completion.
let opentag = htmlcomplete#GetLastOpenTag("b:unaryTagsStack") let opentag = htmlcomplete#GetLastOpenTag("b:unaryTagsStack")
@ -481,9 +516,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
for m in tags for m in tags
if m =~ '^'.a:base if m =~ '^'.context
call add(res, m) call add(res, m)
elseif m =~ a:base elseif m =~ context
call add(res2, m) call add(res2, m)
endif endif
endfor endfor

View File

@ -14,9 +14,9 @@
" ---------------------------------------------------------------------------- " ----------------------------------------------------------------------------
" "
" Changelog: " Changelog:
" 0.2: script saves and restores 'cpoptions' value to prevent problems with " 0.2: script saves and restores 'cpoptions' value to prevent problems with
" line continuations " line continuations
" 0.1: initial release " 0.1: initial release
" "
" Contributors: " Contributors:
" Hugh Sasse <hgs@dmu.ac.uk> " Hugh Sasse <hgs@dmu.ac.uk>

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Jul 30 *autocmd.txt* For Vim version 7.0aa. Last change: 2005 Oct 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -324,9 +324,11 @@ FileChangedRO Before making the first change to a read-only
file. Can be used to check-out the file from file. Can be used to check-out the file from
a source control system. Not triggered when a source control system. Not triggered when
the change was caused by an autocommand. the change was caused by an autocommand.
WARNING: This event is triggered when making a This event is triggered when making the first
change, just before the change is applied to change in a buffer or the first change after
the text. If the autocommand moves the cursor 'readonly' was set,
just before the change is applied to the text.
WARNING: If the autocommand moves the cursor
the effect of the change is undefined. the effect of the change is undefined.
*FocusGained* *FocusGained*
FocusGained When Vim got input focus. Only for the GUI FocusGained When Vim got input focus. Only for the GUI

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2005 Oct 02 *eval.txt* For Vim version 7.0aa. Last change: 2005 Oct 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1877,6 +1877,7 @@ cindent({lnum}) *cindent()*
relevant. {lnum} is used just like in |getline()|. relevant. {lnum} is used just like in |getline()|.
When {lnum} is invalid or Vim was not compiled the |+cindent| When {lnum} is invalid or Vim was not compiled the |+cindent|
feature, -1 is returned. feature, -1 is returned.
See |C-indenting|.
*col()* *col()*
col({expr}) The result is a Number, which is the byte index of the column col({expr}) The result is a Number, which is the byte index of the column

View File

@ -1,4 +1,4 @@
*message.txt* For Vim version 7.0aa. Last change: 2005 Oct 02 *message.txt* For Vim version 7.0aa. Last change: 2005 Oct 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -589,6 +589,7 @@ The file is read-only and you are making a change to it anyway. You can use
the |FileChangedRO| autocommand event to avoid this message (the autocommand the |FileChangedRO| autocommand event to avoid this message (the autocommand
must reset the 'readonly' option). See 'modifiable' to completely disallow must reset the 'readonly' option). See 'modifiable' to completely disallow
making changes to a file. making changes to a file.
This message is only given for the first change after 'readonly' has been set.
*W13* > *W13* >
Warning: File "{filename}" has been created after editing started Warning: File "{filename}" has been created after editing started

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2005 Oct 02 *options.txt* For Vim version 7.0aa. Last change: 2005 Oct 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1617,7 +1617,7 @@ A jump table for the options with a short description can be found at |Q_op|.
On the second invocation the arguments are: On the second invocation the arguments are:
a:findstart 0 a:findstart 0
a:base the text with which matches should match, what was a:base the text with which matches should match, what was
located in the first call located in the first call (can be empty)
The function must return a List with the matching words. These The function must return a List with the matching words. These
matches usually include the "a:base" text. When there are no matches matches usually include the "a:base" text. When there are no matches

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2005 Oct 04 *todo.txt* For Vim version 7.0aa. Last change: 2005 Oct 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -30,18 +30,18 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Vim 6.4:
- Include fix for dF and then d;. (dcuaron)
- positioning statusline when "laststatus=2" and "cmdheight=2" in the
.vimrc/.gvimrc when gvim is started. (Robinson)
Undercurl doesn't work in HTML italic. (Michal Bozon)
When 'foldcolumn' is 1 show more + to be able to open all folds? (Donohue)
ccomplete: ccomplete:
- When an option is set: In completion mode and the user types (identifier)
characters, advance to the first match instead of removing the popup menu.
If there is no match remove the selection. (Yegappan Lakshmanan)
- When completing something that is a structure, add the "." or "->". - When completing something that is a structure, add the "." or "->".
- When a typedef or struct is local to a file only use it in that file? - When a typedef or struct is local to a file only use it in that file?
spelling:
- When a recognized word ends in a . don't have 'spellcapcheck" match it.
- Use KEEPCAPWORD instead of "KEP" and add KEEPCAPROOT (affixes may be
capatalized).
Mac unicode patch (Da Woon Jung): Mac unicode patch (Da Woon Jung):
- selecting proportional font breaks display - selecting proportional font breaks display
- UTF-8 text causes display problems. Font replacement causes this. - UTF-8 text causes display problems. Font replacement causes this.
@ -61,6 +61,8 @@ Autoload:
helpfile doc/myscript.txt helpfile doc/myscript.txt
For the "helpfile" item ":helptags" is run. For the "helpfile" item ":helptags" is run.
Add ":smap", Select mode mapping?
Awaiting response: Awaiting response:
- Win32: tearoff menu window should have a scrollbar when it's taller than - Win32: tearoff menu window should have a scrollbar when it's taller than
the screen. the screen.
@ -783,7 +785,7 @@ MSDOS, OS/2 and Win32:
8 OS/2: Add Extended Attributes support and define HAVE_ACL. 8 OS/2: Add Extended Attributes support and define HAVE_ACL.
8 OS/2: When editing a file name "foo.txt" that is actually called FOO.txt, 8 OS/2: When editing a file name "foo.txt" that is actually called FOO.txt,
writing uses "foo.txt". Should obtain the real file name. writing uses "foo.txt". Should obtain the real file name.
8 Should $USERPROFILE be used instead of $HOMEDRIVE/$HOMEPATH? 8 Should $USERPROFILE be preferred above $HOMEDRIVE/$HOMEPATH?
8 Win32 console: <M-Up> and <M-Down> don't work. (Geddes) We don't have 8 Win32 console: <M-Up> and <M-Down> don't work. (Geddes) We don't have
special keys for these. Should use modifier + key. special keys for these. Should use modifier + key.
8 Win32 console: caps-lock makes non-alpha keys work like with shift. 8 Win32 console: caps-lock makes non-alpha keys work like with shift.
@ -848,6 +850,7 @@ Amiga:
Macintosh: Macintosh:
7 Implement "undercurl".
7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard 7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
Needs more work. Add when someone really wants it. Needs more work. Add when someone really wants it.

View File

@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.0aa. Last change: 2005 Oct 02 *usr_05.txt* For Vim version 7.0aa. Last change: 2005 Oct 04
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@ -327,8 +327,10 @@ Example for Unix (assuming you didn't have a plugin directory yet): >
That's all! Now you can use the commands defined in this plugin to justify That's all! Now you can use the commands defined in this plugin to justify
text. text.
If your plugin directory is getting full: You can also put them subdirecties. Instead of putting plugins directly into the plugin/ directory, you may
For example, use "~/.vim/plugin/perl/*.vim" for all your Perl plugins. better organize them by putting them into subdirectories under plugin/.
As an example, consider using "~/.vim/plugin/perl/*.vim" for all your Perl
plugins.
FILETYPE PLUGINS *add-filetype-plugin* *ftplugins* FILETYPE PLUGINS *add-filetype-plugin* *ftplugins*

View File

@ -1,4 +1,4 @@
*version6.txt* For Vim version 7.0aa. Last change: 2005 Apr 18 *version6.txt* For Vim version 7.0aa. Last change: 2005 Oct 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -80,6 +80,11 @@ Changed |changed-6.3|
Added |added-6.3| Added |added-6.3|
Fixed |fixed-6.3| Fixed |fixed-6.3|
VERSION 6.4 |version-6.4|
Changed |changed-6.4|
Added |added-6.4|
Fixed |fixed-6.4|
============================================================================== ==============================================================================
INCOMPATIBLE CHANGES *incompatible-6* INCOMPATIBLE CHANGES *incompatible-6*
@ -13841,4 +13846,630 @@ Problem: After Visually selecting four characters, changing it to other
Solution: Don't store the size of the Visual area when redo is active. Solution: Don't store the size of the Visual area when redo is active.
Files: src/normal.c Files: src/normal.c
==============================================================================
VERSION 6.4 *version-6.4*
This section is about improvements made between version 6.3 and 6.4.
This is a bug-fix release. There are also a few new features. The major
number of new items is in the runtime files and translations.
The big MS-Windows version now uses:
Ruby version 1.8.3
Perl version 5.8.7
Python version 2.4.2
Changed *changed-6.4*
-------
Nothing relevant.
Added *added-6.4*
-----
Netrc syntax file. (Nikolai Weibull)
Sudoers syntax file. (Nikolai Weibull)
SMTPrc syntax file. (Kornel Kielczewski)
Esterel syntax file. (Maurizio Tranchero)
Fixed *fixed-6.4*
-----
"dFxd;" deleted the character under the cursor, "d;" didn't remember the
exclusiveness of the motion.
When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one
line for the cmdline. (Christian Robinson) Invoke command_height() after the
GUI has started up.
Gcc would warn "dereferencing type-punned pointer will break strict -aliasing
rules". Avoid using typecasts for variable pointers.
Patch 6.3.001
Problem: ":browse split" gives the file selection dialog twice. (Gordon
Bazeley) Same problem for ":browse diffpatch".
Solution: Reset cmdmod.browse before calling do_ecmd().
Files: src/diff.c, src/ex_docmd.c
Patch 6.3.002
Problem: When using translated help files with non-ASCII latin1 characters
in the first line the utf-8 detection is wrong.
Solution: Properly detect utf-8 characters. When a mix of encodings is
detected continue with the next language and avoid a "no matches"
error because of "got_int" being set. Add the directory name to
the error message for a duplicate tag.
Files: src/ex_cmds.c
Patch 6.3.003
Problem: Crash when using a console dialog and the first choice does not
have a default button. (Darin Ohashi)
Solution: Allocate two more characters for the [] around the character for
the default choice.
Files: src/message.c
Patch 6.3.004
Problem: When searching for a long string (140 chars in a 80 column
terminal) get three hit-enter prompts. (Robert Webb)
Solution: Avoid the hit-enter prompt when giving the message for wrapping
around the end of the buffer. Don't give that message again when
the string was not found.
Files: src/message.c, src/search.c
Patch 6.3.005
Problem: Crash when searching for a pattern with a character offset and
starting in a closed fold. (Frank Butler)
Solution: Check for the column to be past the end of the line. Also fix
that a pattern with a character offset relative to the end isn't
read back from the viminfo properly.
Files: src/search.c
Patch 6.3.006
Problem: ":breakadd file *foo" prepends the current directory to the file
pattern. (Hari Krishna Dara)
Solution: Keep the pattern as-is.
Files: src/ex_cmds2.c
Patch 6.3.007
Problem: When there is a buffer with 'buftype' set to "nofile" and using a
":cd" command, the swap file is not deleted when exiting.
Solution: Use the full path of the swap file also for "nofile" buffers.
Files: src/fileio.c
Patch 6.3.008
Problem: Compiling fails under OS/2.
Solution: Include "e_screenmode" also for OS/2. (David Sanders)
Files: src/globals.h
Patch 6.3.009 (after 6.3.006)
Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link
is involved. (Servatius Brandt)
Solution: Do expand the pattern when it does not start with "*".
Files: runtime/doc/repeat.txt, src/ex_cmds2.c
Patch 6.3.010
Problem: When writing to a named pipe there is an error for fsync()
failing.
Solution: Ignore the fsync() error for devices.
Files: src/fileio.c
Patch 6.3.011
Problem: Crash when the completion function of a user-command uses a
"normal :cmd" command. (Hari Krishna Dara)
Solution: Save the command line when invoking the completion function.
Files: src/ex_getln.c
Patch 6.3.012
Problem: Internal lalloc(0) error when using a complicated multi-line
pattern in a substitute command. (Luc Hermitte)
Solution: Avoid going past the end of a line.
Files: src/ex_cmds.c
Patch 6.3.013
Problem: Crash when editing a command line and typing CTRL-R = to evaluate
a function that uses "normal :cmd". (Hari Krishna Dara)
Solution: Save and restore the command line when evaluating an expression
for CTRL-R =.
Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
src/proto/ops.pro
Patch 6.3.014
Problem: When using Chinese or Taiwanese the default for 'helplang' is
wrong. (Simon Liang)
Solution: Use the part of the locale name after "zh_".
Files: src/option.c
Patch 6.3.015
Problem: The string that winrestcmd() returns may end in garbage.
Solution: NUL-terminate the string. (Walter Briscoe)
Files: src/eval.c
Patch 6.3.016
Problem: The default value for 'define' has "\s" before '#'.
Solution: Add a star after "\s". (Herculano de Lima Einloft Neto)
Files: src/option.c
Patch 6.3.017
Problem: "8zz" may leave the cursor beyond the end of the line. (Niko
Maatjes)
Solution: Correct the cursor column after moving to another line.
Files: src/normal.c
Patch 6.3.018
Problem: ":0argadd zero" added the argument after the first one, instead of
before it. (Adri Verhoef)
Solution: Accept a zero range for ":argadd".
Files: src/ex_cmds.h
Patch 6.3.019
Problem: Crash in startup for debug version. (David Rennals)
Solution: Move the call to nbdebug_wait() to after allocating NameBuff.
Files: src/main.c
Patch 6.3.020
Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not
delete a word but only a combining character of the first
character, if there is one. (Raphael Finkel)
Solution: Correctly check that one character is being deleted.
Files: src/misc1.c
Patch 6.3.021
Problem: When the last character of a file name is a multi-byte character
and the last byte is a path separator, the file cannot be edited.
Solution: Check for the last byte to be part of a multi-byte character.
(Taro Muraoka)
Files: src/fileio.c
Patch 6.3.022 (extra)
Problem: Win32: When the last character of a file name is a multi-byte
character and the last byte is a path separator, the file cannot
be written. A trail byte that is a space makes that a file cannot
be opened from the command line.
Solution: Recognize double-byte characters when parsing the command line.
In mch_stat() check for the last byte to be part of a multi-byte
character. (Taro Muraoka)
Files: src/gui_w48.c, src/os_mswin.c
Patch 6.3.023
Problem: When the "to" part of a mapping starts with its "from" part,
abbreviations for the same characters is not possible. For
example, when <Space> is mapped to something that starts with a
space, typing <Space> does not expand abbreviations.
Solution: Only disable expanding abbreviations when a mapping is not
remapped, don't disable it when the RHS of a mapping starts with
the LHS.
Files: src/getchar.c, src/vim.h
Patch 6.3.024
Problem: In a few places a string in allocated memory is not terminated
with a NUL.
Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and
serverGetVimNames().
Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c
Patch 6.3.025 (extra)
Problem: Missing NUL for list of server names.
Solution: Add ga_append(NUL) in serverGetVimNames().
Files: src/os_mswin.c
Patch 6.3.026
Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that
reloads the colors an enless loop and/or a crash may occur.
Solution: Only free the old value of an option when it was originally
allocated. Limit recursiveness of init_highlight() to 5 levels.
Files: src/option.c, src/syntax.c
Patch 6.3.027
Problem: VMS: Writing a file may insert extra CR characters. Not all
terminals are recognized correctly. Vt320 doesn't support colors.
Environment variables are not expanded correctly.
Solution: Use another method to write files. Add vt320 termcap codes for
colors. (Zoltan Arpadffy)
Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h,
src/term.c
Patch 6.3.028
Problem: When appending to a file the BOM marker may be written. (Alex
Jakushev)
Solution: Do not write the BOM marker when appending.
Files: src/fileio.c
Patch 6.3.029
Problem: Crash when inserting a line break. (Walter Briscoe)
Solution: In the syntax highlighting code, don't use an old state after a
change was made, current_col may be past the end of the line.
Files: src/syntax.c
Patch 6.3.030
Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets
'encoding' to "utf-8" and loads the menus again. GTK error
message when tooltip text is in a wrong encoding.
Solution: Don't copy characters from the old screen to the new screen when
switching 'encoding' to utf-8, they may be invalid. Only set the
tooltip when it is valid utf-8.
Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c
Patch 6.3.031
Problem: When entering a mapping and pressing Tab halfway the command line
isn't redrawn properly. (Adri Verhoef)
Solution: Reposition the cursor after drawing over the "..." of the
completion attempt.
Files: src/ex_getln.c
Patch 6.3.032
Problem: Using Python 2.3 with threads doesn't work properly.
Solution: Release the lock after initialization.
Files: src/if_python.c
Patch 6.3.033
Problem: When a mapping ends in a Normal mode command of more than one
character Vim doesn't return to Insert mode.
Solution: Check that the mapping has ended after obtaining all characters of
the Normal mode command.
Files: src/normal.c
Patch 6.3.034
Problem: VMS: crash when using ":help".
Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?"
wildcard. (Zoltan Arpadffy)
Files: src/tag.c
Patch 6.3.035 (extra)
Problem: RISC OS: Compile errors.
Solution: Change e_screnmode to e_screenmode. Change the way
__riscosify_control is set. Improve the makefile. (Andy Wingate)
Files: src/os_riscos.c, src/search.c, src/Make_ro.mak
Patch 6.3.036
Problem: ml_get errors when the whole file is a fold, switching
'foldmethod' and doing "zj". (Christian J. Robinson) Was not
deleting the fold but creating a fold with zero lines.
Solution: Delete the fold properly.
Files: src/fold.c
Patch 6.3.037 (after 6.3.032)
Problem: Warning for unused variable.
Solution: Change the #ifdefs for the saved thread stuff.
Files: src/if_python.c
Patch 6.3.038 (extra)
Problem: Win32: When the "file changed" dialog pops up after a click that
gives gvim focus and not moving the mouse after that, the effect
of the click may occur when moving the mouse later. (Ken Clark)
Happened because the release event was missed.
Solution: Clear the s_button_pending variable when any input is received.
Files: src/gui_w48.c
Patch 6.3.039
Problem: When 'number' is set and inserting lines just above the first
displayed line (in another window on the same buffer), the line
numbers are not updated. (Hitier Sylvain)
Solution: When 'number' is set and lines are inserted/deleted redraw all
lines below the change.
Files: src/screen.c
Patch 6.3.040
Problem: Error handling does not always work properly and may cause a
buffer to be marked as if it's viewed in a window while it isn't.
Also when selecting "Abort" at the attention prompt.
Solution: Add enter_cleanup() and leave_cleanup() functions to move
saving/restoring things for error handling to one place.
Clear a buffer read error when it's unloaded.
Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c,
src/proto/ex_eval.pro, src/structs.h, src/vim.h
Patch 6.3.041 (extra)
Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h"
doesn't work. (Valery Kondakoff)
Solution: Use a wide function to change directory.
Files: src/os_mswin.c
Patch 6.3.042
Problem: When there is a closed fold at the top of the window, CTRL-X
CTRL-E in Insert mode reduces the size of the fold instead of
scrolling the text up. (Gautam)
Solution: Scroll over the closed fold.
Files: src/move.c
Patch 6.3.043
Problem: 'hlsearch' highlighting sometimes disappears when inserting text
in PHP code with syntax highlighting. (Marcel Svitalsky)
Solution: Don't use pointers to remember where a match was found, use an
index. The pointers may become invalid when searching in other
lines.
Files: src/screen.c
Patch 6.3.044 (extra)
Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves
pixels behind. (Richard Sandilands)
Solution: Erase the character cell before drawing the text when needed.
Files: src/gui_mac.c
Patch 6.3.045
Problem: Unusual characters in an option value may cause unexpected
behavior, especially for a modeline. (Ciaran McCreesh)
Solution: Don't allow setting termcap options or 'printdevice' in a
modeline. Don't list options for "termcap" and "all" in a
modeline. Don't allow unusual characters in 'filetype', 'syntax',
'backupext', 'keymap', 'patchmode' and 'langmenu'.
Files: src/option.c, runtime/doc/options.txt
Patch 6.3.046
Problem: ":registers" doesn't show multi-byte characters properly.
(Valery Kondakoff)
Solution: Get the length of each character before displaying it.
Files: src/ops.c
Patch 6.3.047 (extra)
Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with
read-only attributes. (Tony Mechelynck)
Solution: Don't use the _wopen() function for Borland.
Files: src/os_win32.c
Patch 6.3.048 (extra)
Problem: Build problems with VMS on IA64.
Solution: Add dependencies to the build file. (Zoltan Arpadffy)
Files: src/Make_vms.mms
Patch 6.3.049 (after 6.3.045)
Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy)
Solution: Add a typecast.
Files: src/option.c
Patch 6.3.050
Problem: When SIGHUP is received while busy exiting, non-reentrant
functions such as free() may cause a crash.
Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
Files: src/misc1.c, src/main.c
Patch 6.3.051
Problem: When 'wildmenu' is set and completed file names contain multi-byte
characters Vim may crash.
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
Files: src/screen.c
Patch 6.3.052 (extra)
Problem: Windows 98: typed keys that are not ASCII may not work properly.
For example with a Russian input method. (Jiri Jezdinsky)
Solution: Assume that the characters arrive in the current codepage instead
of UCS-2. Perform conversion based on that.
Files: src/gui_w48.c
Patch 6.3.053
Problem: Win32: ":loadview" cannot find a file with non-ASCII characters.
(Valerie Kondakoff)
Solution: Use mch_open() instead of open() to open the file.
Files: src/ex_cmds2.c
Patch 6.3.054
Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus)
Vim is actually still working but redraw is disabled.
Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo
buffer but a CTRL-L.
Files: src/edit.c
Patch 6.3.055 (after 6.3.013)
Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>=
when editing a command line. Using <C-\>e may crash Vim. (Peter
Winters)
Solution: When moving ccline out of the way for recursive use, make it
available to the functions that need it. Also save and restore
ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at
the end of getcmdline().
Files: src/ex_getln.c
Patch 6.3.056
Problem: The last characters of a multi-byte file name may not be displayed
in the window title.
Solution: Avoid to remove a multi-byte character where the last byte looks
like a path separator character. (Yasuhiro Matsumoto)
Files: src/buffer.c, src/ex_getln.c
Patch 6.3.057
Problem: When filtering lines folds are not updated. (Carl Osterwisch)
Solution: Update folds for filtered lines.
Files: src/ex_cmds.c
Patch 6.3.058
Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on
Vim may crash. Disabling the vertical split feature breaks
compiling. (Peter Winters)
Solution: Check for zero room for wrapped text. Make compiling without
vertical splits possible.
Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c
Patch 6.3.059
Problem: Crash when expanding an ":edit" command containing several spaces
with the shell. (Brian Hirt)
Solution: Allocate enough space for the quotes.
Files: src/os_unix.c
Patch 6.3.060
Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name
still causes something to be inserted.
Solution: Check the register name for being valid.
Files: src/edit.c
Patch 6.3.061
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
multi-byte character in the last column, displaying is messed up.
(Joël Rio)
Solution: Check for a multi-byte character, not a multi-column character.
Files: src/screen.c
Patch 6.3.062
Problem: ":normal! gQ" hangs.
Solution: Quit getcmdline() and do_exmode() when out of typeahead.
Files: src/ex_getln.c, src/ex_docmd.c
Patch 6.3.063
Problem: When a CursorHold autocommand changes to another window
(temporarily) 'mousefocus' stops working.
Solution: Call gui_mouse_correct() after triggering CursorHold.
Files: src/gui.c
Patch 6.3.064
Problem: line2byte(line("$") + 1) sometimes returns the wrong number.
(Charles Campbell)
Solution: Flush the cached line before counting the bytes.
Files: src/memline.c
Patch 6.3.065
Problem: The euro digraph doesn't always work.
Solution: Add an "e=" digraph for Unicode euro character and adjust the
help files.
Files: src/digraph.c, runtime/doc/digraph.txt
Patch 6.3.066
Problem: Backup file may get wrong permissions.
Solution: Use permissions of original file for backup file in more places.
Files: src/fileio.c
Patch 6.3.067 (after 6.3.066)
Problem: Newly created file gets execute permission.
Solution: Check for "perm" to be negative before using it.
Files: src/fileio.c
Patch 6.3.068
Problem: When editing a compressed file xxx.gz which is a symbolic link to
the actual file a ":write" renames the link.
Solution: Resolve the link, so that the actual file is renamed and
compressed.
Files: runtime/plugin/gzip.vim
Patch 6.3.069
Problem: When converting text with illegal characters Vim may crash.
Solution: Avoid that too much is subtracted from the length. (Da Woon Jung)
Files: src/mbyte.c
Patch 6.3.070
Problem: After ":set number linebreak wrap" and a vertical split, moving
the vertical separator far left will crash Vim. (Georg Dahn)
Solution: Avoid dividing by zero.
Files: src/charset.c
Patch 6.3.071
Problem: The message for CTRL-X mode is still displayed after an error for
'thesaurus' or 'dictionary' being empty.
Solution: Clear "edit_submode".
Files: src/edit.c
Patch 6.3.072
Problem: Crash in giving substitute message when language is Chinese and
encoding is utf-8. (Yongwei)
Solution: Make the msg_buf size larger when using multi-byte.
Files: src/vim.h
Patch 6.3.073
Problem: Win32 GUI: When the Vim window is partly above or below the
screen, scrolling causes display errors when the taskbar is not on
that side.
Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or
above the screen.
Files: src/gui_w48.c
Patch 6.3.074
Problem: When mswin.vim is used and 'insertmode' is set, typing text in
Select mode and then using CTRL-V results in <SNR>99_Pastegi.
(Georg Dahn)
Solution: When restart_edit is set use "d" instead of "c" to remove the
selected text to avoid calling edit() twice.
Files: src/normal.c
Patch 6.3.075
Problem: After unloading another buffer, syntax highlighting in the current
buffer may be wrong when it uses "containedin". (Eric Arnold)
Solution: Use "buf" intead of "curbuf" in syntax_clear().
Files: src/syntax.c
Patch 6.3.076
Problem: Crash when using cscope and there is a parse error (e.g., line too
long). (Alexey I. Froloff)
Solution: Pass the actual number of matches to cs_manage_matches() and
correctly handle the error situation.
Files: src/if_cscope.c
Patch 6.3.077 (extra)
Problem: VMS: First character input after ESC was not recognized.
Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy)
Files: src/os_vms.c
Patch 6.3.078 (extra, after 6.3.077)
Problem: VMS: Performance issue after patch 6.3.077
Solution: Add a timeout in the itemlist. (Zoltan Arpadffy)
Files: src/os_vms.c
Patch 6.3.079
Problem: Crash when executing a command in the command line window while
syntax highlighting is enabled. (Pero Brbora)
Solution: Don't use a pointer to a buffer that has been deleted.
Files: src/syntax.c
Patch 6.3.080 (extra)
Problem: Win32: With 'encoding' set to utf-8 while the current codepage is
Chinese editing a file with some specific characters in the name
fails.
Solution: Use _wfullpath() instead of _fullpath() when necessary.
Files: src/os_mswin.c
Patch 6.3.081
Problem: Unix: glob() may execute a shell command when it's not wanted.
(Georgi Guninski)
Solution: Verify the sandbox flag is not set.
Files: src/os_unix.c
Patch 6.3.082 (after 6.3.081)
Problem: Unix: expand() may execute a shell command when it's not wanted.
(Georgi Guninski)
Solution: A more generic solution than 6.3.081.
Files: src/os_unix.c
Patch 6.3.083
Problem: VMS: The vt320 termcap entry is incomplete.
Solution: Add missing function keys. (Zoltan Arpadffy)
Files: src/term.c
Patch 6.3.084 (extra)
Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored.
Failure when $(OUTDIR) already exists. "po" makefile is missing.
Solution: Use changes tested in Vim 7. (Tony Mechelynck)
Files: src/Make_cyg.mak, src/po/Make_cyg.mak
Patch 6.3.085
Problem: Crash in syntax highlighting code. (Marc Espie)
Solution: Prevent current_col going past the end of the line.
Files: src/syntax.c
Patch 6.3.086 (extra)
Problem: Can't produce message translation file with msgfmt that checks
printf strings.
Solution: Fix the Russian translation.
Files: src/po/ru.po, src/po/ru.cp1251.po
Patch 6.3.087
Problem: MS-DOS: Crash. (Jason Hood)
Solution: Don't call fname_case() with a NULL pointer.
Files: src/ex_cmds.c
Patch 6.3.088
Problem: Editing ".in" causes error E218. (Stefan Karlsson)
Solution: Require some characters before ".in". Same for ".orig" and others.
Files: runtime/filetype.vim
Patch 6.3.089
Problem: A session file doesn't work when created while the current
directory contains a space or the directory of the session files
contains a space. (Paolo Giarrusso)
Solution: Escape spaces with a backslash.
Files: src/ex_docmd.c
Patch 6.3.090
Problem: A very big value for 'columns' or 'lines' may cause a crash.
Solution: Limit the values to 10000 and 1000.
Files: src/option.c
vim:tw=78:ts=8:ft=help:norl: vim:tw=78:ts=8:ft=help:norl:

View File

@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2005 Oct 02 *version7.txt* For Vim version 7.0aa. Last change: 2005 Oct 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -838,6 +838,12 @@ matched from \zs to the end or \ze. Useful to pass more to 'includeexpr'.
Loading plugins on startup now supports subdirectories in the plugin Loading plugins on startup now supports subdirectories in the plugin
directory. |load-plugins| directory. |load-plugins|
In the foldcolumn always show the '+' for a closed fold, so that it can be
opened easily. It may overwrite another character, esp. if 'foldcolumn' is 1.
It is now possible to get the W10 message again by setting 'readonly'. Useful
in the FileChangedRO autocommand when checking out the file fails.
============================================================================== ==============================================================================
COMPILE TIME CHANGES *compile-changes-7* COMPILE TIME CHANGES *compile-changes-7*
@ -1066,10 +1072,6 @@ doing that a SIGHUP may arrive and disturbe us, thus ignore it. (Scott
Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to
handle. Added handle_signal(). handle. Added handle_signal().
When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one
line for the cmdline. (Christian Robinson) Invoke command_height() after the
GUI has started up.
When completing a file name on the command line backslashes are required for When completing a file name on the command line backslashes are required for
white space. Was only done for a space, not for a Tab. white space. Was only done for a space, not for a Tab.
@ -1387,9 +1389,6 @@ searching for "qa" instead of quitting all windows.
GUI: When scrolling with the scrollbar and there is a line that doesn't fit GUI: When scrolling with the scrollbar and there is a line that doesn't fit
redrawing may fail. Make sure w_skipcol is valid before redrawing. redrawing may fail. Make sure w_skipcol is valid before redrawing.
"dFxd;" deleted the character under the cursor, "d;" didn't remember the
exclusiveness of the motion.
Limit the values of 'columns' and 'lines' to avoid an overflow in Rows * Limit the values of 'columns' and 'lines' to avoid an overflow in Rows *
Columns. Fixed bad effects when running out of memory (command line would be Columns. Fixed bad effects when running out of memory (command line would be
reversed, ":qa!" resulted in ":!aq"). reversed, ":qa!" resulted in ":!aq").

View File

@ -1,4 +1,4 @@
*visual.txt* For Vim version 7.0aa. Last change: 2005 Apr 01 *visual.txt* For Vim version 7.0aa. Last change: 2005 Oct 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -86,7 +86,7 @@ Visual Normal blockwise Visual linewise Visual
blockwise Visual Visual Normal linewise Visual blockwise Visual Visual Normal linewise Visual
linewise Visual Visual blockwise Visual Normal linewise Visual Visual blockwise Visual Normal
*gv* *v_gv* *gv* *v_gv* *reselect-Visual*
gv Start Visual mode with the same area as the previous gv Start Visual mode with the same area as the previous
area and the same mode. area and the same mode.
In Visual mode the current and the previous Visual In Visual mode the current and the previous Visual

View File

@ -1,10 +1,10 @@
" Vim filetype plugin " Vim filetype plugin
" Language: eRuby " Language: eRuby
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au> " Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
" Info: $Id$ " Info: $Id$
" URL: http://vim-ruby.sourceforge.net " URL: http://vim-ruby.sourceforge.net
" Anon CVS: See above site " Anon CVS: See above site
" Licence: GPL (http://www.gnu.org) " Licence: GPL (http://www.gnu.org)
" Disclaimer: " Disclaimer:
" This program is distributed in the hope that it will be useful, " This program is distributed in the hope that it will be useful,
" but WITHOUT ANY WARRANTY; without even the implied warranty of " but WITHOUT ANY WARRANTY; without even the implied warranty of

View File

@ -1,10 +1,10 @@
" Vim filetype plugin " Vim filetype plugin
" Language: Ruby " Language: Ruby
" Maintainer: Gavin Sinclair <gsinclair at soyabean.com.au> " Maintainer: Gavin Sinclair <gsinclair at soyabean.com.au>
" Info: $Id$ " Info: $Id$
" URL: http://vim-ruby.sourceforge.net " URL: http://vim-ruby.sourceforge.net
" Anon CVS: See above site " Anon CVS: See above site
" Licence: GPL (http://www.gnu.org) " Licence: GPL (http://www.gnu.org)
" Disclaimer: " Disclaimer:
" This program is distributed in the hope that it will be useful, " This program is distributed in the hope that it will be useful,
" but WITHOUT ANY WARRANTY; without even the implied warranty of " but WITHOUT ANY WARRANTY; without even the implied warranty of
@ -12,7 +12,7 @@
" GNU General Public License for more details. " GNU General Public License for more details.
" ---------------------------------------------------------------------------- " ----------------------------------------------------------------------------
" "
" Original matchit support thanks to Ned Konz. See his ftplugin/ruby.vim at " Original matchit support thanks to Ned Konz. See his ftplugin/ruby.vim at
" http://bike-nomad.com/vim/ruby.vim. " http://bike-nomad.com/vim/ruby.vim.
" ---------------------------------------------------------------------------- " ----------------------------------------------------------------------------
@ -32,18 +32,18 @@ if exists("loaded_matchit") && !exists("b:match_words")
" TODO: improve optional do loops " TODO: improve optional do loops
let b:match_words = let b:match_words =
\ '\%(' . \ '\%(' .
\ '\%(\%(\.\|\:\:\)\s*\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' . \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(class\|module\|begin\|def\|case\|for\|do\)\>' .
\ '\|' . \ '\|' .
\ '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' . \ '\%(\%(^\|\.\.\.\=\|[\,;=([<>~\*/%!&^|+-]\)\s*\)\@<=\%(if\|unless\|until\|while\)\>' .
\ '\)' . \ '\)' .
\ ':' . \ ':' .
\ '\%(' . \ '\%(' .
\ '\%(\%(\.\|\:\:\)\s*\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' . \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<\%(else\|elsif\|ensure\|when\)\>' .
\ '\|' . \ '\|' .
\ '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' . \ '\%(\%(^\|;\)\s*\)\@<=\<rescue\>' .
\ '\)' . \ '\)' .
\ ':' . \ ':' .
\ '\%(\%(\.\|\:\:\)\s*\)\@<!\<end\>' \ '\%(\%(\.\|\:\:\)\s*\|\:\)\@<!\<end\>'
let b:match_skip = let b:match_skip =
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" . \ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
@ -66,12 +66,13 @@ setlocal commentstring=#\ %s
if !exists("s:rubypath") if !exists("s:rubypath")
if executable("ruby") if executable("ruby")
let s:code = "print ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,})"
if &shellxquote == "'" if &shellxquote == "'"
let s:rubypath = system('ruby -e "puts (begin; require %q{rubygems}; Gem.all_load_paths; rescue LoadError; []; end + $:).join(%q{,})"') let s:rubypath = system('ruby -e "' . s:code . '"')
else else
let s:rubypath = system("ruby -e 'puts (begin; require %q{rubygems}; Gem.all_load_paths; rescue LoadError; []; end + $:).join(%q{,})'") let s:rubypath = system("ruby -e '" . s:code . "'")
endif endif
let s:rubypath = substitute(s:rubypath,',.$',',,','') let s:rubypath = '.,' . substitute(s:rubypath, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
else else
" If we can't call ruby to get its path, just default to using the " If we can't call ruby to get its path, just default to using the
" current directory and the directory of the current file. " current directory and the directory of the current file.
@ -83,7 +84,7 @@ let &l:path = s:rubypath
if has("gui_win32") && !exists("b:browsefilter") if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" . let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
\ "All Files (*.*)\t*.*\n" \ "All Files (*.*)\t*.*\n"
endif endif
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< " let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< "
@ -97,7 +98,7 @@ unlet s:cpo_save
" "
" 1. Look for the latest "matchit" plugin at " 1. Look for the latest "matchit" plugin at
" "
" http://www.vim.org/scripts/script.php?script_id=39 " http://www.vim.org/scripts/script.php?script_id=39
" "
" It is also packaged with Vim, in the $VIMRUNTIME/macros directory. " It is also packaged with Vim, in the $VIMRUNTIME/macros directory.
" "
@ -108,16 +109,16 @@ unlet s:cpo_save
" 4. Ensure this file (ftplugin/ruby.vim) is installed. " 4. Ensure this file (ftplugin/ruby.vim) is installed.
" "
" 5. Ensure you have this line in your $HOME/.vimrc: " 5. Ensure you have this line in your $HOME/.vimrc:
" filetype plugin on " filetype plugin on
" "
" 6. Restart Vim and create the matchit documentation: " 6. Restart Vim and create the matchit documentation:
" "
" :helptags ~/.vim/doc " :helptags ~/.vim/doc
" "
" Now you can do ":help matchit", and you should be able to use "%" on Ruby " Now you can do ":help matchit", and you should be able to use "%" on Ruby
" keywords. Try ":echo b:match_words" to be sure. " keywords. Try ":echo b:match_words" to be sure.
" "
" Thanks to Mark J. Reed for the instructions. See ":help vimrc" for the " Thanks to Mark J. Reed for the instructions. See ":help vimrc" for the
" locations of plugin directories, etc., as there are several options, and it " locations of plugin directories, etc., as there are several options, and it
" differs on Windows. Email gsinclair@soyabean.com.au if you need help. " differs on Windows. Email gsinclair@soyabean.com.au if you need help.
" "

View File

@ -1,10 +1,10 @@
" Vim indent file " Vim indent file
" Language: Ruby " Language: Ruby
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au> " Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
" Info: $Id$ " Info: $Id$
" URL: http://vim-ruby.rubyforge.org/ " URL: http://vim-ruby.rubyforge.org/
" Anon CVS: See above site " Anon CVS: See above site
" Licence: GPL (http://www.gnu.org) " Licence: GPL (http://www.gnu.org)
" Disclaimer: " Disclaimer:
" This program is distributed in the hope that it will be useful, " This program is distributed in the hope that it will be useful,
" but WITHOUT ANY WARRANTY; without even the implied warranty of " but WITHOUT ANY WARRANTY; without even the implied warranty of

View File

@ -1,6 +1,6 @@
" Menu Translations: Swedish " Menu Translations: Swedish
" Maintainer: Johan Svedberg <johan@svedberg.com> " Maintainer: Johan Svedberg <johan@svedberg.com>
" Last Change: 2005 April 23 " Last Change: 2005 Oct 09
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")
@ -22,8 +22,8 @@ menutrans &How-to\ links &Hur-g
menutrans &Find\.\.\. &Sök\.\.\. menutrans &Find\.\.\. &Sök\.\.\.
menutrans &Credits &Tack menutrans &Credits &Tack
menutrans Co&pying &Kopieringsrättigheter menutrans Co&pying &Kopieringsrättigheter
menutrans &Sponsor/Register &Sponsra/Registrering menutrans &Sponsor/Register &Sponsra/Registrera
menutrans O&rphans F&örälderlösa menutrans O&rphans &Föräldralösa
menutrans &Version &Version menutrans &Version &Version
menutrans &About &Om menutrans &About &Om
@ -76,7 +76,7 @@ menutrans Insert\ mode Infogningsl
menutrans Block\ and\ Insert Block\ och\ infogning menutrans Block\ and\ Insert Block\ och\ infogning
menutrans Always Alltid menutrans Always Alltid
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Växla\ infogningsläge<Tab>:set\ im! menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Växla\ infogningsläge<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Växla\ Vi-kompatibelitet<Tab>:set\ cp! menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Växla\ Vi-kompabilitet<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Sökväg\.\.\. menutrans Search\ &Path\.\.\. Sökväg\.\.\.
menutrans Ta&g\ Files\.\.\. Taggfiler\.\.\. menutrans Ta&g\ Files\.\.\. Taggfiler\.\.\.
menutrans Toggle\ &Toolbar Växla\ verktygsrad menutrans Toggle\ &Toolbar Växla\ verktygsrad
@ -93,8 +93,8 @@ menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! V
menutrans Toggle\ &expand-tab<Tab>:set\ et! Växla\ tab-expandering<Tab>:set\ et! menutrans Toggle\ &expand-tab<Tab>:set\ et! Växla\ tab-expandering<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Växla\ auto-indentering<Tab>:set\ ai! menutrans Toggle\ &auto-indent<Tab>:set\ ai! Växla\ auto-indentering<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Växla\ C-indentering<Tab>:set\ cin! menutrans Toggle\ &C-indenting<Tab>:set\ cin! Växla\ C-indentering<Tab>:set\ cin!
menutrans &Shiftwidth &Shiftbredd menutrans &Shiftwidth Shiftbredd
menutrans Soft\ &Tabstop Mjuka\ &Tabbstopp menutrans Soft &Tabstop Mjuk tab-stopp
menutrans Te&xt\ Width\.\.\. Textbredd\.\.\. menutrans Te&xt\ Width\.\.\. Textbredd\.\.\.
menutrans &File\ Format\.\.\. Filformat\.\.\. menutrans &File\ Format\.\.\. Filformat\.\.\.
@ -127,7 +127,7 @@ menutrans &Close\ all\ folds<Tab>zM St
menutrans O&pen\ more\ folds<Tab>zr Öppna\ mer\ veck<Tab>zr menutrans O&pen\ more\ folds<Tab>zr Öppna\ mer\ veck<Tab>zr
menutrans &Open\ all\ folds<Tab>zR Öppna\ mer\ veck<Tab>zR menutrans &Open\ all\ folds<Tab>zR Öppna\ mer\ veck<Tab>zR
menutrans Fold\ Met&hod Veckmetod menutrans Fold\ Met&hod Veckmetod
menutrans M&anual Manuell menutrans M&anual Manual
menutrans I&ndent Indentering menutrans I&ndent Indentering
menutrans E&xpression Uttryck menutrans E&xpression Uttryck
menutrans S&yntax Syntax menutrans S&yntax Syntax
@ -221,17 +221,15 @@ if has("toolbar")
endif endif
" Syntax menu " Syntax menu
menutrans &Syntax &Syntax menutrans &Syntax &Syntax
menutrans Set\ '&syntax'\ only Sätt\ bara\ 'syntax' menutrans &Show\ filetypes\ in\ menu &Visa\ filtyper\ i\ meny
menutrans Set\ '&filetype'\ too Sätt\ 'filetype'\ också menutrans &Off &Av
menutrans &Off &Av menutrans &Manual &Manuellt
menutrans &Manual &Manual menutrans A&utomatic Automatiskt
menutrans A&utomatic Automatiskt
menutrans on/off\ for\ &This\ file Av/\ för\ aktuell\ fil menutrans on/off\ for\ &This\ file Av/\ för\ aktuell\ fil
menutrans Co&lor\ test Färgtest menutrans Co&lor\ test Färgtest
menutrans &Highlight\ test Framhävningstest menutrans &Highlight\ test Framhävningstest
menutrans &Convert\ to\ HTML Konvertera\ till\ &HTML menutrans &Convert\ to\ HTML Konvertera\ till\ &HTML
menutrans &Show\ individual\ choices Visa\ individuella\ val
" dialog texts " dialog texts
let menutrans_no_file = "[Ingen fil]" let menutrans_no_file = "[Ingen fil]"

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2352,7 +2352,7 @@
! SFX 3 o ist's o ! SFX 3 o ist's o
! SFX 3 0 ist's [^eoy] ! SFX 3 0 ist's [^eoy]
*** en_AU.orig.dic Fri Apr 15 13:20:36 2005 *** en_AU.orig.dic Fri Apr 15 13:20:36 2005
--- en_AU.dic Tue Aug 16 17:03:44 2005 --- en_AU.dic Sat Oct 8 15:54:05 2005
*************** ***************
*** 912,914 **** *** 912,914 ****
Alaska/M Alaska/M
@ -2419,11 +2419,17 @@
ea ea
--- 12518,12519 ---- --- 12518,12519 ----
*************** ***************
*** 12792,12794 ****
e.g.
- e.g..
egad
--- 12793,12794 ----
***************
*** 13779,13781 **** *** 13779,13781 ****
estuary/MS estuary/MS
! et ! et
ETA ETA
--- 13780,13783 ---- --- 13779,13782 ----
estuary/MS estuary/MS
! et cetera ! et cetera
! et al. ! et al.
@ -2433,7 +2439,7 @@
fjord/SM fjord/SM
! f/K ! f/K
flab/2zZM flab/2zZM
--- 15298,15300 ---- --- 15297,15299 ----
fjord/SM fjord/SM
! pref ! pref
flab/2zZM flab/2zZM
@ -2442,19 +2448,19 @@
FYI FYI
- g/7 - g/7
gabardine/SM gabardine/SM
--- 16482,16483 ---- --- 16481,16482 ----
*************** ***************
*** 18599,18601 **** *** 18599,18601 ****
HDTV HDTV
- h/E - h/E
headache/SM headache/SM
--- 18600,18601 ---- --- 18599,18600 ----
*************** ***************
*** 19214,19216 **** *** 19214,19216 ****
Hobbes Hobbes
! hobbit ! hobbit
hobble/RGSD hobble/RGSD
--- 19214,19216 ---- --- 19213,19215 ----
Hobbes Hobbes
! hobbit/MS ! hobbit/MS
hobble/RGSD hobble/RGSD
@ -2463,34 +2469,34 @@
jive/DSMG jive/DSMG
- j/k - j/k
jnr. jnr.
--- 21791,21792 ---- --- 21790,21791 ----
*************** ***************
*** 22125,22127 **** *** 22125,22127 ****
kcal kcal
- k/E - k/E
Keane Keane
--- 22124,22125 ---- --- 22123,22124 ----
*************** ***************
*** 22606,22608 **** *** 22606,22608 ****
Kyushu/M Kyushu/M
- l/3 - l/3
label/AGaSD label/AGaSD
--- 22604,22605 ---- --- 22603,22604 ----
*************** ***************
*** 22885,22887 **** *** 22885,22887 ****
lass/SM lass/SM
- last-ditch - last-ditch
lasted/e lasted/e
--- 22882,22883 ---- --- 22881,22882 ----
*************** ***************
*** 22890,22892 **** *** 22890,22892 ****
last/kJYDSG last/kJYDSG
- last-minute - last-minute
lasts/e lasts/e
--- 22886,22887 ---- --- 22885,22886 ----
*************** ***************
*** 26417,26418 **** *** 26417,26418 ****
--- 26412,26414 ---- --- 26411,26413 ----
Moolawatana Moolawatana
+ Moolenaar/M + Moolenaar/M
Moomba Moomba
@ -2501,7 +2507,7 @@
nationhood/M nationhood/M
! nation/M ! nation/M
nationwide nationwide
--- 27184,27188 ---- --- 27183,27187 ----
nationals/4 nationals/4
! national/sQq3SZ ! national/sQq3SZ
nationhood/M nationhood/M
@ -2509,7 +2515,7 @@
nationwide nationwide
*************** ***************
*** 27194,27195 **** *** 27194,27195 ****
--- 27190,27193 ---- --- 27189,27192 ----
nativity/MS nativity/MS
+ natively + natively
+ nativeness + nativeness
@ -2519,28 +2525,28 @@
nuzzle/SDG nuzzle/SDG
- n/xvuNVn - n/xvuNVn
Nyah Nyah
--- 28363,28364 ---- --- 28362,28363 ----
*************** ***************
*** 29464,29466 **** *** 29464,29466 ****
oz oz
- o/z - o/z
Ozark/MS Ozark/MS
--- 29461,29462 ---- --- 29460,29461 ----
*************** ***************
*** 31035,31037 **** *** 31035,31037 ****
Pk Pk
- p/KF - p/KF
pl. pl.
--- 31031,31032 ---- --- 31030,31031 ----
*************** ***************
*** 31288,31289 **** *** 31288,31289 ****
--- 31283,31285 ---- --- 31282,31284 ----
pneumonia/MS pneumonia/MS
+ pneumonic + pneumonic
PO PO
*************** ***************
*** 31460,31461 **** *** 31460,31461 ****
--- 31456,31458 ---- --- 31455,31457 ----
pompom/MS pompom/MS
+ pompon/M + pompon/M
pomposity/MS pomposity/MS
@ -2549,25 +2555,25 @@
pyx/S pyx/S
- q - q
Qatar Qatar
--- 32862,32863 ---- --- 32861,32862 ----
*************** ***************
*** 33378,33380 **** *** 33378,33380 ****
razzmatazz razzmatazz
- r/d - r/d
Rd/M Rd/M
--- 33374,33375 ---- --- 33373,33374 ----
*************** ***************
*** 34979,34981 **** *** 34979,34981 ****
RSPCA RSPCA
- rte - rte
rub-a-dub rub-a-dub
--- 34974,34975 ---- --- 34973,34974 ----
*************** ***************
*** 36012,36014 **** *** 36012,36014 ****
sec. sec.
! s/eca ! s/eca
secant/MS secant/MS
--- 36006,36008 ---- --- 36005,36007 ----
sec. sec.
! outs ! outs
secant/MS secant/MS
@ -2576,7 +2582,7 @@
Szechwan/M Szechwan/M
! t/7k ! t/7k
Ta Ta
--- 40236,40238 ---- --- 40235,40237 ----
Szechwan/M Szechwan/M
! tingly ! tingly
Ta Ta
@ -2585,10 +2591,10 @@
Tyson/M Tyson/M
- u - u
ubiquitousness ubiquitousness
--- 42610,42611 ---- --- 42609,42610 ----
*************** ***************
*** 42990,42991 **** *** 42990,42991 ****
--- 42983,42985 ---- --- 42982,42984 ----
unscrupulous unscrupulous
+ searchable + searchable
unsearchable unsearchable
@ -2597,13 +2603,13 @@
Uzi/M Uzi/M
- v - v
vacancy/MS vacancy/MS
--- 43246,43247 ---- --- 43245,43246 ----
*************** ***************
*** 43749,43751 **** *** 43749,43751 ****
Vilnius/M Vilnius/M
! vim/M ! vim/M
vinaigrette/MS vinaigrette/MS
--- 43742,43745 ---- --- 43741,43744 ----
Vilnius/M Vilnius/M
! Vim/M ! Vim/M
! vim/? ! vim/?
@ -2613,16 +2619,16 @@
yippee yippee
- y/K - y/K
YMCA YMCA
--- 45488,45489 ---- --- 45487,45488 ----
*************** ***************
*** 45586,45588 **** *** 45586,45588 ****
zap/SGRD zap/SGRD
- z/d - z/d
Zealanders Zealanders
--- 45579,45580 ---- --- 45578,45579 ----
*************** ***************
*** 45655 **** *** 45655 ****
--- 45647,45654 ---- --- 45646,45653 ----
zymurgy/S zymurgy/S
+ nd + nd
+ the the/! + the the/!

View File

@ -165,7 +165,7 @@
! SFX G 0 ing [^e] ! SFX G 0 ing [^e]
*** en_CA.orig.dic Sat Apr 16 14:40:06 2005 *** en_CA.orig.dic Sat Apr 16 14:40:06 2005
--- en_CA.dic Tue Aug 16 17:03:55 2005 --- en_CA.dic Sat Oct 8 15:54:16 2005
*************** ***************
*** 46,48 **** *** 46,48 ****
R/G R/G
@ -437,7 +437,7 @@
felicitous/IY felicitous/IY
*************** ***************
*** 62341 **** *** 62341 ****
--- 62343,62350 ---- --- 62343,62351 ----
data/M data/M
+ et al. + et al.
+ the the/! + the the/!
@ -446,3 +446,4 @@
+ an a/! + an a/!
+ an an/! + an an/!
+ PayPal + PayPal
+ e.g.

View File

@ -195,7 +195,7 @@
+ REP a_an a + REP a_an a
+ REP a_an an + REP a_an an
*** en_US.orig.dic Fri Apr 15 13:20:36 2005 *** en_US.orig.dic Fri Apr 15 13:20:36 2005
--- en_US.dic Wed Sep 21 11:36:06 2005 --- en_US.dic Sat Oct 8 15:54:26 2005
*************** ***************
*** 5944,5946 **** *** 5944,5946 ****
bk bk
@ -565,7 +565,7 @@
Zubenelgenubi/M Zubenelgenubi/M
*************** ***************
*** 62077 **** *** 62077 ****
--- 62077,62088 ---- --- 62077,62089 ----
zymurgy/S zymurgy/S
+ nd + nd
+ the the/! + the the/!
@ -578,3 +578,4 @@
+ a the/! + a the/!
+ an the/! + an the/!
+ PayPal + PayPal
+ e.g.

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: Perl " Language: Perl
" Maintainer: Nick Hibma <n_hibma@van-laarhoven.org> " Maintainer: Nick Hibma <n_hibma@van-laarhoven.org>
" Last Change: 2004 Aug 29 " Last Change: 2005 Oct 06
" Location: http://www.van-laarhoven.org/vim/syntax/perl.vim " Location: http://www.van-laarhoven.org/vim/syntax/perl.vim
" "
" Please download most recent version first before mailing " Please download most recent version first before mailing
@ -87,11 +87,10 @@ else
endif endif
syn keyword perlOperator defined undef and or not bless ref syn keyword perlOperator defined undef and or not bless ref
if exists("perl_fold") if exists("perl_fold")
" if BEGIN/END is a keyword the perlBEGINENDFold does not work " if BEGIN/END would be a keyword the perlBEGINENDFold does not work
syn match perlControl "\<BEGIN\>" contained syn match perlControl "\<BEGIN\|CHECK\|INIT\|END\>" contained
syn match perlControl "\<END\>" contained
else else
syn keyword perlControl BEGIN END syn keyword perlControl BEGIN END CHECK INIT
endif endif
syn keyword perlStatementStorage my local our syn keyword perlStatementStorage my local our
@ -182,7 +181,7 @@ syn match perlFiledescStatement "\u\w*" contained
" Special characters in strings and matches " Special characters in strings and matches
syn match perlSpecialString "\\\(\d\+\|[xX]\x\+\|c\u\|.\)" contained syn match perlSpecialString "\\\(\d\+\|[xX]\x\+\|c\u\|.\)" contained
syn match perlSpecialStringU "\\['\\]" contained syn match perlSpecialStringU "\\['\\]" contained
syn match perlSpecialMatch "{\d\(,\d\)\=}" contained syn match perlSpecialMatch "{\d\+\(,\(\d\+\)\=\)\=}" contained
syn match perlSpecialMatch "\[\(\]\|-\)\=[^\[\]]*\(\[\|\-\)\=\]" contained syn match perlSpecialMatch "\[\(\]\|-\)\=[^\[\]]*\(\[\|\-\)\=\]" contained
syn match perlSpecialMatch "[+*()?.]" contained syn match perlSpecialMatch "[+*()?.]" contained
syn match perlSpecialMatch "(?[#:=!]" contained syn match perlSpecialMatch "(?[#:=!]" contained
@ -389,7 +388,7 @@ endif
if exists("perl_fold") if exists("perl_fold")
syn region perlPackageFold start="^package \S\+;$" end="^1;$" end="\n\+package"me=s-1 transparent fold keepend syn region perlPackageFold start="^package \S\+;$" end="^1;$" end="\n\+package"me=s-1 transparent fold keepend
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*$" end="^\z1}\s*\#.*$" transparent fold keepend syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*$" end="^\z1}\s*\#.*$" transparent fold keepend
syn region perlBEGINENDFold start="^\z(\s*\)\<\(BEGIN\|END\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend syn region perlBEGINENDFold start="^\z(\s*\)\<\(BEGIN\|END\|CHECK\|INIT\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
if exists("perl_fold_blocks") if exists("perl_fold_blocks")
syn region perlIfFold start="^\z(\s*\)\(if\|unless\|for\|while\|until\)\s*(.*)\s*{\s*$" start="^\z(\s*\)foreach\s*\(\(my\|our\)\=\s*\S\+\s*\)\=(.*)\s*{\s*$" end="^\z1}\s*;\=$" transparent fold keepend syn region perlIfFold start="^\z(\s*\)\(if\|unless\|for\|while\|until\)\s*(.*)\s*{\s*$" start="^\z(\s*\)foreach\s*\(\(my\|our\)\=\s*\S\+\s*\)\=(.*)\s*{\s*$" end="^\z1}\s*;\=$" transparent fold keepend

View File

@ -1,9 +1,8 @@
" Vim syntax file " Vim syntax file
" Filename: ratpoison.vim
" Language: Ratpoison configuration/commands file ( /etc/ratpoisonrc ~/.ratpoisonrc ) " Language: Ratpoison configuration/commands file ( /etc/ratpoisonrc ~/.ratpoisonrc )
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au> " Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/ratpoison.vim " URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/ratpoison.vim
" Last Change: 2004 Nov 27 " Last Change: 2005 Oct 06
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -21,26 +20,27 @@ syn case ignore
syn keyword ratpoisonBooleanArg on off contained syn keyword ratpoisonBooleanArg on off contained
syn case match syn case match
syn keyword ratpoisonCommandArg abort addhook alias banish bind contained syn keyword ratpoisonCommandArg abort addhook alias banish chdir contained
syn keyword ratpoisonCommandArg chdir clrunmanaged colon curframe defbarborder contained syn keyword ratpoisonCommandArg clrunmanaged cnext colon compat cother contained
syn keyword ratpoisonCommandArg defbargravity defbarpadding defbgcolor defborder deffgcolor contained syn keyword ratpoisonCommandArg cprev curframe dedicate definekey delete contained
syn keyword ratpoisonCommandArg deffont defframesels definekey definputwidth defmaxsizegravity contained syn keyword ratpoisonCommandArg delkmap describekey echo escape exec contained
syn keyword ratpoisonCommandArg defpadding defresizeunit deftransgravity defwaitcursor defwinfmt contained syn keyword ratpoisonCommandArg fdump focus focusdown focuslast focusleft contained
syn keyword ratpoisonCommandArg defwingravity defwinliststyle defwinname delete delkmap contained syn keyword ratpoisonCommandArg focusprev focusright focusup frestore fselect contained
syn keyword ratpoisonCommandArg echo escape exec fdump focus contained syn keyword ratpoisonCommandArg gdelete getenv getsel gmerge gmove contained
syn keyword ratpoisonCommandArg focusdown focuslast focusleft focusright focusup contained syn keyword ratpoisonCommandArg gnew gnewbg gnext gprev gravity contained
syn keyword ratpoisonCommandArg frestore fselect gdelete getenv gmerge contained syn keyword ratpoisonCommandArg groups gselect help hsplit inext contained
syn keyword ratpoisonCommandArg gmove gnew gnewbg gnext gprev contained syn keyword ratpoisonCommandArg info iother iprev kill lastmsg contained
syn keyword ratpoisonCommandArg gravity groups gselect help hsplit contained syn keyword ratpoisonCommandArg license link listhook meta msgwait contained
syn keyword ratpoisonCommandArg info kill lastmsg license link contained syn keyword ratpoisonCommandArg newkmap newwm next nextscreen number contained
syn keyword ratpoisonCommandArg listhook meta msgwait newkmap newwm contained syn keyword ratpoisonCommandArg only other prev prevscreen prompt contained
syn keyword ratpoisonCommandArg next nextscreen number only other contained syn keyword ratpoisonCommandArg putsel quit ratclick rathold ratrelwarp contained
syn keyword ratpoisonCommandArg prev prevscreen quit readkey redisplay contained syn keyword ratpoisonCommandArg ratwarp readkey redisplay redo remhook contained
syn keyword ratpoisonCommandArg remhook remove resize restart rudeness contained syn keyword ratpoisonCommandArg remove resize restart rudeness sdump contained
syn keyword ratpoisonCommandArg select setenv shrink source split contained syn keyword ratpoisonCommandArg select set setenv sfdump shrink contained
syn keyword ratpoisonCommandArg startup_message time title tmpwm unalias contained syn keyword ratpoisonCommandArg source sselect startup_message time title contained
syn keyword ratpoisonCommandArg unbind unmanage unsetenv verbexec version contained syn keyword ratpoisonCommandArg tmpwm unalias undefinekey undo unmanage contained
syn keyword ratpoisonCommandArg vsplit warp windows syn case ignore contained syn keyword ratpoisonCommandArg unsetenv verbexec version vsplit warp contained
syn keyword ratpoisonCommandArg windows contained
syn match ratpoisonGravityArg "\<\(n\|north\)\>" contained syn match ratpoisonGravityArg "\<\(n\|north\)\>" contained
syn match ratpoisonGravityArg "\<\(nw\|northwest\)\>" contained syn match ratpoisonGravityArg "\<\(nw\|northwest\)\>" contained
@ -139,8 +139,10 @@ syn match ratpoisonStringCommand "^\s*\zsalias\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsbind\ze\s*" nextgroup=ratpoisonKeySeqArg syn match ratpoisonStringCommand "^\s*\zsbind\ze\s*" nextgroup=ratpoisonKeySeqArg
syn match ratpoisonStringCommand "^\s*\zschdir\ze\s*" syn match ratpoisonStringCommand "^\s*\zschdir\ze\s*"
syn match ratpoisonStringCommand "^\s*\zscolon\ze\s*" nextgroup=ratpoisonCommandArg syn match ratpoisonStringCommand "^\s*\zscolon\ze\s*" nextgroup=ratpoisonCommandArg
syn match ratpoisonStringCommand "^\s*\zsdedicate\ze\s*" nextgroup=ratpoisonNumberArg
syn match ratpoisonStringCommand "^\s*\zsdefinekey\ze\s*" syn match ratpoisonStringCommand "^\s*\zsdefinekey\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsdelkmap\ze\s*" syn match ratpoisonStringCommand "^\s*\zsdelkmap\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsdescribekey\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsecho\ze\s*" syn match ratpoisonStringCommand "^\s*\zsecho\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsescape\ze\s*" nextgroup=ratpoisonKeySeqArg syn match ratpoisonStringCommand "^\s*\zsescape\ze\s*" nextgroup=ratpoisonKeySeqArg
syn match ratpoisonStringCommand "^\s*\zsexec\ze\s*" syn match ratpoisonStringCommand "^\s*\zsexec\ze\s*"
@ -155,6 +157,11 @@ syn match ratpoisonStringCommand "^\s*\zslisthook\ze\s*" nextgroup=ratpoisonH
syn match ratpoisonStringCommand "^\s*\zsnewkmap\ze\s*" syn match ratpoisonStringCommand "^\s*\zsnewkmap\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsnewwm\ze\s*" syn match ratpoisonStringCommand "^\s*\zsnewwm\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsnumber\ze\s*" nextgroup=ratpoisonNumberArg syn match ratpoisonStringCommand "^\s*\zsnumber\ze\s*" nextgroup=ratpoisonNumberArg
syn match ratpoisonStringCommand "^\s*\zsprompt\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsratwarp\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsratrelwarp\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsratclick\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsrathold\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsreadkey\ze\s*" syn match ratpoisonStringCommand "^\s*\zsreadkey\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsremhook\ze\s*" nextgroup=ratpoisonHookArg syn match ratpoisonStringCommand "^\s*\zsremhook\ze\s*" nextgroup=ratpoisonHookArg
syn match ratpoisonStringCommand "^\s*\zsresize\ze\s*" nextgroup=ratpoisonNumberArg syn match ratpoisonStringCommand "^\s*\zsresize\ze\s*" nextgroup=ratpoisonNumberArg
@ -162,11 +169,13 @@ syn match ratpoisonStringCommand "^\s*\zsrudeness\ze\s*" nextgroup=ratpoisonN
syn match ratpoisonStringCommand "^\s*\zsselect\ze\s*" nextgroup=ratpoisonNumberArg syn match ratpoisonStringCommand "^\s*\zsselect\ze\s*" nextgroup=ratpoisonNumberArg
syn match ratpoisonStringCommand "^\s*\zssetenv\ze\s*" syn match ratpoisonStringCommand "^\s*\zssetenv\ze\s*"
syn match ratpoisonStringCommand "^\s*\zssource\ze\s*" syn match ratpoisonStringCommand "^\s*\zssource\ze\s*"
syn match ratpoisonStringCommand "^\s*\zssselect\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsstartup_message\ze\s*" nextgroup=ratpoisonBooleanArg syn match ratpoisonStringCommand "^\s*\zsstartup_message\ze\s*" nextgroup=ratpoisonBooleanArg
syn match ratpoisonStringCommand "^\s*\zstitle\ze\s*" syn match ratpoisonStringCommand "^\s*\zstitle\ze\s*"
syn match ratpoisonStringCommand "^\s*\zstmpwm\ze\s*" syn match ratpoisonStringCommand "^\s*\zstmpwm\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsunalias\ze\s*" syn match ratpoisonStringCommand "^\s*\zsunalias\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsunbind\ze\s*" nextgroup=ratpoisonKeySeqArg syn match ratpoisonStringCommand "^\s*\zsunbind\ze\s*" nextgroup=ratpoisonKeySeqArg
syn match ratpoisonStringCommand "^\s*\zsundefinekey\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsunmanage\ze\s*" syn match ratpoisonStringCommand "^\s*\zsunmanage\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsunsetenv\ze\s*" syn match ratpoisonStringCommand "^\s*\zsunsetenv\ze\s*"
syn match ratpoisonStringCommand "^\s*\zsverbexec\ze\s*" syn match ratpoisonStringCommand "^\s*\zsverbexec\ze\s*"
@ -175,15 +184,21 @@ syn match ratpoisonStringCommand "^\s*\zswarp\ze\s*" nextgroup=ratpoisonBoole
syn match ratpoisonVoidCommand "^\s*\zsabort\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsabort\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsbanish\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsbanish\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsclrunmanaged\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsclrunmanaged\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zscnext\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zscompat\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zscother\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zscprev\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zscurframe\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zscurframe\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsdelete\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsdelete\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocusdown\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsfocusdown\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocuslast\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsfocuslast\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocusleft\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsfocusleft\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocusprev\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocusright\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsfocusright\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocus\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocusup\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsfocusup\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfocus\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsfselect\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsfselect\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsgetsel\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsgmerge\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsgmerge\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsgmove\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsgmove\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsgnewbg\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsgnewbg\ze\s*$"
@ -193,24 +208,32 @@ syn match ratpoisonVoidCommand "^\s*\zsgprev\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsgroups\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsgroups\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zshelp\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zshelp\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zshsplit\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zshsplit\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsinext\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsinfo\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsinfo\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsiother\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsiprev\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zskill\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zskill\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zslastmsg\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zslastmsg\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zslicense\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zslicense\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsmeta\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsmeta\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsnext\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsnextscreen\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsnextscreen\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsnext\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsonly\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsonly\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsother\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsother\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsprev\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsprevscreen\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsprevscreen\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsprev\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsputsel\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsquit\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsquit\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsredisplay\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsredisplay\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsredo\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsremove\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsremove\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsrestart\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsrestart\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zssdump\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zssfdump\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsshrink\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsshrink\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zssplit\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zssplit\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zstime\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zstime\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsundo\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsversion\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsversion\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zsvsplit\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zsvsplit\ze\s*$"
syn match ratpoisonVoidCommand "^\s*\zswindows\ze\s*$" syn match ratpoisonVoidCommand "^\s*\zswindows\ze\s*$"

View File

@ -91,13 +91,13 @@ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(RUBY_VERSI
"syn match rubyPredefinedConstant "\%(::\)\=\zs\%(NotImplementError\)\>" "syn match rubyPredefinedConstant "\%(::\)\=\zs\%(NotImplementError\)\>"
" Normal Regular Expression " Normal Regular Expression
syn region rubyString matchgroup=rubyStringDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\)\|[\~=!|&(,[]\)\s*\)\@<=/" end="/[iomx]*" skip="\\\\\|\\/" contains=@rubyStringSpecial syn region rubyString matchgroup=rubyStringDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\)\|[;\~=!|&(,[>]\)\s*\)\@<=/" end="/[iomx]*" skip="\\\\\|\\/" contains=@rubyStringSpecial
syn region rubyString matchgroup=rubyStringDelimiter start="\%(\<\%(split\|scan\|gsub\|sub\)\s*\)\@<=/" end="/[iomx]*" skip="\\\\\|\\/" contains=@rubyStringSpecial syn region rubyString matchgroup=rubyStringDelimiter start="\%(\<\%(split\|scan\|gsub\|sub\)\s*\)\@<=/" end="/[iomx]*" skip="\\\\\|\\/" contains=@rubyStringSpecial
" Normal String and Shell Command Output " Normal String and Shell Command Output
syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial
syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'"
syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial
" Generalized Regular Expression " Generalized Regular Expression
syn region rubyString matchgroup=rubyStringDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomx]*" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold syn region rubyString matchgroup=rubyStringDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomx]*" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
@ -139,19 +139,19 @@ syn region rubyString start=+\%(\%(class\s*\|\%(\.\|::\)\)\_s*\)\@<!<<-'\z([^']*
syn region rubyString start=+\%(\%(class\s*\|\%(\.\|::\)\)\_s*\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial nextgroup=rubyFunction fold keepend syn region rubyString start=+\%(\%(class\s*\|\%(\.\|::\)\)\_s*\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial nextgroup=rubyFunction fold keepend
if exists('main_syntax') && main_syntax == 'eruby' if exists('main_syntax') && main_syntax == 'eruby'
let ruby_no_expensive = 1 let b:ruby_no_expensive = 1
end end
" Expensive Mode - colorize *end* according to opening statement " Expensive Mode - colorize *end* according to opening statement
if !exists("ruby_no_expensive") if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
syn region rubyFunction matchgroup=rubyDefine start="\<def\s\+" end="\ze\%(\s\|(\|;\|$\)" oneline syn region rubyFunction matchgroup=rubyDefine start="\<def\s\+" end="\%(\s*\%(\s\|(\|;\|$\|#\)\)\@=" oneline
syn region rubyClass matchgroup=rubyDefine start="\<class\s\+" end="\ze\%(\s\|<\|;\|$\)" oneline syn region rubyClass matchgroup=rubyDefine start="\<class\s\+" end="\%(\s*\%(\s\|<\|;\|$\|#\)\)\@=" oneline
syn match rubyDefine "\<class\ze<<" syn match rubyDefine "\<class\ze<<"
syn region rubyModule matchgroup=rubyDefine start="\<module\s\+" end="\ze\%(\s\|;\|$\)" oneline syn region rubyModule matchgroup=rubyDefine start="\<module\s\+" end="\%(\s*\%(\s\|;\|$\|#\)\)\@=" oneline
syn region rubyBlock start="\<def\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo nextgroup=rubyFunction fold syn region rubyBlock start="\<def\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo nextgroup=rubyFunction fold
syn region rubyBlock start="\<class\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo nextgroup=rubyClass fold syn region rubyBlock start="\<class\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo nextgroup=rubyClass fold
syn region rubyBlock start="\<module\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo nextgroup=rubyModule fold syn region rubyBlock start="\<module\>" matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,@rubyExtendedStringSpecial,rubyTodo nextgroup=rubyModule fold
" modifiers " modifiers
syn match rubyControl "\<\%(if\|unless\|while\|until\)\>" display syn match rubyControl "\<\%(if\|unless\|while\|until\)\>" display
@ -178,7 +178,7 @@ else
syn region rubyFunction matchgroup=rubyControl start="\<def\s\+" end="\ze\%(\s\|(\|;\|$\)" oneline syn region rubyFunction matchgroup=rubyControl start="\<def\s\+" end="\ze\%(\s\|(\|;\|$\)" oneline
syn region rubyClass matchgroup=rubyControl start="\<class\s\+" end="\ze\%(\s\|<\|;\|$\)" oneline syn region rubyClass matchgroup=rubyControl start="\<class\s\+" end="\ze\%(\s\|<\|;\|$\)" oneline
syn match rubyControl "\<class\ze<<" syn match rubyControl "\<class\ze<<"
syn region rubyModule matchgroup=rubyControl start="\<module\s\+" end="\ze\%(\s\|;\|$\)" oneline syn region rubyModule matchgroup=rubyControl start="\<module\s\+" end="\ze\%(\s\|;\|$\)" oneline
syn keyword rubyControl case begin do for if unless while until end syn keyword rubyControl case begin do for if unless while until end
endif endif
@ -197,7 +197,7 @@ if !exists("ruby_no_special_methods")
syn keyword rubyAccess public protected private syn keyword rubyAccess public protected private
syn keyword rubyAttribute attr attr_accessor attr_reader attr_writer syn keyword rubyAttribute attr attr_accessor attr_reader attr_writer
syn match rubyControl "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>\)" syn match rubyControl "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>\)"
syn keyword rubyEval eval class_eval instance_eval module_eval syn keyword rubyEval eval class_eval instance_eval module_eval
syn keyword rubyException raise fail catch throw syn keyword rubyException raise fail catch throw
syn keyword rubyInclude autoload extend include load require syn keyword rubyInclude autoload extend include load require
syn keyword rubyKeyword callcc caller lambda proc syn keyword rubyKeyword callcc caller lambda proc
@ -205,7 +205,7 @@ endif
" Comments and Documentation " Comments and Documentation
syn match rubySharpBang "\%^#!.*" display syn match rubySharpBang "\%^#!.*" display
syn keyword rubyTodo FIXME NOTE TODO XXX contained syn keyword rubyTodo FIXME NOTE TODO XXX contained
syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell
syn region rubyDocumentation start="^=begin" end="^=end.*$" contains=rubySpaceError,rubyTodo,@Spell fold syn region rubyDocumentation start="^=begin" end="^=end.*$" contains=rubySpaceError,rubyTodo,@Spell fold

View File

@ -1,9 +1,8 @@
" Vim syntax file " Vim syntax file
" Filename: tidy.vim
" Language: HMTL Tidy configuration file ( /etc/tidyrc ~/.tidyrc ) " Language: HMTL Tidy configuration file ( /etc/tidyrc ~/.tidyrc )
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au> " Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/tidy.vim " URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/tidy.vim
" Last Change: 2004 Nov 27 " Last Change: 2005 Oct 06
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -33,14 +32,16 @@ syn match tidyNewTagValue "\<\w\+\>" contained
syn case ignore syn case ignore
syn keyword tidyBoolean t[rue] f[alse] y[es] n[o] contained syn keyword tidyBoolean t[rue] f[alse] y[es] n[o] contained
syn case match syn case match
syn match tidyDoctype "\<omit\|auto\|strict\|loose\|transitional\>" contained syn match tidyDoctype "\<omit\|auto\|strict\|loose\|transitional\|user\>" contained
" NOTE: use match rather than keyword here so that tidyEncoding raw does not always have precedence over tidyOption raw " NOTE: use match rather than keyword here so that tidyEncoding 'raw' does not
syn match tidyEncoding "\<\(ascii\|latin1\|raw\|utf8\|iso2022\|mac\|utf16le\|utf16be\|utf16\|win1252\|big5\|shiftjis\)\>" contained " always have precedence over tidyOption 'raw'
syn match tidyEncoding "\<\(ascii\|latin0\|latin1\|raw\|utf8\|iso2022\|mac\|utf16le\|utf16be\|utf16\|win1252\|ibm858\|big5\|shiftjis\)\>" contained
syn match tidyNewline "\<\(LF\|CRLF\|CR\)\>"
syn match tidyNumber "\<\d\+\>" contained syn match tidyNumber "\<\d\+\>" contained
syn match tidyRepeat "\<keep-first\|keep-last\>" contained syn match tidyRepeat "\<keep-first\|keep-last\>" contained
syn region tidyString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline syn region tidyString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
syn region tidyString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline syn region tidyString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
syn cluster tidyValue contains=tidyBoolean,tidyDoctype,tidyEncoding,tidyNumber,tidyRepeat,tidyString syn cluster tidyValue contains=tidyBoolean,tidyDoctype,tidyEncoding,tidyNewline,tidyNumber,tidyRepeat,tidyString
syn match tidyOption "^accessibility-check" contained syn match tidyOption "^accessibility-check" contained
syn match tidyOption "^add-xml-decl" contained syn match tidyOption "^add-xml-decl" contained
@ -55,6 +56,7 @@ syn match tidyOption "^char-encoding" contained
syn match tidyOption "^clean" contained syn match tidyOption "^clean" contained
syn match tidyOption "^css-prefix" contained syn match tidyOption "^css-prefix" contained
syn match tidyOption "^doctype" contained syn match tidyOption "^doctype" contained
syn match tidyOption "^doctype-mode" contained
syn match tidyOption "^drop-empty-paras" contained syn match tidyOption "^drop-empty-paras" contained
syn match tidyOption "^drop-font-tags" contained syn match tidyOption "^drop-font-tags" contained
syn match tidyOption "^drop-proprietary-attributes" contained syn match tidyOption "^drop-proprietary-attributes" contained
@ -67,6 +69,7 @@ syn match tidyOption "^fix-bad-comments" contained
syn match tidyOption "^fix-uri" contained syn match tidyOption "^fix-uri" contained
syn match tidyOption "^force-output" contained syn match tidyOption "^force-output" contained
syn match tidyOption "^gnu-emacs" contained syn match tidyOption "^gnu-emacs" contained
syn match tidyOption "^gnu-emacs-file" contained
syn match tidyOption "^hide-comments" contained syn match tidyOption "^hide-comments" contained
syn match tidyOption "^hide-endtags" contained syn match tidyOption "^hide-endtags" contained
syn match tidyOption "^indent" contained syn match tidyOption "^indent" contained
@ -83,13 +86,17 @@ syn match tidyOption "^literal-attributes" contained
syn match tidyOption "^logical-emphasis" contained syn match tidyOption "^logical-emphasis" contained
syn match tidyOption "^lower-literals" contained syn match tidyOption "^lower-literals" contained
syn match tidyOption "^markup" contained syn match tidyOption "^markup" contained
syn match tidyOption "^merge-divs" contained
syn match tidyOption "^ncr" contained syn match tidyOption "^ncr" contained
syn match tidyOption "^newline" contained
syn match tidyOption "^numeric-entities" contained syn match tidyOption "^numeric-entities" contained
syn match tidyOption "^output-bom" contained syn match tidyOption "^output-bom" contained
syn match tidyOption "^output-encoding" contained syn match tidyOption "^output-encoding" contained
syn match tidyOption "^output-file" contained
syn match tidyOption "^output-html" contained syn match tidyOption "^output-html" contained
syn match tidyOption "^output-xhtml" contained syn match tidyOption "^output-xhtml" contained
syn match tidyOption "^output-xml" contained syn match tidyOption "^output-xml" contained
syn match tidyOption "^punctuation-wrap" contained
syn match tidyOption "^quiet" contained syn match tidyOption "^quiet" contained
syn match tidyOption "^quote-ampersand" contained syn match tidyOption "^quote-ampersand" contained
syn match tidyOption "^quote-marks" contained syn match tidyOption "^quote-marks" contained
@ -115,6 +122,7 @@ syn match tidyOption "^wrap-php" contained
syn match tidyOption "^wrap-script-literals" contained syn match tidyOption "^wrap-script-literals" contained
syn match tidyOption "^wrap-sections" contained syn match tidyOption "^wrap-sections" contained
syn match tidyOption "^write-back" contained syn match tidyOption "^write-back" contained
syn match tidyOption "^vertical-space" contained
syn match tidyNewTagOption "^new-blocklevel-tags" contained syn match tidyNewTagOption "^new-blocklevel-tags" contained
syn match tidyNewTagOption "^new-empty-tags" contained syn match tidyNewTagOption "^new-empty-tags" contained
syn match tidyNewTagOption "^new-inline-tags" contained syn match tidyNewTagOption "^new-inline-tags" contained
@ -136,6 +144,7 @@ if version >= 508 || !exists("did_tidy_syn_inits")
HiLink tidyDelimiter Special HiLink tidyDelimiter Special
HiLink tidyDoctype Constant HiLink tidyDoctype Constant
HiLink tidyEncoding Constant HiLink tidyEncoding Constant
HiLink tidyNewline Constant
HiLink tidyNewTagDelimiter Special HiLink tidyNewTagDelimiter Special
HiLink tidyNewTagOption Identifier HiLink tidyNewTagOption Identifier
HiLink tidyNewTagValue Constant HiLink tidyNewTagValue Constant

View File

@ -19,8 +19,8 @@
kommandona! kommandona!
Försäkra dig nu om att din Caps-Lock tangent INTE är aktiv och tryck Försäkra dig nu om att din Caps-Lock tangent INTE är aktiv och tryck
j-tangenten tillräckligt många gången för att förflytta markören att j-tangenten tillräckligt många gånger för att förflytta markören att
Lektion 1.1 fyller skärmen skärmen helt. Lektion 1.1 fyller skärmen helt.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lektion 1.1: FLYTTA MARKÖREN Lektion 1.1: FLYTTA MARKÖREN

24458
src/Makefile

File diff suppressed because it is too large Load Diff

11
src/auto/configure vendored
View File

@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AWK STRIP CPP_MM OS_EXTRA_SRC OS_EXTRA_OBJ VIMNAME EXNAME VIEWNAME line_break dovimdiff dogvimdiff compiledby vi_cv_path_mzscheme MZSCHEME_SRC MZSCHEME_OBJ MZSCHEME_PRO MZSCHEME_LIBS MZSCHEME_CFLAGS vi_cv_path_perl vi_cv_perllib shrpenv PERL_SRC PERL_OBJ PERL_PRO PERL_CFLAGS PERL_LIBS vi_cv_path_python PYTHON_CONFDIR PYTHON_LIBS PYTHON_GETPATH_CFLAGS PYTHON_CFLAGS PYTHON_SRC PYTHON_OBJ vi_cv_path_tcl TCL_SRC TCL_OBJ TCL_PRO TCL_CFLAGS TCL_LIBS vi_cv_path_ruby RUBY_SRC RUBY_OBJ RUBY_PRO RUBY_CFLAGS RUBY_LIBS WORKSHOP_SRC WORKSHOP_OBJ NETBEANS_SRC NETBEANS_OBJ SNIFF_SRC SNIFF_OBJ xmkmfpath X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_LIB MOC KDE_CONFIG KDE_LIBS KDE_INCLUDES KDE_PREFIX CXX CXXFLAGS ac_ct_CXX QT_LIBS QT_INCLUDES ROOTQT GTK_CONFIG GTK12_CONFIG PKG_CONFIG GTK_CFLAGS GTK_LIBS GTK_LIBNAME GNOME_LIBS GNOME_LIBDIR GNOME_INCLUDEDIR GNOME_CONFIG MOTIF_LIBNAME NARROW_PROTO GUI_INC_LOC GUI_LIB_LOC GUITYPE GUI_X_LIBS HANGULIN_SRC HANGULIN_OBJ TAGPRG INSTALL_LANGS INSTALL_TOOL_LANGS MSGFMT MAKEMO LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AWK STRIP CPP_MM OS_EXTRA_SRC OS_EXTRA_OBJ VIMNAME EXNAME VIEWNAME line_break dovimdiff dogvimdiff compiledby vi_cv_path_mzscheme MZSCHEME_SRC MZSCHEME_OBJ MZSCHEME_PRO MZSCHEME_LIBS MZSCHEME_CFLAGS vi_cv_path_perl vi_cv_perllib shrpenv PERL_SRC PERL_OBJ PERL_PRO PERL_CFLAGS PERL_LIBS vi_cv_path_python PYTHON_CONFDIR PYTHON_LIBS PYTHON_GETPATH_CFLAGS PYTHON_CFLAGS PYTHON_SRC PYTHON_OBJ vi_cv_path_tcl TCL_SRC TCL_OBJ TCL_PRO TCL_CFLAGS TCL_LIBS vi_cv_path_ruby RUBY_SRC RUBY_OBJ RUBY_PRO RUBY_CFLAGS RUBY_LIBS WORKSHOP_SRC WORKSHOP_OBJ NETBEANS_SRC NETBEANS_OBJ SNIFF_SRC SNIFF_OBJ xmkmfpath X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_LIB MOC KDE_CONFIG KDE_LIBS KDE_INCLUDES KDE_PREFIX CXX CXXFLAGS ac_ct_CXX QT_LIBS QT_INCLUDES ROOTQT GTK_CONFIG GTK12_CONFIG PKG_CONFIG GTK_CFLAGS GTK_LIBS GTK_LIBNAME GNOME_LIBS GNOME_LIBDIR GNOME_INCLUDEDIR GNOME_CONFIG MOTIF_LIBNAME NARROW_PROTO GUI_INC_LOC GUI_LIB_LOC GUITYPE GUI_X_LIBS HANGULIN_SRC HANGULIN_OBJ TAGPRG INSTALL_LANGS INSTALL_TOOL_LANGS MSGFMT MAKEMO DEPEND_CFLAGS_FILTER LIBOBJS LTLIBOBJS'
ac_subst_files='' ac_subst_files=''
# Initialize some variables set by options. # Initialize some variables set by options.
@ -16048,6 +16048,14 @@ echo "${ECHO_T}no" >&6
fi fi
fi fi
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
gccmajor=`"$CC" --version | sed -e '2,$d;s/^[^0-9]*\([3-9]\)\.[0-9.]*.*$/\1/g'`
if test "$gccmajor" = ""; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
fi
fi
ac_config_files="$ac_config_files auto/config.mk:config.mk.in" ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
@ -16761,6 +16769,7 @@ s,@INSTALL_LANGS@,$INSTALL_LANGS,;t t
s,@INSTALL_TOOL_LANGS@,$INSTALL_TOOL_LANGS,;t t s,@INSTALL_TOOL_LANGS@,$INSTALL_TOOL_LANGS,;t t
s,@MSGFMT@,$MSGFMT,;t t s,@MSGFMT@,$MSGFMT,;t t
s,@MAKEMO@,$MAKEMO,;t t s,@MAKEMO@,$MAKEMO,;t t
s,@DEPEND_CFLAGS_FILTER@,$DEPEND_CFLAGS_FILTER,;t t
s,@LIBOBJS@,$LIBOBJS,;t t s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF CEOF

View File

@ -48,7 +48,8 @@ if test "$cross_compiling" = yes; then
(cross compiling doesn't work)]) (cross compiling doesn't work)])
fi fi
dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies.
dnl But gcc 3.1 changed the meaning! See near the end.
test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM) test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM)
if test -f ./toolcheck; then if test -f ./toolcheck; then
@ -3067,6 +3068,17 @@ if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
fi fi
fi fi
dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to
dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
dnl But only when making dependencies, cproto and lint don't take "-isystem".
DEPEND_CFLAGS_FILTER=
if test "$GCC" = yes; then
gccmajor=`"$CC" --version | sed -e '2,$d;s/^[[^0-9]]*\([[3-9]]\)\.[[0-9.]]*.*$/\1/g'`
if test "$gccmajor" != ""; then
DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
fi
fi
AC_SUBST(DEPEND_CFLAGS_FILTER)
dnl write output files dnl write output files
AC_OUTPUT(auto/config.mk:config.mk.in) AC_OUTPUT(auto/config.mk:config.mk.in)

View File

@ -3031,10 +3031,7 @@ ins_compl_get_exp(ini, dir)
#ifdef FEAT_COMPL_FUNC #ifdef FEAT_COMPL_FUNC
case CTRL_X_FUNCTION: case CTRL_X_FUNCTION:
case CTRL_X_OMNI: case CTRL_X_OMNI:
if (*compl_pattern == NUL) num_matches = expand_by_function(type, compl_pattern, &matches);
num_matches = 0;
else
num_matches = expand_by_function(type, compl_pattern, &matches);
if (num_matches > 0) if (num_matches > 0)
ins_compl_add_matches(num_matches, matches, dir); ins_compl_add_matches(num_matches, matches, dir);
break; break;

View File

@ -2880,7 +2880,7 @@ check_status(buf)
* If the file is readonly, give a warning message with the first change. * If the file is readonly, give a warning message with the first change.
* Don't do this for autocommands. * Don't do this for autocommands.
* Don't use emsg(), because it flushes the macro buffer. * Don't use emsg(), because it flushes the macro buffer.
* If we have undone all changes b_changed will be FALSE, but b_did_warn * If we have undone all changes b_changed will be FALSE, but "b_did_warn"
* will be TRUE. * will be TRUE.
*/ */
void void

View File

@ -6597,11 +6597,16 @@ set_bool_option(opt_idx, varp, value, opt_flags)
compatible_set(); compatible_set();
} }
/* when 'readonly' is reset globally, also reset readonlymode */
else if ((int *)varp == &curbuf->b_p_ro) else if ((int *)varp == &curbuf->b_p_ro)
{ {
/* when 'readonly' is reset globally, also reset readonlymode */
if (!curbuf->b_p_ro && (opt_flags & OPT_LOCAL) == 0) if (!curbuf->b_p_ro && (opt_flags & OPT_LOCAL) == 0)
readonlymode = FALSE; readonlymode = FALSE;
/* when 'readonly' is set may give W10 again */
if (curbuf->b_p_ro)
curbuf->b_did_warn = FALSE;
#ifdef FEAT_TITLE #ifdef FEAT_TITLE
need_maketitle = TRUE; need_maketitle = TRUE;
#endif #endif

View File

@ -2390,6 +2390,7 @@ copy_text_attr(off, buf, len, attr)
/* /*
* Fill the foldcolumn at "p" for window "wp". * Fill the foldcolumn at "p" for window "wp".
* Only to be called when 'foldcolumn' > 0.
*/ */
static void static void
fill_foldcolumn(p, wp, closed, lnum) fill_foldcolumn(p, wp, closed, lnum)
@ -2434,7 +2435,7 @@ fill_foldcolumn(p, wp, closed, lnum)
} }
} }
if (closed) if (closed)
p[i] = '+'; p[i >= wp->w_p_fdc ? i - 1 : i] = '+';
} }
#endif /* FEAT_FOLDING */ #endif /* FEAT_FOLDING */

View File

@ -2828,7 +2828,7 @@ read_sal_section(fd, slang)
gap = &slang->sl_sal; gap = &slang->sl_sal;
ga_init2(gap, sizeof(salitem_T), 10); ga_init2(gap, sizeof(salitem_T), 10);
if (ga_grow(gap, cnt) == FAIL) if (ga_grow(gap, cnt + 1) == FAIL)
return SP_OTHERERROR; return SP_OTHERERROR;
/* <sal> : <salfromlen> <salfrom> <saltolen> <salto> */ /* <sal> : <salfromlen> <salfrom> <saltolen> <salto> */
@ -2917,6 +2917,31 @@ read_sal_section(fd, slang)
#endif #endif
} }
if (gap->ga_len > 0)
{
/* Add one extra entry to mark the end with an empty sm_lead. Avoids
* that we need to check the index every time. */
smp = &((salitem_T *)gap->ga_data)[gap->ga_len];
if ((p = alloc(1)) == NULL)
return SP_OTHERERROR;
p[0] = NUL;
smp->sm_lead = p;
smp->sm_leadlen = 0;
smp->sm_oneof = NULL;
smp->sm_rules = p;
smp->sm_to = NULL;
#ifdef FEAT_MBYTE
if (has_mbyte)
{
smp->sm_lead_w = mb_str2wide(smp->sm_lead);
smp->sm_leadlen = 0;
smp->sm_oneof_w = NULL;
smp->sm_to_w = NULL;
}
#endif
++gap->ga_len;
}
/* Fill the first-index table. */ /* Fill the first-index table. */
set_sal_first(slang); set_sal_first(slang);
@ -8548,8 +8573,22 @@ spell_suggest(count)
{ {
/* Save the from and to text for :spellrepall. */ /* Save the from and to text for :spellrepall. */
stp = &SUG(sug.su_ga, selected - 1); stp = &SUG(sug.su_ga, selected - 1);
repl_from = vim_strnsave(sug.su_badptr, stp->st_orglen); if (sug.su_badlen > stp->st_orglen)
repl_to = vim_strsave(stp->st_word); {
/* Replacing less than "su_badlen", append the remainder to
* repl_to. */
repl_from = vim_strnsave(sug.su_badptr, sug.su_badlen);
vim_snprintf((char *)IObuff, IOSIZE, "%s%.*s", stp->st_word,
sug.su_badlen - stp->st_orglen,
sug.su_badptr + stp->st_orglen);
repl_to = vim_strsave(IObuff);
}
else
{
/* Replacing su_badlen or more, use the whole word. */
repl_from = vim_strnsave(sug.su_badptr, stp->st_orglen);
repl_to = vim_strsave(stp->st_word);
}
/* Replace the word. */ /* Replace the word. */
p = alloc(STRLEN(line) - stp->st_orglen + STRLEN(stp->st_word) + 1); p = alloc(STRLEN(line) - stp->st_orglen + STRLEN(stp->st_word) + 1);

View File

@ -7733,6 +7733,9 @@ hl_combine_attr(char_attr, prim_attr)
else else
{ {
vim_memset(&new_en, 0, sizeof(new_en)); vim_memset(&new_en, 0, sizeof(new_en));
new_en.ae_u.gui.fg_color = INVALCOLOR;
new_en.ae_u.gui.bg_color = INVALCOLOR;
new_en.ae_u.gui.sp_color = INVALCOLOR;
if (char_attr <= HL_ALL) if (char_attr <= HL_ALL)
new_en.ae_attr = char_attr; new_en.ae_attr = char_attr;
} }

View File

@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa" #define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa" #define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA" #define VIM_VERSION_MEDIUM "7.0aa ALPHA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Oct 4)" #define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Oct 10)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Oct 4, compiled " #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Oct 10, compiled "