Mercurial > vim
changeset 3371:8dcf3ea92b63
Updated runtime files.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 22 Feb 2012 17:30:19 +0100 |
parents | 56d11b2b77eb |
children | f1cde9cf023e |
files | runtime/autoload/sqlcomplete.vim runtime/compiler/erlang.vim runtime/doc/autocmd.txt runtime/doc/options.txt runtime/doc/quickref.txt runtime/doc/tags runtime/doc/todo.txt runtime/optwin.vim runtime/syntax/fasm.vim runtime/syntax/resolv.vim runtime/syntax/reva.vim runtime/syntax/sshconfig.vim |
diffstat | 12 files changed, 218 insertions(+), 120 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/autoload/sqlcomplete.vim +++ b/runtime/autoload/sqlcomplete.vim @@ -1,16 +1,31 @@ " Vim OMNI completion script for SQL " Language: SQL " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> -" Version: 10.0 -" Last Change: 2010 Jun 11 +" Version: 12.0 +" Last Change: 2012 Feb 08 " Usage: For detailed help -" ":help sql.txt" -" or ":help ft-sql-omni" +" ":help sql.txt" +" or ":help ft-sql-omni" " or read $VIMRUNTIME/doc/sql.txt " History +" Version 12.0 +" - Partial column name completion did not work when a table +" name or table alias was provided (Jonas Enberg). +" - Improved the handling of column completion. First we match any +" columns from a previous completion. If not matches are found, we +" consider the partial name to be a table or table alias for the +" query and attempt to match on it. +" +" Version 11.0 +" Added g:omni_sql_default_compl_type variable +" - You can specify which type of completion to default to +" when pressing <C-X><C-O>. The entire list of available +" choices can be found in the calls to sqlcomplete#Map in: +" ftplugin/sql.vim +" " Version 10.0 -" Updated PreCacheSyntax() +" Updated PreCacheSyntax() " - Now returns a List of the syntax items it finds. " This allows other plugins / scripts to use this list for their own " purposes. In this case XPTemplate can use them for a Choose list. @@ -18,22 +33,22 @@ " warning if not. " - Verifies the parameters are the correct type and displays a " warning if not. -" Updated SQLCWarningMsg() +" Updated SQLCWarningMsg() " - Prepends warning message with SQLComplete so you know who issued " the warning. -" Updated SQLCErrorMsg() +" Updated SQLCErrorMsg() " - Prepends error message with SQLComplete so you know who issued " the error. -" +" " Version 9.0 " This change removes some of the support for tables with spaces in their -" names in order to simplify the regexes used to pull out query table +" names in order to simplify the regexes used to pull out query table " aliases for more robust table name and column name code completion. " Full support for "table names with spaces" can be added in again " after 7.3. " " Version 8.0 -" Incorrectly re-executed the g:ftplugin_sql_omni_key_right and g:ftplugin_sql_omni_key_left +" Incorrectly re-executed the g:ftplugin_sql_omni_key_right and g:ftplugin_sql_omni_key_left " when drilling in and out of a column list for a table. " " Version 7.0 @@ -44,7 +59,7 @@ " " Set completion with CTRL-X CTRL-O to autoloaded function. " This check is in place in case this script is -" sourced directly instead of using the autoload feature. +" sourced directly instead of using the autoload feature. if exists('&omnifunc') " Do not set the option if already set since this " results in an E117 warning. @@ -54,9 +69,9 @@ if exists('&omnifunc') endif if exists('g:loaded_sql_completion') - finish + finish endif -let g:loaded_sql_completion = 100 +let g:loaded_sql_completion = 120 " Maintains filename of dictionary let s:sql_file_table = "" @@ -69,7 +84,7 @@ let s:tbl_alias = [] let s:tbl_cols = [] let s:syn_list = [] let s:syn_value = [] - + " Used in conjunction with the syntaxcomplete plugin let s:save_inc = "" let s:save_exc = "" @@ -79,7 +94,7 @@ endif if exists('g:omni_syntax_group_exclude_sql') let s:save_exc = g:omni_syntax_group_exclude_sql endif - + " Used with the column list let s:save_prev_table = "" @@ -110,12 +125,16 @@ if !exists('g:omni_sql_include_owner') if g:loaded_dbext >= 300 " New to dbext 3.00, by default the table lists include the owner " name of the table. This is used when determining how much of - " whatever has been typed should be replaced as part of the + " whatever has been typed should be replaced as part of the " code replacement. let g:omni_sql_include_owner = 1 endif endif endif +" Default type of completion used when <C-X><C-O> is pressed +if !exists('g:omni_sql_default_compl_type') + let g:omni_sql_default_compl_type = 'table' +endif " This function is used for the 'omnifunc' option. function! sqlcomplete#Complete(findstart, base) @@ -140,7 +159,7 @@ function! sqlcomplete#Complete(findstart let begindot = 1 endif while start > 0 - " Additional code was required to handle objects which + " Additional code was required to handle objects which " can contain spaces like "my table name". if line[start - 1] !~ '\(\w\|\.\)' " If the previous character is not a period or word character @@ -150,7 +169,7 @@ function! sqlcomplete#Complete(findstart elseif line[start - 1] =~ '\w' " If the previous character is word character continue back let start -= 1 - elseif line[start - 1] =~ '\.' && + elseif line[start - 1] =~ '\.' && \ compl_type =~ 'column\|table\|view\|procedure' " If the previous character is a period and we are completing " an object which can be specified with a period like this: @@ -160,7 +179,7 @@ function! sqlcomplete#Complete(findstart " If lastword has already been set for column completion " break from the loop, since we do not also want to pickup " a table name if it was also supplied. - if lastword != -1 && compl_type == 'column' + if lastword != -1 && compl_type == 'column' break endif " If column completion was specified stop at the "." if @@ -171,8 +190,8 @@ function! sqlcomplete#Complete(findstart endif " If omni_sql_include_owner = 0, do not include the table " name as part of the substitution, so break here - if lastword == -1 && - \ compl_type =~ 'table\|view\|procedure\column_csv' && + if lastword == -1 && + \ compl_type =~ 'table\|view\|procedure\column_csv' && \ g:omni_sql_include_owner == 0 let lastword = start break @@ -202,7 +221,7 @@ function! sqlcomplete#Complete(findstart let compl_list = [] " Default to table name completion - let compl_type = 'table' + let compl_type = g:omni_sql_default_compl_type " Allow maps to specify what type of object completion they want if exists('b:sql_compl_type') let compl_type = b:sql_compl_type @@ -216,7 +235,7 @@ function! sqlcomplete#Complete(findstart if compl_type == 'table' || \ compl_type == 'procedure' || - \ compl_type == 'view' + \ compl_type == 'view' " This type of completion relies upon the dbext.vim plugin if s:SQLCCheck4dbext() == -1 @@ -254,7 +273,7 @@ function! sqlcomplete#Complete(findstart if base == "" " The last time we displayed a column list we stored - " the table name. If the user selects a column list + " the table name. If the user selects a column list " without a table name of alias present, assume they want " the previous column list displayed. let base = s:save_prev_table @@ -273,16 +292,16 @@ function! sqlcomplete#Complete(findstart " has entered: " owner.table " table.column_prefix - " So there are a couple of things we can do to mitigate + " So there are a couple of things we can do to mitigate " this issue. " 1. Check if the dbext plugin has the option turned " on to even allow owners " 2. Based on 1, if the user is showing a table list - " and the DrillIntoTable (using <Right>) then + " and the DrillIntoTable (using <Right>) then " this will be owner.table. In this case, we can - " check to see the table.column exists in the + " check to see the table.column exists in the " cached table list. If it does, then we have - " determined the user has actually chosen + " determined the user has actually chosen " owner.table, not table.column_prefix. let found = -1 if g:omni_sql_include_owner == 1 && owner == '' @@ -297,17 +316,46 @@ function! sqlcomplete#Complete(findstart " If the user has indicated not to use table owners at all and " the base ends in a '.' we know they are not providing a column " name, so we can shift the items appropriately. - if found != -1 || (g:omni_sql_include_owner == 0 && base !~ '\.$') - let owner = table - let table = column - let column = '' + " if found != -1 || (g:omni_sql_include_owner == 0 && base !~ '\.$') + " let owner = table + " let table = column + " let column = '' + " endif + else + " If no "." was provided and the user asked for + " column level completion, first attempt the match + " on any previous column lists. If the user asked + " for a list of columns comma separated, continue as usual. + if compl_type == 'column' && s:save_prev_table != '' + " The last time we displayed a column list we stored + " the table name. If the user selects a column list + " without a table name of alias present, assume they want + " the previous column list displayed. + let table = s:save_prev_table + let list_type = '' + + let compl_list = s:SQLCGetColumns(table, list_type) + if ! empty(compl_list) + " If no column prefix has been provided and the table + " name was provided, append it to each of the items + " returned. + let compl_list = filter(deepcopy(compl_list), 'v:val=~"^'.base.'"' ) + + " If not empty, we have a match on columns + " return the list + if ! empty(compl_list) + return compl_list + endif + endif endif - else + " Since no columns were found to match the base supplied + " assume the user is trying to complete the column list + " for a table (and or an alias to a table). let table = base endif " Get anything after the . and consider this the table name - " If an owner has been specified, then we must consider the + " If an owner has been specified, then we must consider the " base to be a partial column name " let base = matchstr( base, '^\(.*\.\)\?\zs.*' ) @@ -327,11 +375,11 @@ function! sqlcomplete#Complete(findstart " If no column prefix has been provided and the table " name was provided, append it to each of the items " returned. - let compl_list = map(compl_list, "table.'.'.v:val") + let compl_list = map(compl_list, 'table.".".v:val') if owner != '' " If an owner has been provided append it to each of the " items returned. - let compl_list = map(compl_list, "owner.'.'.v:val") + let compl_list = map(compl_list, 'owner.".".v:val') endif else let base = '' @@ -361,11 +409,15 @@ function! sqlcomplete#Complete(findstart if base != '' " Filter the list based on the first few characters the user entered. - " Check if the text matches at the beginning - " or + " Check if the text matches at the beginning + " \\(^.base.'\\) + " or " Match to a owner.table or alias.column type match + " ^\\(\\w\\+\\.\\)\\?'.base.'\\) " or " Handle names with spaces "my table name" + " "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"' + " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"' " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"' " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"' @@ -384,7 +436,7 @@ function! sqlcomplete#PreCacheSyntax(... let syn_group_arr = [] let syn_items = [] - if a:0 > 0 + if a:0 > 0 if type(a:1) != 3 call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']") return '' @@ -407,7 +459,7 @@ endfunction function! sqlcomplete#ResetCacheSyntax(...) let syn_group_arr = [] - if a:0 > 0 + if a:0 > 0 if type(a:1) != 3 call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']") return '' @@ -458,7 +510,7 @@ function! sqlcomplete#DrillIntoTable() " If the popup is not visible, simple perform the normal " key behaviour. " Must use exec since they key must be preceeded by "\" - " or feedkeys will simply push each character of the string + " or feedkeys will simply push each character of the string " rather than the "key press". exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")' endif @@ -475,7 +527,7 @@ function! sqlcomplete#DrillOutOfColumns( " If the popup is not visible, simple perform the normal " key behaviour. " Must use exec since they key must be preceeded by "\" - " or feedkeys will simply push each character of the string + " or feedkeys will simply push each character of the string " rather than the "key press". exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")' endif @@ -484,16 +536,16 @@ endfunction function! s:SQLCWarningMsg(msg) echohl WarningMsg - echomsg 'SQLComplete:'.a:msg + echomsg 'SQLComplete:'.a:msg echohl None endfunction - + function! s:SQLCErrorMsg(msg) echohl ErrorMsg - echomsg 'SQLComplete:'.a:msg + echomsg 'SQLComplete:'.a:msg echohl None endfunction - + function! s:SQLCGetSyntaxList(syn_group) let syn_group = a:syn_group let compl_list = [] @@ -504,7 +556,7 @@ function! s:SQLCGetSyntaxList(syn_group) " Return previously cached value let compl_list = s:syn_value[list_idx] else - " Request the syntax list items from the + " Request the syntax list items from the " syntax completion plugin if syn_group == 'syntax' " Handle this special case. This allows the user @@ -552,7 +604,7 @@ function! s:SQLCAddAlias(table_name, tab let table_alias = a:table_alias let cols = a:cols - if g:omni_sql_use_tbl_alias != 'n' + if g:omni_sql_use_tbl_alias != 'n' if table_alias == '' if 'da' =~? g:omni_sql_use_tbl_alias if table_name =~ '_' @@ -562,13 +614,13 @@ function! s:SQLCAddAlias(table_name, tab setlocal iskeyword-=_ " Get the first letter of each word - " [[:alpha:]] is used instead of \w + " [[:alpha:]] is used instead of \w " to catch extended accented characters " - let table_alias = substitute( - \ table_name, - \ '\<[[:alpha:]]\+\>_\?', - \ '\=strpart(submatch(0), 0, 1)', + let table_alias = substitute( + \ table_name, + \ '\<[[:alpha:]]\+\>_\?', + \ '\=strpart(submatch(0), 0, 1)', \ 'g' \ ) " Restore original value @@ -596,7 +648,7 @@ function! s:SQLCAddAlias(table_name, tab return cols endfunction -function! s:SQLCGetObjectOwner(object) +function! s:SQLCGetObjectOwner(object) " The owner regex matches a word at the start of the string which is " followed by a dot, but doesn't include the dot in the result. " ^ - from beginning of line @@ -609,7 +661,7 @@ function! s:SQLCGetObjectOwner(object) " let owner = matchstr( a:object, '^\s*\zs.*\ze\.' ) let owner = matchstr( a:object, '^\("\|\[\)\?\zs\.\{-}\ze\("\|\]\)\?\.' ) return owner -endfunction +endfunction function! s:SQLCGetColumns(table_name, list_type) " Check if the table name was provided as part of the column name @@ -636,7 +688,7 @@ function! s:SQLCGetColumns(table_name, l if list_idx > -1 let table_cols = split(s:tbl_cols[list_idx], '\n') else - " Check if we have already cached the column list for this table + " Check if we have already cached the column list for this table " by its alias, assuming the table_name provided was actually " the alias for the table instead " select * @@ -654,7 +706,7 @@ function! s:SQLCGetColumns(table_name, l " And the table ends in a "." or we are looking for a column list " if list_idx == -1 && (a:table_name =~ '\.' || b:sql_compl_type =~ 'column') " if list_idx == -1 && (a:table_name =~ '\.' || a:list_type =~ 'csv') - if list_idx == -1 + if list_idx == -1 let saveY = @y let saveSearch = @/ let saveWScan = &wrapscan @@ -665,7 +717,7 @@ function! s:SQLCGetColumns(table_name, l setlocal nowrapscan " If . was entered, look at the word just before the . " We are looking for something like this: - " select * + " select * " from customer c " where c. " So when . is pressed, we need to find 'c' @@ -692,15 +744,15 @@ function! s:SQLCGetColumns(table_name, l " if query =~? '^\c\(select\)' if query =~? '^\(select\|update\|delete\)' let found = 1 - " \(\(\<\w\+\>\)\.\)\? - + " \(\(\<\w\+\>\)\.\)\? - " '\c\(from\|join\|,\).\{-}' - Starting at the from clause (case insensitive) " '\zs\(\(\<\w\+\>\)\.\)\?' - Get the owner name (optional) - " '\<\w\+\>\ze' - Get the table name + " '\<\w\+\>\ze' - Get the table name " '\s\+\<'.table_name.'\>' - Followed by the alias " '\s*\.\@!.*' - Cannot be followed by a . " '\(\<where\>\|$\)' - Must be followed by a WHERE clause " '.*' - Exclude the rest of the line in the match - " let table_name_new = matchstr(@y, + " let table_name_new = matchstr(@y, " \ '\c\(from\|join\|,\).\{-}'. " \ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'. " \ '\("\|\[\)\?.\{-}\("\|\]\)\?\ze'. @@ -711,7 +763,16 @@ function! s:SQLCGetColumns(table_name, l " \ '\(\<where\>\|$\)'. " \ '.*' " \ ) - let table_name_new = matchstr(@y, + " + " + " ''\c\(\<from\>\|\<join\>\|,\)\s*' - Starting at the from clause (case insensitive) + " '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?' - Get the owner name (optional) + " '\("\|\[\)\?\w\+\("\|\]\)\?\ze' - Get the table name + " '\s\+\%(as\s\+\)\?\<'.matchstr(table_name, '.\{-}\ze\.\?$').'\>' - Followed by the alias + " '\s*\.\@!.*' - Cannot be followed by a . + " '\(\<where\>\|$\)' - Must be followed by a WHERE clause + " '.*' - Exclude the rest of the line in the match + let table_name_new = matchstr(@y, \ '\c\(\<from\>\|\<join\>\|,\)\s*'. \ '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?'. \ '\("\|\[\)\?\w\+\("\|\]\)\?\ze'. @@ -753,7 +814,7 @@ function! s:SQLCGetColumns(table_name, l " Return to previous location call cursor(curline, curcol) - + if found == 0 if g:loaded_dbext > 300 exec 'DBSetOption use_tbl_alias='.saveSettingAlias @@ -762,7 +823,7 @@ function! s:SQLCGetColumns(table_name, l " Not a SQL statement, do not display a list return [] endif - endif + endif if empty(table_cols) " Specify silent mode, no messages to the user (tbl, 1)
--- a/runtime/compiler/erlang.vim +++ b/runtime/compiler/erlang.vim @@ -1,11 +1,13 @@ " Vim compiler file -" Compiler: Erlang -" Maintainer: none, please volunteer! -" Last Change: 2012 Jan 20 +" Compiler: Erlang +" Maintainer: Dmitry Vasiliev <dima at hlabs dot org> +" Last Change: 2012-02-13 if exists("current_compiler") finish endif let current_compiler = "erlang" -" TODO +CompilerSet makeprg=erlc\ -Wall\ % + +CompilerSet errorformat=%f:%l:\ %m
--- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 7.3. Last change: 2012 Feb 12 +*autocmd.txt* For Vim version 7.3. Last change: 2012 Feb 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -33,7 +33,7 @@ files matching *.c. You can also use au features, such as editing compressed files (see |gzip-example|). The usual place to put autocommands is in your .vimrc or .exrc file. - *E203* *E204* *E143* + *E203* *E204* *E143* *E855* WARNING: Using autocommands is very powerful, and may lead to unexpected side effects. Be careful not to destroy your text. - It's a good idea to do some testing on an expendable copy of a file first.
--- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3. Last change: 2012 Feb 12 +*options.txt* For Vim version 7.3. Last change: 2012 Feb 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5900,9 +5900,8 @@ A jump table for the options with a shor *'shellcmdflag'* *'shcf'* 'shellcmdflag' 'shcf' string (default: "-c"; - Win32, when 'shell' is cmd.exe: "/s /c"; - MS-DOS and Win32, when 'shell' neither is - cmd.exe nor contains "sh" somewhere: "/c") + MS-DOS and Win32, when 'shell' does not + contain "sh" somewhere: "/c") global {not in Vi} Flag passed to the shell to execute "!" and ":!" commands; e.g., @@ -6041,6 +6040,15 @@ A jump table for the options with a shor 0 and 2: use "shell 'shellcmdflag' cmd" to start external commands 1 and 3: use "shell cmd" to start external commands + *'shellxescape'* *'sxe'* +'shellxescape' 'sxe' string (default: ""; + for MS-DOS and MS-Windows: "\"&|<>()@^") + global + {not in Vi} + When 'shellxquote' is set to "(" then the characters listed in this + option will be escaped with a '^' character. This makes it possible + to execute most external commands with cmd.exe. + *'shellxquote'* *'sxq'* 'shellxquote' 'sxq' string (default: ""; for Win32, when 'shell' is cmd.exe: "(" @@ -6065,16 +6073,6 @@ A jump table for the options with a shor This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. - *'shellxescape'* *'sxe'* -'shellxescape' 'sxe' string (default: ""; - for MS-DOS and MS-Windows: "\"&|<>()@^") - global - {not in Vi} - When 'shellxquote' is set to "(" then the characters listed in this - option will be escaped with a '^' character. This makes it possible - to execute most external commands with cmd.exe. - - *'shiftround'* *'sr'* *'noshiftround'* *'nosr'* 'shiftround' 'sr' boolean (default off) global
--- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 7.3. Last change: 2011 Jun 12 +*quickref.txt* For Vim version 7.3. Last change: 2012 Feb 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -851,6 +851,7 @@ Short explanation of each option: *opti 'shellslash' 'ssl' use forward slash for shell file names 'shelltemp' 'stmp' whether to use a temp file for shell commands 'shelltype' 'st' Amiga: influences how to use a shell +'shellxescape' 'sxe' characters to escape when 'shellxquote' is ( 'shellxquote' 'sxq' like 'shellquote', but include redirection 'shiftround' 'sr' round indent to multiple of shiftwidth 'shiftwidth' 'sw' number of spaces to use for (auto)indent step
--- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -783,6 +783,7 @@ 'shellslash' options.txt /*'shellslash'* 'shelltemp' options.txt /*'shelltemp'* 'shelltype' options.txt /*'shelltype'* +'shellxescape' options.txt /*'shellxescape'* 'shellxquote' options.txt /*'shellxquote'* 'shiftround' options.txt /*'shiftround'* 'shiftwidth' options.txt /*'shiftwidth'* @@ -852,6 +853,7 @@ 'swf' options.txt /*'swf'* 'switchbuf' options.txt /*'switchbuf'* 'sws' options.txt /*'sws'* +'sxe' options.txt /*'sxe'* 'sxq' options.txt /*'sxq'* 'syn' options.txt /*'syn'* 'synmaxcol' options.txt /*'synmaxcol'* @@ -4241,6 +4243,7 @@ E851 gui_x11.txt /*E851* E852 gui_x11.txt /*E852* E853 eval.txt /*E853* E854 options.txt /*E854* +E855 autocmd.txt /*E855* E86 windows.txt /*E86* E87 windows.txt /*E87* E88 windows.txt /*E88*
--- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.3. Last change: 2012 Feb 12 +*todo.txt* For Vim version 7.3. Last change: 2012 Feb 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,9 +38,15 @@ Go through more coverity reports. Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10) +Stack trace of crash: http://vpaste.net/GBt9S +(Alexandre Provencio) + Once syntax and other runtime files have been fixed: add "set cp" to check.vim. Use a function to run both with 'cp' and 'nocp'. +Undo broken when pasting close to the last line. (Andrey Radev, 2012 Feb 14) +Patch by Christian Brabandt, 2012 Feb 14. + GTK: problem with 'L' in 'guioptions' changing the window width. (Aaron Cornelius, 2012 Feb 6) @@ -48,6 +54,8 @@ Win32: When a directory name contains an complete the contents of the directory. No escaping for the "!"? (Jan Stocker, 2012 Jan 5) +Patch to speed up ga_grow(). (Dominique Pelle, 2012 Feb 13) + Patch for "tab drop hoge" moving current window. (Higashi, 2012 Jan 31) ":tab drop buffer.c" always opens a new tab, also if buffer.c is already in an open window. (Herb Sitz, 2011 Nov 17) @@ -79,6 +87,9 @@ URXVT: Patch for using QuickFixCmdPre for more commands. (Marcin Szamotulski, 2012 Feb 1, update Feb 2) +Patch for pasting in the Ex command line is slow. (Dominique Pelle, 2012 Feb +19) + When running Vim in silent ex mode, an existing swapfile causes Vim to wait for a user action without a prompt. (Maarten Billemont, 2012 Feb 3) Do give the prompt? Quit with an error? @@ -87,6 +98,10 @@ When exiting with unsaved changes, selec dialog, there is no dialog to ask whether the existing file should be overwritten. (Felipe G. Nievinski, 2011 Dec 22) +Patch for improved ":qa" behavior. (Hirohito Higashi, 2012 Feb 18) + +Recognize objcpp. (Austin Ziegler, 2012 Feb 15) + 7 Setting an option always sets "w_set_curswant", while this is only required for a few options. Only do it for those options to avoid the side effect. @@ -98,7 +113,7 @@ Carvalho merged the patch: New version Patch for option in 'cino' to specify more indent for continued conditions. (Lech Lorens, 2011 Nov 27) -Isn't this already possible? +Isn't this already possible? Update 2012 Feb 15. Patch for using objcpp file type for headers files. Issue 44. @@ -155,6 +170,9 @@ Plugin for Modeleasy. (Massimiliano Trip Updated syntax file for ssh_config, maintainer doesn't respond. (Leonard Ehrenfried, 2011 Sep 26) +BufWinLeave triggers too late when quitting last window in a tab page. (Lech +Lorens, 2012 Feb 21) + "fC" doesn't position the cursor correctly when there are concealed characters. Patch by Christian Brabandt, 2011 Oct 11) @@ -959,6 +977,7 @@ Performance tests: - ~/vim/test/slowsearch - ~/vim/test/rgb.vim - ~/vim/text/FeiqCfg.xml (file from Netjune) +- ~/vim/text/edl.svg (also XML) - search for a.*e*exn in the vim executable. Go to last line to use 'hlsearch'.
--- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2011 Jun 13 +" Last Change: 2012 Feb 22 " If there already is an option window, jump to that one. if bufwinnr("option-window") > 0 @@ -1064,6 +1064,8 @@ call append("$", "shellquote\tcharacter( call <SID>OptionG("shq", &shq) call append("$", "shellxquote\tlike 'shellquote' but include the redirection") call <SID>OptionG("sxq", &sxq) +call append("$", "shellxescape\tcharacters to escape when 'shellxquote' is (") +call <SID>OptionG("sxe", &sxe) call append("$", "shellcmdflag\targument for 'shell' to execute a command") call <SID>OptionG("shcf", &shcf) call append("$", "shellredir\tused to redirect command output to a file")
--- a/runtime/syntax/fasm.vim +++ b/runtime/syntax/fasm.vim @@ -1,10 +1,10 @@ " Vim syntax file " Language: Flat Assembler (FASM) " Maintainer: Ron Aaron <ron@ronware.org> -" Last Change: 2004 May 16 +" Last Change: 2012/02/13 " Vim URL: http://www.vim.org/lang.html " FASM Home: http://flatassembler.net/ -" FASM Version: 1.52 +" FASM Version: 1.56 if version < 600 syntax clear @@ -12,6 +12,9 @@ elseif exists("b:current_syntax") finish endif +let s:cpo_save = &cpo +set cpo&vim + setlocal iskeyword=a-z,A-Z,48-57,.,_ setlocal isident=a-z,A-Z,48-57,.,_ syn case ignore @@ -97,7 +100,7 @@ syn keyword fasmDirective align binary syn keyword fasmDirective elf entry executable export extern far fixups format gui syn keyword fasmDirective import label ms mz native near notpageable pe public readable syn keyword fasmDirective repeat resource section segment shareable stack times -syn keyword fasmDirective use16 use32 virtual wdm writeable +syn keyword fasmDirective use16 use32 virtual wdm writable writeable syn keyword fasmOperator as at defined eq eqtype from mod on ptr rva used syn match fasmNumericOperator "[+-/*]" @@ -142,4 +145,8 @@ hi def link fasmInstr keyword hi def link fasmLabel label hi def link fasmPrefix preproc let b:current_syntax = "fasm" + +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: ts=8 sw=8 :
--- a/runtime/syntax/resolv.vim +++ b/runtime/syntax/resolv.vim @@ -1,11 +1,10 @@ " Vim syntax file " Language: resolver configuration file -" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> +" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> " Original Maintaner: Radu Dineiu <littledragon@altern.org> " License: This file can be redistribued and/or modified under the same terms " as Vim itself. -" URL: http://trific.ath.cx/Ftp/vim/syntax/resolv.vim -" Last Change: 2006-04-16 +" Last Change: 2012-02-21 if version < 600 syntax clear @@ -26,7 +25,8 @@ syn match resolvIPSpecial /\%(127\.\d\{1 " General syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster -syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/ +syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_.]*/ +syn match resolvDomainname contained /[-0-9A-Za-z_.]\+/ " Particular syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster @@ -36,7 +36,7 @@ syn match resolvIPNetmaskSortList contai " Identifiers syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite -syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite +syn match resolvDomain /^\s*domain\>/ nextgroup=resolvDomainname skipwhite syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite @@ -61,6 +61,7 @@ if version >= 508 || !exists("did_config HiLink resolvIP Number HiLink resolvIPNetmask Number HiLink resolvHostname String + HiLink resolvDomainname String HiLink resolvOption String HiLink resolvIPNameserver Number
--- a/runtime/syntax/reva.vim +++ b/runtime/syntax/reva.vim @@ -1,10 +1,10 @@ " Vim syntax file " Language: Reva Forth -" Version: 7.1 -" Last Change: 2008/01/11 +" Version: 2011.2 +" Last Change: 2012/02/13 " Maintainer: Ron Aaron <ron@ronware.org> " URL: http://ronware.org/reva/ -" Filetypes: *.rf *.frt +" Filetypes: *.rf *.frt " NOTE: You should also have the ftplugin/reva.vim file to set 'isk' " For version 5.x: Clear all syntax items and don't load @@ -17,10 +17,13 @@ elseif exists("b:current_syntax") finish endif +let s:cpo_save = &cpo +set cpo&vim + syn clear " Synchronization method -syn sync ccomment +syn sync ccomment syn sync maxlines=100 @@ -39,7 +42,7 @@ syn region revaEOF start='\<|||\>' end=' syn case match " basic mathematical and logical operators syn keyword revaoperators + - * / mod /mod negate abs min max umin umax -syn keyword revaoperators and or xor not invert 1+ 1- +syn keyword revaoperators and or xor not invert 1+ 1- syn keyword revaoperators m+ */ */mod m* um* m*/ um/mod fm/mod sm/rem syn keyword revaoperators d+ d- dnegate dabs dmin dmax > < = >> << u< <> @@ -53,10 +56,10 @@ syn keyword revastack >r r> r@ rdrop " address operations syn keyword revamemory @ ! +! c@ c! 2@ 2! align aligned allot allocate here free resize syn keyword revaadrarith chars char+ cells cell+ cell cell- 2cell+ 2cell- 3cell+ 4cell+ -syn keyword revamemblks move fill +syn keyword revamemblks move fill " conditionals -syn keyword revacond if else then =if >if <if <>if if0 ;; catch throw +syn keyword revacond if else then =if >if <if <>if if0 ;; catch throw " iterations syn keyword revaloop while repeat until again @@ -66,18 +69,18 @@ syn keyword revaloop do loop i j leave syn match revaColonDef '\<noname:\|\<:\s+' contains=revaComment syn keyword revaEndOfColonDef ; ;inline syn keyword revadefine constant constant, variable create variable, -syn keyword revadefine user value to +to defer! defer@ defer is does> immediate +syn keyword revadefine user value to +to defer! defer@ defer is does> immediate syn keyword revadefine compile literal ' ['] " Built in words com! -nargs=+ Builtin syn keyword revaBuiltin <args> Builtin execute ahead interp bye >body here pad words make Builtin accept close cr creat delete ekey emit fsize ioerr key? -Builtin mtime open/r open/rw read rename seek space spaces stat +Builtin mtime open/r open/rw read rename seek space spaces stat Builtin tell type type_ write (seek) (argv) (save) 0; 0drop; Builtin >class >lz >name >xt alias alias: appname argc asciiz, asciizl, Builtin body> clamp depth disassemble findprev fnvhash getenv here, -Builtin iterate last! last@ later link lz> lzmax os parse/ peek +Builtin iterate last! last@ later link lz> lzmax os parse/ peek Builtin peek-n pop prior push put rp@ rpick save setenv slurp Builtin stack-empty? stack-iterate stack-size stack: THROW_BADFUNC Builtin THROW_BADLIB THROW_GENERIC used xt>size z, @@ -88,21 +91,21 @@ Builtin chdir g32 k32 u32 getcwd getpid Builtin (-lib) (bye) (call) (else) (find) (func) (here) (if (lib) (s0) (s^) Builtin (to~) (while) >in >rel ?literal appstart cold compiling? context? d0 default_class Builtin defer? dict dolstr dostr find-word h0 if) interp isa onexit -Builtin onstartup pdoes pop>ebx prompt rel> rp0 s0 src srcstr state str0 then,> then> tib +Builtin onstartup pdoes pop>ebx prompt rel> rp0 s0 src srcstr state str0 then,> then> tib Builtin tp vector vector! word? xt? .ver revaver revaver# && '' 'constant 'context Builtin 'create 'defer 'does 'forth 'inline 'macro 'macront 'notail 'value 'variable Builtin (.r) (context) (create) (header) (hide) (inline) (p.r) (words~) (xfind) Builtin ++ -- , -2drop -2nip -link -swap . .2x .classes .contexts .funcs .libs .needs .r Builtin .rs .x 00; 0do 0if 1, 2, 3, 2* 2/ 2constant 2variable 3dup 4dup ;then >base >defer Builtin >rr ? ?do @execute @rem appdir argv as back base base! between chain cleanup-libs -Builtin cmove> context?? ctrl-c ctx>name data: defer: defer@def dictgone do_cr eleave -Builtin endcase endof eval exception exec false find func: header heapgone help help/ +Builtin cmove> context?? ctrl-c ctx>name data: defer: defer@def dictgone do_cr eleave +Builtin endcase endof eval exception exec false find func: header heapgone help help/ Builtin hex# hide inline{ last lastxt lib libdir literal, makeexename mnotail ms ms@ -Builtin newclass noop nosavedict notail nul of off on p: padchar parse parseln -Builtin parsews rangeof rdepth remains reset reva revaused rol8 rr> scratch setclass sp +Builtin newclass noop nosavedict notail nul of off on p: padchar parse parseln +Builtin parsews rangeof rdepth remains reset reva revaused rol8 rr> scratch setclass sp Builtin strof super> temp time&date true turnkey? undo vfunc: w! w@ Builtin xchg xchg2 xfind xt>name xwords { {{ }} } _+ _1+ _1- pathsep case \|| -" p[ [''] [ ['] +" p[ [''] [ ['] " debugging @@ -116,11 +119,11 @@ syn keyword revadebug .s dump see " syn region revaCharOps start=+."\s+ skip=+\\"+ end=+"+ " char-number conversion -syn keyword revaconversion s>d >digit digit> >single >double >number >float +syn keyword revaconversion s>d >digit digit> >single >double >number >float " contexts -syn keyword revavocs forth macro inline -syn keyword revavocs context: +syn keyword revavocs forth macro inline +syn keyword revavocs context: syn match revavocs /\<\~[^~ ]*/ syn match revavocs /[^~ ]*\~\>/ @@ -135,7 +138,7 @@ syn match revainteger "\<'.\>" " Strings " syn region revaString start=+\.\?\"+ end=+"+ end=+$+ -syn region revaString start=/"/ skip=/\\"/ end=/"/ +syn region revaString start=/"/ skip=/\\"/ end=/"/ " Comments syn region revaComment start='\\S\s' end='.*' contains=revaTodo @@ -187,5 +190,7 @@ if !exists("did_reva_syntax_inits") endif let b:current_syntax = "reva" +let &cpo = s:cpo_save +unlet s:cpo_save " vim: ts=8:sw=4:nocindent:smartindent:
--- a/runtime/syntax/sshconfig.vim +++ b/runtime/syntax/sshconfig.vim @@ -2,9 +2,7 @@ " Language: OpenSSH client configuration file (ssh_config) " Author: David Necas (Yeti) " Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de> -" Modified By: Thilo Six -" Originally: 2009-07-09 -" Last Change: 2011 Oct 31 +" Last Change: 2012 Feb 19 " SSH Version: 5.9p1 " @@ -92,7 +90,8 @@ syn match sshconfigNumber "\d\+" syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>" syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>" syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>" - +syn match sshconfigHostPort "\(Host \)\@<=.\+" +syn match sshconfigHostPort "\(HostName \)\@<=.\+" " case off syn case ignore