Updated runtime files.
This commit is contained in:
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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*
|
||||
|
||||
@ -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'.
|
||||
|
||||
|
||||
@ -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")
|
||||
|
||||
@ -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 :
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user