summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2012-02-22 17:30:19 +0100
committerBram Moolenaar <bram@vim.org>2012-02-22 17:30:19 +0100
commit8807a4bda077e000ee2459254e148481d3e2f8ba (patch)
tree59ca7ce67c7f7e4cd13d5a2513acd8d3c5b6c032
parent99e0de0dad2b65e71d1537721d6f187e8d4061d6 (diff)
downloadvim-8807a4bda077e000ee2459254e148481d3e2f8ba.tar.gz
Updated runtime files.
-rw-r--r--runtime/autoload/sqlcomplete.vim189
-rw-r--r--runtime/compiler/erlang.vim10
-rw-r--r--runtime/doc/autocmd.txt4
-rw-r--r--runtime/doc/options.txt26
-rw-r--r--runtime/doc/quickref.txt3
-rw-r--r--runtime/doc/tags3
-rw-r--r--runtime/doc/todo.txt23
-rw-r--r--runtime/optwin.vim4
-rw-r--r--runtime/syntax/fasm.vim13
-rw-r--r--runtime/syntax/resolv.vim11
-rw-r--r--runtime/syntax/reva.vim45
-rw-r--r--runtime/syntax/sshconfig.vim7
12 files changed, 218 insertions, 120 deletions
diff --git a/runtime/autoload/sqlcomplete.vim b/runtime/autoload/sqlcomplete.vim
index 5599c0d0..360f7e6c 100644
--- 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, base)
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, base)
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, base)
" 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, base)
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, base)
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, base)
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, base)
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, base)
" 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, base)
" 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 = ''
- endif
+ " 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
+ " 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, base)
" 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, base)
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, table_alias, cols)
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, table_alias, cols)
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, table_alias, cols)
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, list_type)
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, list_type)
" 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, list_type)
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, list_type)
" 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, list_type)
" \ '\(\<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, list_type)
" 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, list_type)
" 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)
diff --git a/runtime/compiler/erlang.vim b/runtime/compiler/erlang.vim
index 867ba6b5..e177a279 100644
--- 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
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 8f50eb82..d6338ee6 100644
--- 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 autocommands to implement advanced
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.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 2836be5d..23ac10a6 100644
--- 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 short description can be found at |Q_op|.
*'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 short description can be found at |Q_op|.
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 short description can be found at |Q_op|.
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
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index c14818ac..1fef2177 100644
--- 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: *option-list*
'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
diff --git a/runtime/doc/tags b/runtime/doc/tags
index ab2bf3eb..8d7e1d6e 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -783,6 +783,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'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 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'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*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 925efb63..74585d7c 100644
--- 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 exclamation mark, completion doesn't
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, selecting an existing file in the file
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 2012 Jan 19.
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 Tripoli, 2011 Nov 29)
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'.
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 4ff90bb2..dd36112d 100644
--- 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(s) to enclose a shell command in")
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")
diff --git a/runtime/syntax/fasm.vim b/runtime/syntax/fasm.vim
index 01bdc831..696e05b4 100644
--- 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 code coff console discardable display dl
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 :
diff --git a/runtime/syntax/resolv.vim b/runtime/syntax/resolv.vim
index 6ec42d27..1c0f8467 100644
--- 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,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
" 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 contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/
" 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_syntax_inits")
HiLink resolvIP Number
HiLink resolvIPNetmask Number
HiLink resolvHostname String
+ HiLink resolvDomainname String
HiLink resolvOption String
HiLink resolvIPNameserver Number
diff --git a/runtime/syntax/reva.vim b/runtime/syntax/reva.vim
index 7e11ffe2..03dfc9d4 100644
--- 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='{$}' contains=revaHelpStuff
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 unloop skip more
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 hinst osname stdin stdout
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:
diff --git a/runtime/syntax/sshconfig.vim b/runtime/syntax/sshconfig.vim
index c2d97dd7..15e3b017 100644
--- 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