Skip to content
Browse files

Update runtime files.

  • Loading branch information...
1 parent 336e3e8 commit 819e7ffe4ca4c7596a0194d709137f70838bd081 @brammool brammool committed Dec 5, 2012
View
133 runtime/autoload/sqlcomplete.vim
@@ -1,23 +1,43 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
-" Version: 12.0
-" Last Change: 2012 Feb 08
+" Version: 14.0
+" Last Change: 2012 Dec 04
+" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
" History
-" Version 12.0
+"
+" Version 14.0 (Dec 2012)
+" - BF: Added check for cpo
+"
+" Version 13.0 (Dec 2012)
+" - NF: When completing column lists or drilling into a table
+" and g:omni_sql_include_owner is enabled, the
+" only the table name would be replaced with the column
+" list instead of the table name and owner (if specified).
+" - NF: When completing column lists using table aliases
+" and g:omni_sql_include_owner is enabled, account
+" for the owner name when looking up the table
+" list instead of the table name and owner (if specified).
+" - BF: When completing column lists or drilling into a table
+" and g:omni_sql_include_owner is enabled, the
+" column list could often not be found for the table.
+" - BF: When OMNI popped up, possibly the wrong word
+" would be replaced for column and column list options.
+"
+" Version 12.0 (Feb 2012)
" - 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
+" consider the partial name to be a table or table alias for the
" query and attempt to match on it.
"
-" Version 11.0
+" Version 11.0 (Jan 2012)
" 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
@@ -40,7 +60,7 @@
" - Prepends error message with SQLComplete so you know who issued
" the error.
"
-" Version 9.0
+" Version 9.0 (May 2010)
" 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
" aliases for more robust table name and column name code completion.
@@ -51,10 +71,10 @@
" 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
+" Version 7.0 (Jan 2010)
" Better handling of object names
"
-" Version 6.0
+" Version 6.0 (Apr 2008)
" Supports object names with spaces "my table name"
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
@@ -71,7 +91,9 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
-let g:loaded_sql_completion = 120
+let g:loaded_sql_completion = 130
+let s:keepcpo= &cpo
+set cpo&vim
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -137,6 +159,13 @@ if !exists('g:omni_sql_default_compl_type')
endif
" This function is used for the 'omnifunc' option.
+" It is called twice by omni and it is responsible
+" for returning the completion list of items.
+" But it must also determine context of what to complete
+" and what to "replace" with the completion.
+" The a:base, is replaced directly with what the user
+" chooses from the choices.
+" The s:prepend provides context for the completion.
function! sqlcomplete#Complete(findstart, base)
" Default to table name completion
@@ -145,6 +174,7 @@ function! sqlcomplete#Complete(findstart, base)
if exists('b:sql_compl_type')
let compl_type = b:sql_compl_type
endif
+ let begindot = 0
" First pass through this function determines how much of the line should
" be replaced by whatever is chosen from the completion list
@@ -153,7 +183,6 @@ function! sqlcomplete#Complete(findstart, base)
let line = getline('.')
let start = col('.') - 1
let lastword = -1
- let begindot = 0
" Check if the first character is a ".", for column completion
if line[start - 1] == '.'
let begindot = 1
@@ -179,7 +208,10 @@ 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.
+ " Unless g:omni_sql_include_owner == 1, then we can
+ " include the ownername.
if lastword != -1 && compl_type == 'column'
+ \ && g:omni_sql_include_owner == 0
break
endif
" If column completion was specified stop at the "." if
@@ -191,7 +223,7 @@ function! sqlcomplete#Complete(findstart, base)
" 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' &&
+ \ compl_type =~ '\<\(table\|view\|procedure\|column\|column_csv\)\>' &&
\ g:omni_sql_include_owner == 0
let lastword = start
break
@@ -288,6 +320,12 @@ function! sqlcomplete#Complete(findstart, base)
let table = matchstr( base, '^\(.*\.\)\?\zs.*\ze\..*' )
let column = matchstr( base, '.*\.\zs.*' )
+ if g:omni_sql_include_owner == 1 && owner == '' && table != '' && column != ''
+ let owner = table
+ let table = column
+ let column = ''
+ endif
+
" It is pretty well impossible to determine if the user
" has entered:
" owner.table
@@ -370,7 +408,16 @@ function! sqlcomplete#Complete(findstart, base)
let list_type = 'csv'
endif
- let compl_list = s:SQLCGetColumns(table, list_type)
+ " If we are including the OWNER for the objects, then for
+ " table completion, if we have it, it should be included
+ " as there can be the same table names in a database yet
+ " with different owner names.
+ if g:omni_sql_include_owner == 1 && owner != '' && table != ''
+ let compl_list = s:SQLCGetColumns(owner.'.'.table, list_type)
+ else
+ let compl_list = s:SQLCGetColumns(table, list_type)
+ endif
+
if column != ''
" If no column prefix has been provided and the table
" name was provided, append it to each of the items
@@ -393,11 +440,14 @@ function! sqlcomplete#Complete(findstart, base)
endif
elseif compl_type == 'resetCache'
" Reset all cached items
- let s:tbl_name = []
- let s:tbl_alias = []
- let s:tbl_cols = []
- let s:syn_list = []
- let s:syn_value = []
+ let s:tbl_name = []
+ let s:tbl_alias = []
+ let s:tbl_cols = []
+ let s:syn_list = []
+ let s:syn_value = []
+ let s:sql_file_table = ""
+ let s:sql_file_procedure = ""
+ let s:sql_file_view = ""
let msg = "All SQL cached items have been removed."
call s:SQLCWarningMsg(msg)
@@ -423,12 +473,27 @@ function! sqlcomplete#Complete(findstart, base)
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
let compl_list = filter(deepcopy(compl_list), expr)
+
+ if empty(compl_list) && compl_type == 'table' && base =~ '\.$'
+ " It is possible we could be looking for column name completion
+ " and the user simply hit C-X C-O to lets try it as well
+ " since we had no hits with the tables.
+ " If the base ends with a . it is hard to know if we are
+ " completing table names or column names.
+ let list_type = ''
+
+ let compl_list = s:SQLCGetColumns(base, list_type)
+ endif
endif
if exists('b:sql_compl_savefunc') && b:sql_compl_savefunc != ""
let &omnifunc = b:sql_compl_savefunc
endif
+ if empty(compl_list)
+ call s:SQLCWarningMsg( 'Could not find type['.compl_type.'] using prepend[.'.s:prepended.'] base['.a:base.']' )
+ endif
+
return compl_list
endfunc
@@ -664,8 +729,26 @@ function! s:SQLCGetObjectOwner(object)
endfunction
function! s:SQLCGetColumns(table_name, list_type)
+ if a:table_name =~ '\.'
+ " Check if the owner/creator has been specified
+ let owner = matchstr( a:table_name, '^\zs.*\ze\..*\..*' )
+ let table = matchstr( a:table_name, '^\(.*\.\)\?\zs.*\ze\..*' )
+ let column = matchstr( a:table_name, '.*\.\zs.*' )
+
+ if g:omni_sql_include_owner == 1 && owner == '' && table != '' && column != ''
+ let owner = table
+ let table = column
+ let column = ''
+ endif
+ else
+ let owner = ''
+ let table = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
+ let column = ''
+ endif
+
" Check if the table name was provided as part of the column name
- let table_name = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
+ " let table_name = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
+ let table_name = table
let table_cols = []
let table_alias = ''
let move_to_top = 1
@@ -786,7 +869,12 @@ function! s:SQLCGetColumns(table_name, list_type)
if table_name_new != ''
let table_alias = table_name
- let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' )
+ if g:omni_sql_include_owner == 1
+ let table_name = matchstr( table_name_new, '^\zs\(.\{-}\.\)\?\(.\{-}\.\)\?.*\ze' )
+ else
+ " let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' )
+ let table_name = matchstr( table_name_new, '^\(.\{-}\.\)\?\zs\(.\{-}\.\)\?.*\ze' )
+ endif
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
if list_idx > -1
@@ -828,7 +916,8 @@ function! s:SQLCGetColumns(table_name, list_type)
if empty(table_cols)
" Specify silent mode, no messages to the user (tbl, 1)
" Specify do not comma separate (tbl, 1, 1)
- let table_cols_str = DB_getListColumn(table_name, 1, 1)
+ " let table_cols_str = DB_getListColumn(table_name, 1, 1)
+ let table_cols_str = DB_getListColumn((owner!=''?owner.'.':'').table_name, 1, 1)
if table_cols_str != ""
let s:tbl_name = add( s:tbl_name, table_name )
@@ -854,3 +943,7 @@ function! s:SQLCGetColumns(table_name, list_type)
return table_cols
endfunction
+" Restore:
+let &cpo= s:keepcpo
+unlet s:keepcpo
+" vim: ts=4 fdm=marker
View
114 runtime/autoload/syntaxcomplete.vim
@@ -1,22 +1,26 @@
" Vim completion script
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
-" Version: 10.0
-" Last Change: 2012 Oct 20
-" Usage: For detailed help, ":help ft-syntax-omni"
+" Version: 11.0
+" Last Change: 2012 Dec 04
+" Usage: For detailed help, ":help ft-syntax-omni"
" History
"
+" Version 11.0
+" Corrected which characters required escaping during
+" substitution calls.
+"
" Version 10.0
" Cycle through all the character ranges specified in the
" iskeyword option and build a list of valid word separators.
-" Prior to this change, only actual characters were used,
-" where for example ASCII "45" == "-". If "45" were used
-" in iskeyword the hyphen would not be picked up.
+" Prior to this change, only actual characters were used,
+" where for example ASCII "45" == "-". If "45" were used
+" in iskeyword the hyphen would not be picked up.
" This introduces a new option, since the character ranges
" specified could be multibyte:
" let g:omni_syntax_use_single_byte = 1
-" This by default will only allow single byte ASCII
+" This by default will only allow single byte ASCII
" characters to be added and an additional check to ensure
" the charater is printable (see documentation for isprint).
"
@@ -32,19 +36,19 @@
" Version 7.0
" Updated syntaxcomplete#OmniSyntaxList()
" - Looking up the syntax groups defined from a syntax file
-" looked for only 1 format of {filetype}GroupName, but some
+" looked for only 1 format of {filetype}GroupName, but some
" syntax writers use this format as well:
" {b:current_syntax}GroupName
" OmniSyntaxList() will now check for both if the first
" method does not find a match.
"
" Version 6.0
" Added syntaxcomplete#OmniSyntaxList()
-" - Allows other plugins to use this for their own
+" - Allows other plugins to use this for their own
" purposes.
" - It will return a List of all syntax items for the
-" syntax group name passed in.
-" - XPTemplate for SQL will use this function via the
+" syntax group name passed in.
+" - XPTemplate for SQL will use this function via the
" sqlcomplete plugin to populate a Choose box.
"
" Version 5.0
@@ -54,7 +58,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.
@@ -64,9 +68,9 @@ if exists('+omnifunc')
endif
if exists('g:loaded_syntax_completion')
- finish
+ finish
endif
-let g:loaded_syntax_completion = 100
+let g:loaded_syntax_completion = 110
" Turn on support for line continuations when creating the script
let s:cpo_save = &cpo
@@ -190,7 +194,7 @@ endfunc
function! syntaxcomplete#OmniSyntaxList(...)
if a:0 > 0
let parms = []
- if 3 == type(a:1)
+ if 3 == type(a:1)
let parms = a:1
elseif 1 == type(a:1)
let parms = split(a:1, ',')
@@ -204,7 +208,7 @@ endfunc
function! OmniSyntaxList(...)
let list_parms = []
if a:0 > 0
- if 3 == type(a:1)
+ if 3 == type(a:1)
let list_parms = a:1
elseif 1 == type(a:1)
let list_parms = split(a:1, ',')
@@ -240,18 +244,18 @@ function! OmniSyntaxList(...)
let saveL = @l
let filetype = substitute(&filetype, '\.', '_', 'g')
-
+
if empty(list_parms)
" Default the include group to include the requested syntax group
let syntax_group_include_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_include_'.filetype)
let syntax_group_include_{filetype} =
- \ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
+ \ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
let list_parms = split(g:omni_syntax_group_include_{filetype}, ',')
if syntax_group_include_{filetype} =~ '\w'
- let syntax_group_include_{filetype} =
- \ substitute( syntax_group_include_{filetype},
+ let syntax_group_include_{filetype} =
+ \ substitute( syntax_group_include_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
@@ -261,11 +265,11 @@ function! OmniSyntaxList(...)
endif
" Loop through all the syntax groupnames, and build a
- " syntax file which contains these names. This can
+ " syntax file which contains these names. This can
" work generically for any filetype that does not already
" have a plugin defined.
" This ASSUMES the syntax groupname BEGINS with the name
- " of the filetype. From my casual viewing of the vim7\syntax
+ " of the filetype. From my casual viewing of the vim7\syntax
" directory this is true for almost all syntax definitions.
" As an example, the SQL syntax groups have this pattern:
" sqlType
@@ -278,7 +282,7 @@ function! OmniSyntaxList(...)
let syntax_full = "\n".@l
let @l = saveL
- if syntax_full =~ 'E28'
+ if syntax_full =~ 'E28'
\ || syntax_full =~ 'E411'
\ || syntax_full =~ 'E415'
\ || syntax_full =~ 'No Syntax items'
@@ -288,19 +292,19 @@ function! OmniSyntaxList(...)
let filetype = substitute(&filetype, '\.', '_', 'g')
let list_exclude_groups = []
- if a:0 > 0
+ if a:0 > 0
" Do nothing since we have specific a specific list of groups
else
" Default the exclude group to nothing
let syntax_group_exclude_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_exclude_'.filetype)
let syntax_group_exclude_{filetype} =
- \ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
+ \ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
let list_exclude_groups = split(g:omni_syntax_group_exclude_{filetype}, ',')
- if syntax_group_exclude_{filetype} =~ '\w'
- let syntax_group_exclude_{filetype} =
- \ substitute( syntax_group_exclude_{filetype},
+ if syntax_group_exclude_{filetype} =~ '\w'
+ let syntax_group_exclude_{filetype} =
+ \ substitute( syntax_group_exclude_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
@@ -317,14 +321,14 @@ function! OmniSyntaxList(...)
while ftindex > -1
let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
- " Syntax rules can contain items for more than just the current
+ " Syntax rules can contain items for more than just the current
" filetype. They can contain additional items added by the user
" via autocmds or their vimrc.
" Some syntax files can be combined (html, php, jsp).
" We want only items that begin with the filetype we are interested in.
let next_group_regex = '\n' .
\ '\zs'.ft_part_name.'\w\+\ze'.
- \ '\s\+xxx\s\+'
+ \ '\s\+xxx\s\+'
let index = 0
let index = match(syntax_full, next_group_regex, index)
@@ -338,11 +342,11 @@ function! OmniSyntaxList(...)
" syn keyword {syntax_filename}Keyword values ...
" let b:current_syntax = "mysql"
" So, we will make the format of finding the syntax group names
- " a bit more flexible and look for both if the first fails to
+ " a bit more flexible and look for both if the first fails to
" find a match.
let next_group_regex = '\n' .
\ '\zs'.b:current_syntax.'\w\+\ze'.
- \ '\s\+xxx\s\+'
+ \ '\s\+xxx\s\+'
let index = 0
let index = match(syntax_full, next_group_regex, index)
endif
@@ -356,9 +360,9 @@ function! OmniSyntaxList(...)
let get_syn_list = 0
endif
endfor
-
+
" This code is no longer needed in version 6.0 since we have
- " augmented the syntax list command to only retrieve the syntax
+ " augmented the syntax list command to only retrieve the syntax
" groups we are interested in.
"
" if get_syn_list == 1
@@ -370,7 +374,7 @@ function! OmniSyntaxList(...)
" endif
if get_syn_list == 1
- " Pass in the full syntax listing, plus the group name we
+ " Pass in the full syntax listing, plus the group name we
" are interested in.
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
let syn_list = syn_list . extra_syn_list . "\n"
@@ -424,7 +428,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" \| - 2nd potential match
" \%$ - matches end of the file or string
" \) - end a group
- let syntax_group = matchstr(a:syntax_full,
+ let syntax_group = matchstr(a:syntax_full,
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze\(\n\w\|\%$\)'
\ )
@@ -434,42 +438,42 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" We only want the words for the lines begining with
" containedin, but there could be other items.
-
+
" Tried to remove all lines that do not begin with contained
" but this does not work in all cases since you can have
" contained nextgroup=...
" So this will strip off the ending of lines with known
" keywords.
- let syn_list = substitute(
+ let syn_list = substitute(
\ syntax_group, '\<\('.
\ substitute(
\ escape(s:syn_remove_words, '\\/.*$^~[]')
\ , ',', '\\|', 'g'
\ ).
\ '\).\{-}\%($\|'."\n".'\)'
- \ , "\n", 'g'
+ \ , "\n", 'g'
\ )
" Now strip off the newline + blank space + contained.
" Also include lines with nextgroup=@someName skip_key_words syntax_element
- let syn_list = substitute(
+ let syn_list = substitute(
\ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
- \ , "", 'g'
+ \ , "", 'g'
\ )
" This can leave lines like this
" =@vimMenuList skipwhite onoremenu
" Strip the special option keywords first
" :h :syn-skipwhite*
- let syn_list = substitute(
+ let syn_list = substitute(
\ syn_list, '\<\(skipwhite\|skipnl\|skipempty\)\>'
- \ , "", 'g'
+ \ , "", 'g'
\ )
" Now remove the remainder of the nextgroup=@someName lines
- let syn_list = substitute(
+ let syn_list = substitute(
\ syn_list, '\%(^\|\n\)\@<=\s*\(@\w\+\)'
- \ , "", 'g'
+ \ , "", 'g'
\ )
if b:omni_syntax_use_iskeyword == 0
@@ -484,17 +488,17 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" Numeric values convert to their ASCII equivalent using the
" nr2char() function.
" & 38
- " * 42
+ " * 42
" + 43
- " - 45
+ " - 45
" ^ 94
- " Iterate through all numeric specifications and convert those
+ " Iterate through all numeric specifications and convert those
" to their ascii equivalent ensuring the character is printable.
" If so, add it to the list.
let accepted_chars = ''
for item in split(&iskeyword, ',')
if item =~ '-'
- " This is a character range (ie 47-58),
+ " This is a character range (ie 47-58),
" cycle through each character within the range
let [b:start, b:end] = split(item, '-')
for range_item in range( b:start, b:end )
@@ -520,7 +524,11 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
endif
endfor
" Escape special regex characters
- let accepted_chars = escape(accepted_chars, '\\/.*$^~[]' )
+ " Looks like the wrong chars are escaped. In a collection,
+ " :h /[]
+ " only `]', `\', `-' and `^' are special:
+ " let accepted_chars = escape(accepted_chars, '\\/.*$^~[]' )
+ let accepted_chars = escape(accepted_chars, ']\-^' )
" Remove all characters that are not acceptable
let syn_list = substitute( syn_list, '[^A-Za-z'.accepted_chars.']', ' ', 'g' )
else
@@ -534,7 +542,11 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" Remove all commas
let accept_chars = substitute(accept_chars, ',', '', 'g')
" Escape special regex characters
- let accept_chars = escape(accept_chars, '\\/.*$^~[]' )
+ " Looks like the wrong chars are escaped. In a collection,
+ " :h /[]
+ " only `]', `\', `-' and `^' are special:
+ " let accept_chars = escape(accept_chars, '\\/.*$^~[]' )
+ let accept_chars = escape(accept_chars, ']\-^' )
" Remove all characters that are not acceptable
let syn_list = substitute( syn_list, '[^0-9A-Za-z_'.accept_chars.']', ' ', 'g' )
endif
View
25 runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.3. Last change: 2012 Nov 21
+*eval.txt* For Vim version 7.3. Last change: 2012 Dec 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4874,8 +4874,27 @@ round({expr}) *round()*
echo round(-4.5)
< -5.0
{only available when compiled with the |+float| feature}
-
-
+
+screencol() *screencol()*
+ The result is a Number, which is the current screen column of
+ the cursor. The leftmost column has number 1.
+ This function is mainly used for testing.
+
+ Note: Always returns the current screen column, thus if used
+ in a command (e.g. ":echo screencol()") it will return the
+ column inside the command line, which is 1 when the command is
+ executed. To get the cursor position in the file use one of
+ the following mappings: >
+ nnoremap <expr> GG ":echom ".screencol()."\n"
+ nnoremap <silent> GG :echom screencol()<CR>
+<
+screenrow() *screenrow()*
+ The result is a Number, which is the current screen row of the
+ cursor. The top line has number one.
+ This function is mainly used for testing.
+
+ Note: Same restrictions as with |screencol()|.
+
search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use |cursor()| to set it).
View
2 runtime/doc/tags
@@ -7481,6 +7481,8 @@ save-file editing.txt /*save-file*
save-settings starting.txt /*save-settings*
scheme.vim syntax.txt /*scheme.vim*
scp pi_netrw.txt /*scp*
+screencol() eval.txt /*screencol()*
+screenrow() eval.txt /*screenrow()*
script usr_41.txt /*script*
script-here if_perl.txt /*script-here*
script-local map.txt /*script-local*
View
52 runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3. Last change: 2012 Nov 28
+*todo.txt* For Vim version 7.3. Last change: 2012 Dec 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,6 +34,10 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
+On external command get the message:
+ SIGCHLD handler called (some thread has SIGCHLD unblocked)
+From MzScheme
+
Go through more coverity reports.
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
@@ -49,19 +53,10 @@ The CompleteDone autocommand needs some info passed to it:
- The word that was selected (empty if abandoned complete)
- Type of completion: tag, omnifunc, user func.
-Patch for Tab behavior with 'conceal'. (Dominique Pelle, 2012 Mar 18)
-Patch to test functionality of 'conceal' with tabs. (Simon Ruderich, 2012 Sep
-5) Update with screencol() and screenrow() functions: Sep 7.
-
-Patch for undefined integer behavior. (Dominique Pelle, 2012 Nov 4, second one)
-
-Patch to have Python interface not depend on multi-byte.
-
-Patch to fix justify.vim. (James McCoy, 2012 Nov 23)
+Patch for matchit.vim. (Mike Morearty, 2012 Nov 28)
-mouse_sgr is not ordered alphabetically in :version output.
-Docs list mouse_urxvt as normal feature, should be big. (Hayaki Saito, 2012
-Aug 16)
+Patch to fix that the QuitPre autocommand clears the quitmore flag. (Techlive
+Zheng, 2012 Nov 28)
":gundo" command: global undo. Undoes changes spread over multiple files in
the order they were made. Also ":gredo". Both with a count. Useful when
@@ -70,6 +65,8 @@ tests fail after making changes and you forgot in which files.
Patch to make updating tabline faster. (Arseny Kapoulkine, 2012 Oct 3)
Also remove the "rc" variable.
+Patch to make "- register not always used. (Christian Brabandt, 2012 Nov 28)
+
Crash with vimdiff. (Don Cruickshank, 2012 Sep 23)
Patch to support subdirectories for help files. (Charles Campbell, 2012 Nov
@@ -84,6 +81,10 @@ Update Oct 2.
Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
Oct 28)
+/[^\n] does match at a line break. Expected to do the same as /.
+Patch by Christian Brabandt, 2012 Dec 1.
+Test files in archive in another message.
+
Patch to make multibyte input work on Win32 console when codepage differs from
'encoding'. (Ken Takata, 2012 Sep 29)
@@ -190,7 +191,7 @@ When there are no command line arguments ":next" and ":argu" give E163, which
is confusing. Should say "the argument list is empty".
URXVT:
-- will get stuck if byte sequence does not containe expected semicolon.
+- will get stuck if byte sequence does not contain the expected semicolon.
- Use urxvt mouse support also in xterm. Explanations:
http://www.midnight-commander.org/ticket/2662
@@ -221,8 +222,6 @@ Patch Sep 18.
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
2012 Jul 20)
-/[^\n] does match at a line break. Expected to do the same as /.
-
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
And one for gui_x11.txt.
@@ -289,12 +288,6 @@ On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz,
'list' is set. (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
Christian Brabandt has another incomplete patch. (2011 Jul 13)
-Also: Alignment in help with tabs gets messed up, esp. at ":help index".
-Probably need to make a tab work like there was no concealing. Possibly with
-an option. Like line wrapping works as if there is no concealing.
-Patch by Dominique Pelle, Also fixes "fC" problem.
- "fC" doesn't position the cursor correctly when there are concealed
- characters. Patch by Christian Brabandt, 2011 Oct 11)
With concealed text mouse click doesn't put the cursor in the right position.
(Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly,
@@ -358,9 +351,6 @@ Christoph Ebersbach, 2011 Jul 3)
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
-This line hangs Vim, because of syntax HL:
-call append(line, "INFO ....12....18....24....30....36....42....48....54....60....66....72....78%$")
-
When using a Vim server, a # in the path causes an error message.
(Jeff Lanzarotta, 2011 Feb 17)
@@ -413,9 +403,6 @@ mapping, how to restore the script ID?
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
-Highlighting stops working after changing it many times. Script to reproduce
-it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
-
When setting a local option value from the global value, add a script ID that
indicates this, so that ":verbose set" can give a hint. Check with options in
the help file.
@@ -642,6 +629,11 @@ Add local time at start of --startuptime output.
Requires configure check for localtime().
Use format year-month-day hr:min:sec.
+Patch to add "combine" to :syntax, combines highlight attributes. (Nate
+Soares, 2012 Dec 3)
+
+Patch to make ":hi link" also take arguments. (Nate Soares, 2012 Dec 4)
+
Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
Find tail? Might have a / in argument. Find space? Might have space in
path.
@@ -1295,10 +1287,6 @@ pointer in long and seek offset in 64 bit var.
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
-Win32: When there is 4 Gbyte of memory mch_avail_mem() doesn't work properly.
-Unfinished patch by Jelle Geerts, 2008 Aug 24.
-Let mch_avail_mem() return Kbyte instead?
-
Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
only takes 'shellslash' into account.
View
3 runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt* For Vim version 7.3. Last change: 2012 May 28
+*uganda.txt* For Vim version 7.3. Last change: 2012 Dec 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -238,6 +238,7 @@ Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
Holland: Transfer to the account of "Stichting ICCF Holland" in Lisse.
This will allow for tax deduction if you live in Holland.
Postbank, nr. 4548774
+ IBAN: NL95 INGB 0004 5487 74
Germany: It is possible to make donations that allow for a tax return.
Check the ICCF web site for the latest information:
View
50 runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.3. Last change: 2012 Aug 03
+*various.txt* For Vim version 7.3. Last change: 2012 Dec 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -353,75 +353,75 @@ N *+mouseshape* |'mouseshape'|
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
-N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
+N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
-N *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
-N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
-B *+multi_byte* 16 and 32 bit characters |multibyte|
+B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
+N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
+B *+multi_byte* 16 and 32 bit characters |multibyte|
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
-N *+multi_lang* non-English language support |multi-lang|
+N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
m *+netbeans_intg* |netbeans|
-m *+ole* Win32 GUI only: |ole-interface|
-N *+path_extra* Up/downwards search in 'path' and 'tags'
+m *+ole* Win32 GUI only: |ole-interface|
+N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+perl* Perl interface |perl|
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
N *+persistent_undo* Persistent undo |undo-persistence|
- *+postscript* |:hardcopy| writes a PostScript file
+ *+postscript* |:hardcopy| writes a PostScript file
N *+printer* |:hardcopy| command
H *+profile* |:profile| command
m *+python* Python 2 interface |python|
-m *+python/dyn* Python 2 interface |python-dynamic| |/dyn|
+m *+python/dyn* Python 2 interface |python-dynamic| |/dyn|
m *+python3* Python 3 interface |python|
-m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn|
+m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn|
N *+quickfix* |:make| and |quickfix| commands
N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
'redrawtime' option
B *+rightleft* Right to left typing |'rightleft'|
m *+ruby* Ruby interface |ruby|
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
-N *+scrollbind* |'scrollbind'|
+N *+scrollbind* |'scrollbind'|
B *+signs* |:sign|
-N *+smartindent* |'smartindent'|
+N *+smartindent* |'smartindent'|
m *+sniff* SniFF interface |sniff|
-N *+startuptime* |--startuptime| argument
-N *+statusline* Options 'statusline', 'rulerformat' and special
+N *+startuptime* |--startuptime| argument
+N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
m *+sun_workshop* |workshop|
N *+syntax* Syntax highlighting |syntax|
*+system()* Unix only: opposite of |+fork|
-N *+tag_binary* binary searching in tags file |tag-binary-search|
+N *+tag_binary* binary searching in tags file |tag-binary-search|
N *+tag_old_static* old method for static tags |tag-old-static|
m *+tag_any_white* any white space allowed in tags file |tag-any-white|
-m *+tcl* Tcl interface |tcl|
+m *+tcl* Tcl interface |tcl|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
*+terminfo* uses |terminfo| instead of termcap
N *+termresponse* support for |t_RV| and |v:termresponse|
-N *+textobjects* |text-objects| selection
+N *+textobjects* |text-objects| selection
*+tgetent* non-Unix only: able to use external termcap
N *+title* Setting the window 'title' and 'icon'
N *+toolbar* |gui-toolbar|
N *+user_commands* User-defined commands. |user-commands|
N *+viminfo* |'viminfo'|
N *+vertsplit* Vertically split windows |:vsplit|
-N *+virtualedit* |'virtualedit'|
+N *+virtualedit* |'virtualedit'|
S *+visual* Visual mode |Visual-mode|
-N *+visualextra* extra Visual mode commands |blockwise-operators|
+N *+visualextra* extra Visual mode commands |blockwise-operators|
N *+vreplace* |gR| and |gr|
-N *+wildignore* |'wildignore'|
+N *+wildignore* |'wildignore'|
N *+wildmenu* |'wildmenu'|
S *+windows* more than one window
-m *+writebackup* |'writebackup'| is default on
-m *+xim* X input method |xim|
+m *+writebackup* |'writebackup'| is default on
+m *+xim* X input method |xim|
*+xfontset* X fontset support |xfontset|
m *+xpm_w32* Win32 GUI only: pixmap support |w32-xpm-support|
*+xsmp* XSMP (X session management) support
*+xsmp_interact* interactive XSMP (X session management) support
N *+xterm_clipboard* Unix only: xterm clipboard handling
-m *+xterm_save* save and restore xterm screen |xterm-screens|
-N *+X11* Unix only: can restore window title |X11|
+m *+xterm_save* save and restore xterm screen |xterm-screens|
+N *+X11* Unix only: can restore window title |X11|
*/dyn* *E370* *E448*
To some of the features "/dyn" is added when the
View
157 runtime/ftplugin/sql.vim
@@ -1,8 +1,8 @@
" SQL filetype plugin file
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
-" Version: 8.0
+" Version: 10.0
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2012 May 18
+" Last Change: 2012 Dec 04
" Download: http://vim.sourceforge.net/script.php?script_id=454
" For more details please use:
@@ -30,34 +30,48 @@
" To change the default dialect, add the following to your vimrc:
" let g:sql_type_default = 'sqlanywhere'
"
-" This file also creates a command, SQLGetType, which allows you to
+" This file also creates a command, SQLGetType, which allows you to
" determine what the current dialect is in use.
" :SQLGetType
"
" History
"
+" Version 10.0 (Dec 2012)
+"
+" NF: Changed all maps to use noremap instead of must map
+" NF: Changed all visual maps to use xnoremap instead of vnoremap as they
+" should only be used in visual mode and not select mode.
+" BF: Most of the maps were using doubled up backslashes before they were
+" changed to using the search() function, which meant they no longer
+" worked.
+"
+" Version 9.0
+"
+" NF: Completes 'b:undo_ftplugin'
+" BF: Correctly set cpoptions when creating script
+"
" Version 8.0
-"
+"
" NF: Improved the matchit plugin regex (Talek)
"
" Version 7.0
-"
+"
" NF: Calls the sqlcomplete#ResetCacheSyntax() function when calling
" SQLSetType.
"
" Version 6.0
-"
+"
" NF: Adds the command SQLGetType
"
" Version 5.0
-"
-" NF: Adds the ability to choose the keys to control SQL completion, just add
+"
+" NF: Adds the ability to choose the keys to control SQL completion, just add
" the following to your .vimrc:
" let g:ftplugin_sql_omni_key = '<C-C>'
" let g:ftplugin_sql_omni_key_right = '<Right>'
" let g:ftplugin_sql_omni_key_left = '<Left>'
"
-" BF: format-options - Auto-wrap comments using textwidth was turned off
+" BF: format-options - Auto-wrap comments using textwidth was turned off
" by mistake.
@@ -81,7 +95,7 @@ setlocal formatoptions+=c
" This works with both Vim 6 and 7.
if !exists("*SQL_SetType")
- " NOTE: You cannot use function! since this file can be
+ " NOTE: You cannot use function! since this file can be
" sourced from within this function. That will result in
" an error reported by Vim.
function SQL_GetList(ArgLead, CmdLine, CursorPos)
@@ -105,9 +119,9 @@ if !exists("*SQL_SetType")
"
" Recursively, since there are many filenames that contain
" the word SQL in the indent, syntax and ftplugin directory
- let sqls = substitute( sqls,
- \ '[\n]\%(.\{-}\)\(\w\+\.\w\+\)\n\@=',
- \ '\1\n',
+ let sqls = substitute( sqls,
+ \ '[\n]\%(.\{-}\)\(\w\+\.\w\+\)\n\@=',
+ \ '\1\n',
\ 'g'
\ )
@@ -142,10 +156,10 @@ if !exists("*SQL_SetType")
function SQL_SetType(name)
" User has decided to override default SQL scripts and
- " specify a vendor specific version
+ " specify a vendor specific version
" (ie Oracle, Informix, SQL Anywhere, ...)
" So check for an remove any settings that prevent the
- " scripts from being executed, and then source the
+ " scripts from being executed, and then source the
" appropriate Vim scripts.
if exists("b:did_ftplugin")
unlet b:did_ftplugin
@@ -163,10 +177,10 @@ if !exists("*SQL_SetType")
endif
" Ensure the name is in the correct format
- let new_sql_type = substitute(a:name,
+ let new_sql_type = substitute(a:name,
\ '\s*\([^\.]\+\)\(\.\w\+\)\?', '\L\1', '')
- " Do not specify a buffer local variable if it is
+ " Do not specify a buffer local variable if it is
" the default value
if new_sql_type == 'sql'
let new_sql_type = 'sqloracle'
@@ -203,10 +217,10 @@ endif
if !exists("*SQL_GetType")
function SQL_GetType()
- if exists('b:sql_type_override')
+ if exists('b:sql_type_override')
echomsg "Current SQL dialect in use:".b:sql_type_override
else
- echomsg "Current SQL dialect in use:".g:sql_type_default
+ echomsg "Current SQL dialect in use:".g:sql_type_default
endif
endfunction
command! -nargs=0 SQLGetType :call SQL_GetType()
@@ -233,7 +247,8 @@ if exists("b:did_ftplugin")
finish
endif
-let b:undo_ftplugin = "setl comments<"
+let b:undo_ftplugin = "setl comments< formatoptions< define< omnifunc<" .
+ \ " | unlet! b:browsefilter b:match_words"
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
@@ -280,7 +295,7 @@ if !exists("b:match_words")
" doend
"
" case
- " when
+ " when
" when
" default
" end case
@@ -296,8 +311,10 @@ if !exists("b:match_words")
" create[ or replace] procedure|function|event
" \ '^\s*\<\%(do\|for\|while\|loop\)\>.*:'.
- let b:match_words =
- \ '\<begin\>:\<end\>\W*$,'.
+ " For ColdFusion support
+ setlocal matchpairs+=<:>
+ let b:match_words = &matchpairs .
+ \ ',\<begin\>:\<end\>\W*$,'.
\
\ s:notend . '\<if\>:'.
\ '\<elsif\>\|\<elseif\>\|\<else\>:'.
@@ -337,14 +354,14 @@ let &l:define = '\c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\>'
" Mappings to move to the next BEGIN ... END block
" \W - no characters or digits
-nmap <buffer> <silent> ]] :call search('\\c^\\s*begin\\>', 'W' )<CR>
-nmap <buffer> <silent> [[ :call search('\\c^\\s*begin\\>', 'bW' )<CR>
-nmap <buffer> <silent> ][ :call search('\\c^\\s*end\\W*$', 'W' )<CR>
-nmap <buffer> <silent> [] :call search('\\c^\\s*end\\W*$', 'bW' )<CR>
-vmap <buffer> <silent> ]] :<C-U>exec "normal! gv"<Bar>call search('\\c^\\s*begin\\>', 'W' )<CR>
-vmap <buffer> <silent> [[ :<C-U>exec "normal! gv"<Bar>call search('\\c^\\s*begin\\>', 'bW' )<CR>
-vmap <buffer> <silent> ][ :<C-U>exec "normal! gv"<Bar>call search('\\c^\\s*end\\W*$', 'W' )<CR>
-vmap <buffer> <silent> [] :<C-U>exec "normal! gv"<Bar>call search('\\c^\\s*end\\W*$', 'bW' )<CR>
+nnoremap <buffer> <silent> ]] :call search('\c^\s*begin\>', 'W' )<CR>
+nnoremap <buffer> <silent> [[ :call search('\c^\s*begin\>', 'bW' )<CR>
+nnoremap <buffer> <silent> ][ :call search('\c^\s*end\W*$', 'W' )<CR>
+nnoremap <buffer> <silent> [] :call search('\c^\s*end\W*$', 'bW' )<CR>
+xnoremap <buffer> <silent> ]] :<C-U>exec "normal! gv"<Bar>call search('\c^\s*begin\>', 'W' )<CR>
+xnoremap <buffer> <silent> [[ :<C-U>exec "normal! gv"<Bar>call search('\c^\s*begin\>', 'bW' )<CR>
+xnoremap <buffer> <silent> ][ :<C-U>exec "normal! gv"<Bar>call search('\c^\s*end\W*$', 'W' )<CR>
+xnoremap <buffer> <silent> [] :<C-U>exec "normal! gv"<Bar>call search('\c^\s*end\W*$', 'bW' )<CR>
" By default only look for CREATE statements, but allow
@@ -361,7 +378,7 @@ endif
" backwards, you must use \{,1}
if !exists('g:ftplugin_sql_objects')
let g:ftplugin_sql_objects = 'function,procedure,event,' .
- \ '\\(existing\\\\|global\\s\\+temporary\\s\\+\\)\\\{,1}' .
+ \ '\(existing\\|global\s\+temporary\s\+\)\{,1}' .
\ 'table,trigger' .
\ ',schema,service,publication,database,datatype,domain' .
\ ',index,subscription,synchronization,view,variable'
@@ -382,47 +399,47 @@ endif
" Replace all ,'s with bars, except ones with numbers after them.
" This will most likely be a \{,1} string.
-let s:ftplugin_sql_objects =
- \ '\\c^\\s*' .
- \ '\\(\\(' .
- \ substitute(g:ftplugin_sql_statements, ',\d\@!', '\\\\\\|', 'g') .
- \ '\\)\\s\\+\\(or\\s\\+replace\\\s\+\\)\\{,1}\\)\\{,1}' .
- \ '\\<\\(' .
- \ substitute(g:ftplugin_sql_objects, ',\d\@!', '\\\\\\|', 'g') .
- \ '\\)\\>'
+let s:ftplugin_sql_objects =
+ \ '\c^\s*' .
+ \ '\(\(' .
+ \ substitute(g:ftplugin_sql_statements, ',\d\@!', '\\\\|', 'g') .
+ \ '\)\s\+\(or\s\+replace\s\+\)\{,1}\)\{,1}' .
+ \ '\<\(' .
+ \ substitute(g:ftplugin_sql_objects, ',\d\@!', '\\\\|', 'g') .
+ \ '\)\>'
" Mappings to move to the next CREATE ... block
-exec "nmap <buffer> <silent> ]} :call search('".s:ftplugin_sql_objects."', 'W')<CR>"
-exec "nmap <buffer> <silent> [{ :call search('".s:ftplugin_sql_objects."', 'bW')<CR>"
+exec "nnoremap <buffer> <silent> ]} :call search('".s:ftplugin_sql_objects."', 'W')<CR>"
+exec "nnoremap <buffer> <silent> [{ :call search('".s:ftplugin_sql_objects."', 'bW')<CR>"
" Could not figure out how to use a :call search() string in visual mode
" without it ending visual mode
" Unfortunately, this will add a entry to the search history
-exec 'vmap <buffer> <silent> ]} /'.s:ftplugin_sql_objects.'<CR>'
-exec 'vmap <buffer> <silent> [{ ?'.s:ftplugin_sql_objects.'<CR>'
+exec 'xnoremap <buffer> <silent> ]} /'.s:ftplugin_sql_objects.'<CR>'
+exec 'xnoremap <buffer> <silent> [{ ?'.s:ftplugin_sql_objects.'<CR>'
" Mappings to move to the next COMMENT
"
" Had to double the \ for the \| separator since this has a special
" meaning on maps
-let b:comment_leader = '\\(--\\\|\\/\\/\\\|\\*\\\|\\/\\*\\\|\\*\\/\\)'
+let b:comment_leader = '\(--\\|\/\/\\|\*\\|\/\*\\|\*\/\)'
" Find the start of the next comment
-let b:comment_start = '^\\(\\s*'.b:comment_leader.'.*\\n\\)\\@<!'.
- \ '\\(\\s*'.b:comment_leader.'\\)'
+let b:comment_start = '^\(\s*'.b:comment_leader.'.*\n\)\@<!'.
+ \ '\(\s*'.b:comment_leader.'\)'
" Find the end of the previous comment
-let b:comment_end = '\\(^\\s*'.b:comment_leader.'.*\\n\\)'.
- \ '\\(^\\s*'.b:comment_leader.'\\)\\@!'
+let b:comment_end = '\(^\s*'.b:comment_leader.'.*\n\)'.
+ \ '\(^\s*'.b:comment_leader.'\)\@!'
" Skip over the comment
let b:comment_jump_over = "call search('".
- \ '^\\(\\s*'.b:comment_leader.'.*\\n\\)\\@<!'.
+ \ '^\(\s*'.b:comment_leader.'.*\n\)\@<!'.
\ "', 'W')"
let b:comment_skip_back = "call search('".
- \ '^\\(\\s*'.b:comment_leader.'.*\\n\\)\\@<!'.
+ \ '^\(\s*'.b:comment_leader.'.*\n\)\@<!'.
\ "', 'bW')"
" Move to the start and end of comments
exec 'nnoremap <silent><buffer> ]" :call search('."'".b:comment_start."'".', "W" )<CR>'
exec 'nnoremap <silent><buffer> [" :call search('."'".b:comment_end."'".', "W" )<CR>'
-exec 'vnoremap <silent><buffer> ]" :<C-U>exec "normal! gv"<Bar>call search('."'".b:comment_start."'".', "W" )<CR>'
-exec 'vnoremap <silent><buffer> [" :<C-U>exec "normal! gv"<Bar>call search('."'".b:comment_end."'".', "W" )<CR>'
+exec 'xnoremap <silent><buffer> ]" :<C-U>exec "normal! gv"<Bar>call search('."'".b:comment_start."'".', "W" )<CR>'
+exec 'xnoremap <silent><buffer> [" :<C-U>exec "normal! gv"<Bar>call search('."'".b:comment_end."'".', "W" )<CR>'
" Comments can be of the form:
" /*
@@ -431,7 +448,7 @@ exec 'vnoremap <silent><buffer> [" :<C-U>exec "normal! gv"<Bar>call search('."'"
" or
" --
" or
-" //
+" //
setlocal comments=s1:/*,mb:*,ex:*/,:--,://
" Set completion with CTRL-X CTRL-O to autoloaded function.
@@ -443,40 +460,40 @@ if exists('&omnifunc')
" This is used by the sqlcomplete.vim plugin
" Source it for it's global functions
- runtime autoload/syntaxcomplete.vim
+ runtime autoload/syntaxcomplete.vim
setlocal omnifunc=sqlcomplete#Complete
" Prevent the intellisense plugin from loading
let b:sql_vis = 1
if !exists('g:omni_sql_no_default_maps')
" Static maps which use populate the completion list
" using Vim's syntax highlighting rules
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
" Dynamic maps which use populate the completion list
" using the dbext.vim plugin
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'p <C-\><C-O>:call sqlcomplete#Map("procedure")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'v <C-\><C-O>:call sqlcomplete#Map("view")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'c <C-\><C-O>:call sqlcomplete#Map("column")<CR><C-X><C-O>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'l <C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'p <C-\><C-O>:call sqlcomplete#Map("procedure")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'v <C-\><C-O>:call sqlcomplete#Map("view")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'c <C-\><C-O>:call sqlcomplete#Map("column")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'l <C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
" The next 3 maps are only to be used while the completion window is
" active due to the <CR> at the beginning of the map
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'L <C-Y><C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'L <C-Y><C-\><C-O>:call sqlcomplete#Map("column_csv")<CR><C-X><C-O>'
" <C-Right> is not recognized on most Unix systems, so only create
" these additional maps on the Windows platform.
" If you would like to use these maps, choose a different key and make
" the same map in your vimrc.
" if has('win32')
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key_right.' <C-R>=sqlcomplete#DrillIntoTable()<CR>'
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key_left.' <C-R>=sqlcomplete#DrillOutOfColumns()<CR>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key_right.' <C-R>=sqlcomplete#DrillIntoTable()<CR>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key_left.' <C-R>=sqlcomplete#DrillOutOfColumns()<CR>'
" endif
" Remove any cached items useful for schema changes
- exec 'imap <buffer> '.g:ftplugin_sql_omni_key.'R <C-\><C-O>:call sqlcomplete#Map("resetCache")<CR><C-X><C-O>'
+ exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'R <C-\><C-O>:call sqlcomplete#Map("resetCache")<CR><C-X><C-O>'
endif
if b:sql_compl_savefunc != ""
View
96 runtime/indent/sqlanywhere.vim
@@ -1,8 +1,8 @@
" Vim indent file
" Language: SQL
-" Maintainer: David Fishburn <fishburn at ianywhere dot com>
-" Last Change: Mon Apr 02 2007 9:13:47 AM
-" Version: 1.5
+" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
+" Last Change: 2012 Dec 05
+" Version: 3.0
" Download: http://vim.sourceforge.net/script.php?script_id=495
" Notes:
@@ -18,13 +18,26 @@
" Known Issues:
" The Oracle MERGE statement does not have an end tag associated with
" it, this can leave the indent hanging to the right one too many.
+"
+" History:
+" 3.0 (Dec 2012)
+" Added cpo check
+"
+" 2.0
+" Added the FOR keyword to SQLBlockStart to handle (Alec Tica):
+" for i in 1..100 loop
+" |<-- I expect to have indentation here
+" end loop;
+"
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
let b:current_indent = "sqlanywhere"
+let s:keepcpo= &cpo
+set cpo&vim
setlocal indentkeys-=0{
setlocal indentkeys-=0}
@@ -44,20 +57,13 @@ setlocal indentkeys+==~end,=~else,=~elseif,=~elsif,0=~when,0=)
" in the indentkeys is typed
setlocal indentexpr=GetSQLIndent()
-" Only define the functions once.
-if exists("*GetSQLIndent")
- finish
-endif
-let s:keepcpo= &cpo
-set cpo&vim
-
" List of all the statements that start a new block.
" These are typically words that start a line.
" IS is excluded, since it is difficult to determine when the
" ending block is (especially for procedures/functions).
let s:SQLBlockStart = '^\s*\%('.
- \ 'if\|else\|elseif\|elsif\|'.
- \ 'while\|loop\|do\|'.
+ \ 'if\|else\|elseif\|elsif\|'.
+ \ 'while\|loop\|do\|for\|'.
\ 'begin\|'.
\ 'case\|when\|merge\|exception'.
\ '\)\>'
@@ -66,7 +72,7 @@ let s:SQLBlockEnd = '^\s*\(end\)\>'
" The indent level is also based on unmatched paranethesis
" If a line has an extra "(" increase the indent
" If a line has an extra ")" decrease the indent
-function s:CountUnbalancedParan( line, paran_to_check )
+function! s:CountUnbalancedParan( line, paran_to_check )
let l = a:line
let lp = substitute(l, '[^(]', '', 'g')
let l = a:line
@@ -88,7 +94,7 @@ function s:CountUnbalancedParan( line, paran_to_check )
endfunction
" Unindent commands based on previous indent level
-function s:CheckToIgnoreRightParan( prev_lnum, num_levels )
+function! s:CheckToIgnoreRightParan( prev_lnum, num_levels )
let lnum = a:prev_lnum
let line = getline(lnum)
let ends = 0
@@ -151,7 +157,7 @@ endfunction
" something;
" WHEN ...
" Should return indent level of exception.
-function s:GetStmtStarterIndent( keyword, curr_lnum )
+function! s:GetStmtStarterIndent( keyword, curr_lnum )
let lnum = a:curr_lnum
" Default - reduce indent by 1
@@ -193,7 +199,7 @@ endfunction
" Check if the line is a comment
-function s:IsLineComment(lnum)
+function! s:IsLineComment(lnum)
let rc = synIDattr(
\ synID(a:lnum,
\ match(getline(a:lnum), '\S')+1, 0)
@@ -205,7 +211,7 @@ endfunction
" Check if the column is a comment
-function s:IsColComment(lnum, cnum)
+function! s:IsColComment(lnum, cnum)
let rc = synIDattr(synID(a:lnum, a:cnum, 0), "name")
\ =~? "comment"
@@ -215,7 +221,7 @@ endfunction
" Instead of returning a column position, return
" an appropriate value as a factor of shiftwidth.
-function s:ModuloIndent(ind)
+function! s:ModuloIndent(ind)
let ind = a:ind
if ind > 0
@@ -231,7 +237,7 @@ endfunction
" Find correct indent of a new line based upon the previous line
-function GetSQLIndent()
+function! GetSQLIndent()
let lnum = v:lnum
let ind = indent(lnum)
@@ -242,35 +248,27 @@ function GetSQLIndent()
" return ind
" endif
- " while 1
- " Get previous non-blank line
- let prevlnum = prevnonblank(lnum - 1)
- if prevlnum <= 0
- return ind
- endif
+ " Get previous non-blank line
+ let prevlnum = prevnonblank(lnum - 1)
+ if prevlnum <= 0
+ return ind
+ endif
- if s:IsLineComment(prevlnum) == 1
- if getline(v:lnum) =~ '^\s*\*'
- let ind = s:ModuloIndent(indent(prevlnum))
- return ind + 1
- endif
- " If the previous line is a comment, then return -1
- " to tell Vim to use the formatoptions setting to determine
- " the indent to use
- " But only if the next line is blank. This would be true if
- " the user is typing, but it would not be true if the user
- " is reindenting the file
- if getline(v:lnum) =~ '^\s*$'
- return -1
- endif
+ if s:IsLineComment(prevlnum) == 1
+ if getline(v:lnum) =~ '^\s*\*'
+ let ind = s:ModuloIndent(indent(prevlnum))
+ return ind + 1
endif
-
- " let prevline = getline(prevlnum)
- " if prevline !~ '^\s*$'
- " " echom 'previous non blank - break: ' . prevline
- " break
- " endif
- " endwhile
+ " If the previous line is a comment, then return -1
+ " to tell Vim to use the formatoptions setting to determine
+ " the indent to use
+ " But only if the next line is blank. This would be true if
+ " the user is typing, but it would not be true if the user
+ " is reindenting the file
+ if getline(v:lnum) =~ '^\s*$'
+ return -1
+ endif
+ endif
" echom 'PREVIOUS INDENT: ' . indent(prevlnum) . ' LINE: ' . getline(prevlnum)
@@ -384,7 +382,7 @@ function GetSQLIndent()
return s:ModuloIndent(ind)
endfunction
-let &cpo = s:keepcpo
+" Restore:
+let &cpo= s:keepcpo
unlet s:keepcpo
-
-" vim:sw=4:
+" vim: ts=4 fdm=marker sw=4
View
132 runtime/indent/yaml.vim
@@ -0,0 +1,132 @@
+" Vim indent file
+" Language: YAML
+" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
+
+" Only load this indent file when no other was loaded.
+if exists('b:did_indent')
+ finish
+endif
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+let b:did_indent = 1
+
+setlocal indentexpr=GetYAMLIndent(v:lnum)
+setlocal indentkeys=!^F,o,O,0#,0},0],<:>,-
+setlocal nosmartindent
+
+let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent<'
+
+" Only define the function once.
+if exists('*GetYAMLIndent')
+ finish
+endif
+
+if exists('*shiftwidth')
+ let s:shiftwidth = function('shiftwidth')
+else
+ function s:shiftwidth()
+ return &shiftwidth
+ endfunction
+endif
+
+function s:FindPrevLessIndentedLine(lnum, ...)
+ let prevlnum = prevnonblank(a:lnum-1)
+ let curindent = a:0 ? a:1 : indent(a:lnum)
+ while prevlnum
+ \&& indent(prevlnum) >= curindent
+ \&& getline(prevlnum) !~# '^\s*#'
+ let prevlnum = prevnonblank(prevlnum-1)
+ endwhile
+ return prevlnum
+endfunction
+
+function s:FindPrevLEIndentedLineMatchingRegex(lnum, regex)
+ let plilnum = s:FindPrevLessIndentedLine(a:lnum, indent(a:lnum)+1)
+ while plilnum && getline(plilnum) !~# a:regex
+ let plilnum = s:FindPrevLessIndentedLine(plilnum)
+ endwhile
+ return plilnum
+endfunction
+
+let s:mapkeyregex='\v^\s*%(\''%([^'']|'''')*\'''.
+ \ '|\"%([^"\\]|\\.)*\"'.
+ \ '|%(%(\:\ )@!.)*)\:%(\ |$)'
+let s:liststartregex='\v^\s*%(\-%(\ |$))'
+
+function GetYAMLIndent(lnum)
+ if a:lnum == 1 || !prevnonblank(a:lnum-1)
+ return 0
+ endif
+
+ let prevlnum = prevnonblank(a:lnum-1)
+ let previndent = indent(prevlnum)
+
+ let line = getline(a:lnum)
+ if line =~# '^\s*#' && getline(a:lnum-1) =~# '^\s*#'
+ " Comment blocks should have identical indent
+ return previndent
+ elseif line =~# '^\s*[\]}]'
+ " Lines containing only closing braces should have previous indent
+ return indent(s:FindPrevLessIndentedLine(a:lnum))
+ endif
+
+ " Ignore comment lines when calculating indent
+ while getline(prevlnum) =~# '^\s*#'
+ let prevlnum = prevnonblank(prevlnum-1)
+ if !prevlnum
+ return previndent
+ endif
+ endwhile
+
+ let prevline = getline(prevlnum)
+ let previndent = indent(prevlnum)
+
+ " Any examples below assume that shiftwidth=2
+ if prevline =~# '\v[{[:]$|[:-]\ [|>][+\-]?%(\s+\#.*|\s*)$'
+ " Mapping key:
+ " nested mapping: ...
+ "
+ " - {
+ " key: [
+ " list value
+ " ]
+ " }
+ "
+ " - |-
+ " Block scalar without indentation indicator
+ return previndent+s:shiftwidth()
+ elseif prevline =~# '\v[:-]\ [|>]%(\d+[+\-]?|[+\-]?\d+)%(\#.*|\s*)$'
+ " - |+2
+ " block scalar with indentation indicator
+ "#^^ indent+2, not indent+shiftwidth
+ return previndent + str2nr(matchstr(prevline,
+ \'\v([:-]\ [|>])@<=[+\-]?\d+%([+\-]?%(\s+\#.*|\s*)$)@='))
+ elseif prevline =~# '\v\"%([^"\\]|\\.)*\\$'
+ " "Multiline string \
+ " with escaped end"
+ let qidx = match(prevline, '\v\"%([^"\\]|\\.)*\\')
+ return virtcol([prevlnum, qidx+1])
+ elseif line =~# s:liststartregex
+ " List line should have indent equal to previous list line unless it was
+ " caught by one of the previous rules
+ return indent(s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
+ \ s:liststartregex))
+ elseif line =~# s:mapkeyregex
+ " Same for line containing mapping key
+ return indent(s:FindPrevLEIndentedLineMatchingRegex(a:lnum,
+ \ s:mapkeyregex))
+ elseif prevline =~# '^\s*- '
+ " - List with
+ " multiline scalar
+ return previndent+2
+ elseif prevline =~# s:mapkeyregex
+ " Mapping with: value
+ " that is multiline scalar
+ return previndent+s:shiftwidth()
+ endif
+ return previndent
+endfunction
+
+let &cpo = s:save_cpo
View
237 runtime/lang/menu_cs_cz.iso_8859-2.vim
@@ -1,32 +1,38 @@
-" Menu Translations: Czech for ISO-8859-2
-" Maintainer: Jiri Brezina <brzj@seznam.cz>
-" vim:set foldmethod=marker:
-" $Revision: 1.3 $
-" $Date: 2005/12/19 22:08:24 $
+" Menu Translations: Czech (ISO-8859-2)
+" Maintainer: Jiri Sedlak <jiri_sedlak@users.sourceforge.net>
+" Previous maintainer: Jiri Brezina
+" Based on: menu.vim (2012-10-21)
" Quit when menu translations have already been done.
if exists("did_menu_trans")
- finish
+ finish
endif
+
let did_menu_trans = 1
let s:keepcpo= &cpo
set cpo&vim
-scriptencoding ISO-8859-2
+scriptencoding iso-8859-2
" {{{ File menu
menutrans &File &Soubor
menutrans &Open\.\.\.<Tab>:e &Otevøít\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp Otevøít\ v\ no&vém\ oknì\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew Otevøít\ tab\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew &Nový<Tab>:enew
menutrans &Close<Tab>:close &Zavøít<Tab>:close
menutrans &Save<Tab>:w &Ulo¾it<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav Ulo¾it\ &jako\.\.\.<Tab>:sav
-menutrans Split\ &Diff\ with\.\.\. Rozdìlit\ okno\ -\ &Diff\.\.\.
-menutrans Split\ Patched\ &By\.\.\. Rozdìlit\ okno\ -\ &Patch\.\.\.
-menutrans &Print &Tisk
-menutrans Sa&ve-Exit<Tab>:wqa U&lo¾it\ -\ Konec<Tab>:wqa
-menutrans E&xit<Tab>:qa &Konec<Tab>:qa
+if has("printer") || has("unix")
+ menutrans &Print &Tisk
+endif
+menutrans Sa&ve-Exit<Tab>:wqa U&lo¾it\ a\ ukonèit<Tab>:wqa
+menutrans E&xit<Tab>:qa &Ukonèit<Tab>:qa
+
+if has("diff")
+ menutrans Split\ &Diff\ with\.\.\. Rozdìlit\ okno\ -\ &Diff\.\.\.
+ menutrans Split\ Patched\ &By\.\.\. Rozdìlit\ okno\ -\ &Patch\.\.\.
+endif
" }}}
" {{{ Edit menu
@@ -39,24 +45,32 @@ menutrans &Copy<Tab>"+y &Kop
menutrans &Paste<Tab>"+gP V&lo¾it<Tab>"+gP
menutrans Put\ &Before<Tab>[p Vlo¾it\ &pøed<Tab>[p
menutrans Put\ &After<Tab>]p Vlo¾i&t\ za<Tab>]p
-menutrans &Delete<Tab>x &Smazat<Tab>x
+if has("win32") || has("win16")
+ menutrans &Delete<Tab>x &Smazat<Tab>x
+endif
menutrans &Select\ All<Tab>ggVG Vy&brat\ v¹e<Tab>ggVG
-menutrans &Find\.\.\. &Hledat\.\.\.
-menutrans Find\ and\ Rep&lace\.\.\. &Nahradit\.\.\.
-menutrans Options\.\.\. Volb&y\.\.\.
+if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
+ menutrans &Find\.\.\. &Hledat\.\.\.
+ menutrans Find\ and\ Rep&lace\.\.\. &Nahradit\.\.\.
+else
+ menutrans Find<Tab>/ &Hledat<Tab>/
+ menutrans Find\ and\ Rep&lace<Tab>:%s &Nahradit<Tab>:%s
+ menutrans Find\ and\ Rep&lace<Tab>:s &Nahradit<Tab>:s
+endif
menutrans Settings\ &Window Nastav&ení\ okna
- " {{{2 Edit -1
+" {{{2 Edit -1
+menutrans Startup\ &Settings Poèáteèní\ &nastavení
menutrans &Global\ Settings &Globální\ nastavení
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Pøepnout\ zvýraznìní\ vzoru<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Pøepnout\ ignorování\ &VERZÁLEK<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Pøepnout\ &Showmatch\ \{\(\[\])\}<Tab>:set\ sm!
menutrans &Context\ lines Zobrazit\ konte&xt\ kurzoru
menutrans &Virtual\ Edit Virtuální\ p&ozice\ kurzoru
- menutrans Never Nikdy
- menutrans Block\ Selection Výbìr\ Bloku
- menutrans Insert\ mode Insert\ mód
- menutrans Block\ and\ Insert Blok\ a\ Insert
- menutrans Always V¾dycky
+menutrans Never Nikdy
+menutrans Block\ Selection Výbìr\ Bloku
+menutrans Insert\ mode Insert\ mód
+menutrans Block\ and\ Insert Blok\ a\ Insert
+menutrans Always V¾dycky
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Pøepnout\ Insert\&d<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Pøepnout\ kompatibilní\ re¾im\ s\ 'vi'<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Nastavit\ &cestu\ k\ prohledávání\.\.\.
@@ -65,9 +79,10 @@ menutrans Toggle\ &Toolbar P
menutrans Toggle\ &Bottom\ Scrollbar Pø&epnout\ dolní\ rolovací\ li¹tu
menutrans Toggle\ &Left\ Scrollbar Pøepnout\ &levou\ rolovací\ li¹tu
menutrans Toggle\ &Right\ Scrollbar Pøepnout\ p&ravou\ rolovací\ li¹tu
- " {{{2 Edit -2
+" {{{2 Edit -2
menutrans F&ile\ Settings Nastavení\ so&uboru
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Pøepnout\ èíslování\ øá&dkù<Tab>:set\ nu!
+menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! Pøepnout\ relativní\ èíslování\ øá&dkù<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Pøepnout\ &List\ mód<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Pøepnout\ zala&mování\ øádkù<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Pøepnout\ zl&om\ ve\ slovì<Tab>:set\ lbr!
@@ -78,10 +93,12 @@ menutrans &Shiftwidth Nastav&it\
menutrans Soft\ &Tabstop Nastavit\ Soft\ &Tabstop
menutrans Te&xt\ Width\.\.\. ©íøka\ te&xtu\.\.\.
menutrans &File\ Format\.\.\. &Formát\ souboru\.\.\.
- " {{{2 Edit -3
+" {{{2 Edit -3
menutrans C&olor\ Scheme Barevné\ s&chéma
menutrans &Keymap Klávesová\ m&apa
-menutrans Select\ Fo&nt\.\.\. Vybrat\ pís&mo\.\.\.
+if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
+ menutrans Select\ Fo&nt\.\.\. Vybrat\ pís&mo\.\.\.
+endif
" }}}1
" {{{ Programming menu
@@ -90,46 +107,52 @@ menutrans &Jump\ to\ this\ tag<Tab>g^] &Sko
menutrans Jump\ &back<Tab>^T Skoèit\ &zpìt<Tab>^T
menutrans Build\ &Tags\ File &Vytvoøit\ soubor\ tagù
-menutrans &Spelling &Kontrola\ pravopisu
-menutrans &Spell\ Check\ On Kontrola\ pravopisu\ &zapnuta
-menutrans Spell\ Check\ &Off Kontrola\ pravopisu\ &vypnuta
-menutrans To\ Next\ error<Tab>]s &Dal¹í\ chyba<Tab>]s
-menutrans To\ Previous\ error<Tab>[s &Pøedchozí\ chyba<Tab>[s
-menutrans Suggest\ Corrections<Tab>z? &Návrh\ oprav<Tab>z?
-menutrans Repeat\ correction<Tab>:spellrepall Zopakovat\ &opravu<Tab>:spellrepall
-menutrans Set\ language\ to\ "en" Nastav\ jazyk\ na\ "en"
-menutrans Set\ language\ to\ "en_au" Nastav\ jazyk\ na\ "en_au"
-menutrans Set\ language\ to\ "en_ca" Nastav\ jazyk\ na\ "en_ca"
-menutrans Set\ language\ to\ "en_gb" Nastav\ jazyk\ na\ "en_gb"
-menutrans Set\ language\ to\ "en_nz" Nastav\ jazyk\ na\ "en_nz"
-menutrans Set\ language\ to\ "en_us" Nastav\ jazyk\ na\ "en_us"
-menutrans Set\ language\ to\ "cz" Nastav\ jazyk\ na\ "cz"
-menutrans Set\ language\ to\ "cs_cz" Nastav\ jazyk\ na\ "cs_cz"
-menutrans &Find\ More\ Languages Nalézt\ dal¹í\ &jazyky
+if has("spell")
+ menutrans &Spelling &Kontrola\ pravopisu
+ menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
+ menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
+ menutrans To\ &Next\ error<Tab>]s &Dal¹í\ chyba<Tab>]s
+ menutrans To\ &Previous\ error<Tab>[s &Pøedchozí\ chyba<Tab>[s
+ menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=
+ menutrans &Repeat\ correction<Tab>:spellrepall Zopakovat\ &opravu<Tab>:spellrepall
+ menutrans Set\ language\ to\ "en" Nastavit\ jazyk\ na\ "en"
+ menutrans Set\ language\ to\ "en_au" Nastavit\ jazyk\ na\ "en_au"
+ menutrans Set\ language\ to\ "en_ca" Nastavit\ jazyk\ na\ "en_ca"
+ menutrans Set\ language\ to\ "en_gb" Nastavit\ jazyk\ na\ "en_gb"
+ menutrans Set\ language\ to\ "en_nz" Nastavit\ jazyk\ na\ "en_nz"
+ menutrans Set\ language\ to\ "en_us" Nastavit\ jazyk\ na\ "en_us"
+ menutrans &Find\ More\ Languages Nalézt\ dal¹í\ &jazyky
+ let g:menutrans_set_lang_to = "Nastavit jazyk na"
+endif
-menutrans &Folding &Foldy
-menutrans &Enable/Disable\ folds<Tab>zi &Ano/Ne<Tab>zi
-menutrans &View\ Cursor\ Line<Tab>zv &Zobrazit\ øádek\ kurzoru<Tab>zv
-menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Zo&brazit\ pouze\ øádek\ kurzoru\ <Tab>zMzx
-menutrans C&lose\ more\ folds<Tab>zm &Vyjmout\ jednu\ úroveò\ foldù<Tab>zm
-menutrans &Close\ all\ folds<Tab>zM Zavøí&t\ v¹echny\ foldy<Tab>zM
-menutrans O&pen\ more\ folds<Tab>zr Pøidat\ jedn&u\ úroveò\ foldù<Tab>zr
-menutrans &Open\ all\ folds<Tab>zR &Otevøít\ v¹echny\ foldy<Tab>zR
-menutrans Fold\ Met&hod Metoda\ &skládání
- "menutrans M&anual &Ruènì
- "menutrans I&ndent &Odsazení
- "menutrans E&xpression &Výraz
- "menutrans S&yntax &Syntax
- "menutrans &Diff &Diff
- "menutrans Ma&rker Ma&rker
-menutrans Create\ &Fold<Tab>zf Vytvoøit\ &fold<Tab>zf
-menutrans &Delete\ Fold<Tab>zd Vymazat\ fol&d<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD V&ymazat\ v¹echny\ foldy<Tab>zD
-menutrans Fold\ col&umn\ width Sloupec\ zob&razení\ foldù
+if has("Folding")
+ menutrans &Folding &Skládání
+ menutrans &Enable/Disable\ folds<Tab>zi &Ano/Ne<Tab>zi
+ menutrans &View\ Cursor\ Line<Tab>zv Zobrazit\ øádek\ &kurzoru<Tab>zv
+ menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Zobrazit\ &pouze\ øádek\ kurzoru\ <Tab>zMzx
+ menutrans C&lose\ more\ folds<Tab>zm Slo¾it\ &jednu\ úroveò\ skladù<Tab>zm
+ menutrans &Close\ all\ folds<Tab>zM Slo¾it\ v¹echny\ sklady<Tab>zM
+ menutrans O&pen\ more\ folds<Tab>zr Pøidat\ jednu\ úroveò\ skladù<Tab>zr
+ menutrans &Open\ all\ folds<Tab>zR &Otevøít\ v¹echny\ sklady<Tab>zR
+ menutrans Fold\ Met&hod &Metoda\ skládání
+ menutrans M&anual &Ruènì
+ menutrans I&ndent &Odsazení
+ menutrans E&xpression &Výraz
+ menutrans S&yntax &Syntaxe
+ menutrans &Diff &Rozdíly
+ menutrans Ma&rker &Znaèky
+ menutrans Create\ &Fold<Tab>zf Vytvoøit\ &sklad<Tab>zf
+ menutrans &Delete\ Fold<Tab>zd Vymazat\ skla&d<Tab>zd
+ menutrans Delete\ &All\ Folds<Tab>zD Vymazat\ v¹echny\ sklady<Tab>zD
+ menutrans Fold\ col&umn\ width Sloupec\ zob&razení\ skladù
+endif
+
+if has("diff")
+ menutrans &Update &Obnovit
+ menutrans &Get\ Block &Sejmout\ Blok
+ menutrans &Put\ Block &Vlo¾it\ Blok
+endif
-menutrans &Update &Obnovit
-menutrans &Get\ Block &Sejmout\ Blok
-menutrans &Put\ Block &Vlo¾it\ Blok
menutrans &Make<Tab>:make &Make<Tab>:make
menutrans &List\ Errors<Tab>:cl Výpis\ &chyb<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! Výp&is\ zpráv<Tab>:cl!
@@ -142,7 +165,7 @@ menutrans SeT\ Compiler Nas&taven
menutrans &Update<Tab>:cwin O&bnovit<Tab>:cwin
menutrans &Open<Tab>:copen &Otevøít<Tab>:copen
menutrans &Close<Tab>:cclose &Zavøít<Tab>:cclose
-menutrans &Set\ Compiler N&astavit\ kompilátor
+menutrans Se&T\ Compiler N&astavit\ kompilátor
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pøevést\ do\ ¹estnáctkového\ formát&u<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Pø&evést\ zpìt<Tab>:%!xxd\ -r
@@ -170,7 +193,6 @@ menutrans &Delete Z&ru
menutrans &Alternate &Zmìnit
menutrans &Next &Dal¹í
menutrans &Previous &Pøedchozí
-menutrans [No\ File] [®ádný\ soubor]
" }}}
" {{{ Menu Window
@@ -221,49 +243,66 @@ menutrans &Paste &Vlo
menutrans &Delete &Smazat
menutrans Select\ Blockwise Vybrat\ blokovì
menutrans Select\ &Word Vybrat\ &slovo
+menutrans Select\ Pa&ragraph Vybrat\ &odstavec
+menutrans Select\ &Sentence Vybrat\&tu
menutrans Select\ &Line Vybrat\ &øádek
menutrans Select\ &Block Vybrat\ &blok
menutrans Select\ &All Vybrat\ &v¹e
" }}}
" {{{ The GUI toolbar
if has("toolbar")
- if exists("*Do_toolbar_tmenu")
- delfun Do_toolbar_tmenu
- endif
- fun Do_toolbar_tmenu()
- tmenu ToolBar.Open Otevøít soubor
- tmenu ToolBar.Save Ulo¾it soubor
- tmenu ToolBar.SaveAll Ulo¾it v¹echny soubory
- tmenu ToolBar.Print Tisk
- tmenu ToolBar.Undo Zpìt
- tmenu ToolBar.Redo Zru¹it vrácení
- tmenu ToolBar.Cut Vyøíznout
- tmenu ToolBar.Copy Kopírovat
- tmenu ToolBar.Paste Vlo¾it
- tmenu ToolBar.Find Hledat...
- tmenu ToolBar.FindNext Hledat dal¹í
- tmenu ToolBar.FindPrev Hledat pøedchozí
- tmenu ToolBar.Replace Nahradit...
- if 0 " disabled; These are in the Windows menu
- tmenu ToolBar.New Nové okno
- tmenu ToolBar.WinSplit Rozdìlit okno
- tmenu ToolBar.WinMax Maximalizovat okno
- tmenu ToolBar.WinMin Minimalizovat okno
- tmenu ToolBar.WinClose Zavøít okno
- endif
- tmenu ToolBar.LoadSesn Naèíst sezení
- tmenu ToolBar.SaveSesn Ulo¾it sezení
- tmenu ToolBar.RunScript Spustit skript
- tmenu ToolBar.Make Spustit make
- tmenu ToolBar.Shell Spustit shell
- tmenu ToolBar.RunCtags Spustit ctags
- tmenu ToolBar.TagJump Skoèit na tag pod kurzorem
- tmenu ToolBar.Help Nápovìda
- tmenu ToolBar.FindHelp Hledat nápovìdu k...
- endfun
+ if exists("*Do_toolbar_tmenu")
+ delfun Do_toolbar_tmenu
+ endif
+ fun Do_toolbar_tmenu()
+ tmenu ToolBar.Open Otevøít soubor
+ tmenu ToolBar.Save Ulo¾it soubor
+ tmenu ToolBar.SaveAll Ulo¾it v¹echny soubory
+ if has("printer") || has("unix")
+ tmenu ToolBar.Print Tisk
+ endif
+ tmenu ToolBar.Undo Zpìt
+ tmenu ToolBar.Redo Zru¹it vrácení
+ tmenu ToolBar.Cut Vyøíznout
+ tmenu ToolBar.Copy Kopírovat
+ tmenu ToolBar.Paste Vlo¾it
+ tmenu ToolBar.Find Hledat...
+ tmenu ToolBar.FindNext Hledat dal¹í
+ tmenu ToolBar.FindPrev Hledat pøedchozí
+ tmenu ToolBar.Replace Nahradit...
+ if 0 " disabled; These are in the Windows menu
+ tmenu ToolBar.New Nové okno
+ tmenu ToolBar.WinSplit Rozdìlit okno
+ tmenu ToolBar.WinMax Maximalizovat okno
+ tmenu ToolBar.WinMin Minimalizovat okno
+ tmenu ToolBar.WinClose Zavøít okno
+ endif
+ tmenu ToolBar.LoadSesn Naèíst sezení
+ tmenu ToolBar.SaveSesn Ulo¾it sezení
+ tmenu ToolBar.RunScript Spustit skript
+ tmenu ToolBar.Make Spustit make
+ tmenu ToolBar.Shell Spustit shell
+ tmenu ToolBar.RunCtags Spustit ctags
+ tmenu ToolBar.TagJump Skoèit na tag pod kurzorem
+ tmenu ToolBar.Help Nápovìda
+ tmenu ToolBar.FindHelp Hledat nápovìdu k...
+ endfun
endif
" }}}
+" {{{ DIALOG TEXTS
+let g:menutrans_no_file = "[®ádný soubor]"
+let g:menutrans_help_dialog = "Zadejte hledaný pøíkaz nebo slovo:\n\n\tPøidejte i_ pro pøíkazy vkládacího re¾imu (napø. i_CTRL-X)\n\tPøidejte c_ pro pøíkazy pøíkazové øádky (napø. c_<Del>)\n\tPøidejte ' pro jméno volby (napø. 'shiftwidth')"
+let g:menutrans_path_dialog = "Zadejte cesty pro vyhledávání souborù. Jednotlivé cesty oddìlte èárkou"
+let g:menutrans_tags_dialog = "Zadejte jména souborù s tagy. Jména oddìlte èárkami."
+let g:menutrans_textwidth_dialog = "Zadejte délku øádku (0 pro zakázání formátování):"
+let g:menutrans_fileformat_dialog = "Vyberte typ konce øádkù"
+" }}}"
+
let &cpo = s:keepcpo
unlet s:keepcpo
+
+
+
+" vim:set foldmethod=marker expandtab tabstop=3 shiftwidth=3:
View
2 runtime/lang/menu_cs_cz.latin1.vim
@@ -1,3 +1,3 @@
" Menu Translations: Czech
-source <sfile>:p:h/menu_czech_czech_republic.1252.vim
+source <sfile>:p:h/menu_czech_czech_republic.ascii.vim
View
308 runtime/lang/menu_cs_cz.utf-8.vim
@@ -0,0 +1,308 @@
+" Menu Translations: Czech (UTF-8)
+" Maintainer: Jiri Sedlak <jiri_sedlak@users.sourceforge.net>
+" Previous maintainer: Jiri Brezina
+" Based on: menu.vim (2012-10-21)
+
+" Quit when menu translations have already been done.
+if exists("did_menu_trans")
+ finish
+endif
+
+let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
+
+scriptencoding utf-8
+
+" {{{ File menu
+menutrans &File &Soubor
+menutrans &Open\.\.\.<Tab>:e &Otevřít\.\.\.<Tab>:e
+menutrans Sp&lit-Open\.\.\.<Tab>:sp Otevřít\ v\ no&vém\ okně\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew Otevřít\ tab\.\.\.<Tab>:tabnew
+menutrans &New<Tab>:enew &Nový<Tab>:enew
+menutrans &Close<Tab>:close &Zavřít<Tab>:close
+menutrans &Save<Tab>:w &Uložit<Tab>:w
+menutrans Save\ &As\.\.\.<Tab>:sav Uložit\ &jako\.\.\.<Tab>:sav
+if has("printer") || has("unix")
+ menutrans &Print &Tisk
+endif
+menutrans Sa&ve-Exit<Tab>:wqa U&ložit\ a\ ukončit<Tab>:wqa
+menutrans E&xit<Tab>:qa &Ukončit<Tab>:qa
+
+if has("diff")
+ menutrans Split\ &Diff\ with\.\.\. Rozdělit\ okno\ -\ &Diff\.\.\.
+ menutrans Split\ Patched\ &By\.\.\. Rozdělit\ okno\ -\ &Patch\.\.\.
+endif
+" }}}
+
+" {{{ Edit menu
+menutrans &Edit Úpr&avy
+menutrans &Undo<Tab>u &Zpět<Tab>u
+menutrans &Redo<Tab>^R Z&rušit\ vrácení<Tab>^R
+menutrans Rep&eat<Tab>\. &Opakovat<Tab>\.
+menutrans Cu&t<Tab>"+x &Vyříznout<Tab>"+x
+menutrans &Copy<Tab>"+y &Kopírovat<Tab>"+y
+menutrans &Paste<Tab>"+gP V&ložit<Tab>"+gP
+menutrans Put\ &Before<Tab>[p Vložit\ &před<Tab>[p
+menutrans Put\ &After<Tab>]p Vloži&t\ za<Tab>]p
+if has("win32") || has("win16")
+ menutrans &Delete<Tab>x &Smazat<Tab>x
+endif
+menutrans &Select\ All<Tab>ggVG Vy&brat\ vše<Tab>ggVG
+if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
+ menutrans &Find\.\.\. &Hledat\.\.\.
+ menutrans Find\ and\ Rep&lace\.\.\. &Nahradit\.\.\.
+else
+ menutrans Find<Tab>/ &Hledat<Tab>/
+ menutrans Find\ and\ Rep&lace<Tab>:%s &Nahradit<Tab>:%s
+ menutrans Find\ and\ Rep&lace<Tab>:s &Nahradit<Tab>:s
+endif
+menutrans Settings\ &Window Nastav&ení\ okna
+" {{{2 Edit -1
+menutrans Startup\ &Settings Počáteční\ &nastavení
+menutrans &Global\ Settings &Globální\ nastavení
+menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Přepnout\ zvýraznění\ vzoru<Tab>:set\ hls!
+menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Přepnout\ ignorování\ &VERZÁLEK<Tab>:set\ ic!
+menutrans Toggle\ &Showmatch<Tab>:set\ sm! Přepnout\ &Showmatch\ \{\(\[\])\}<Tab>:set\ sm!
+menutrans &Context\ lines Zobrazit\ konte&xt\ kurzoru
+menutrans &Virtual\ Edit Virtuální\ p&ozice\ kurzoru
+menutrans Never Nikdy
+menutrans Block\ Selection Výběr\ Bloku
+menutrans Insert\ mode Insert\ mód
+menutrans Block\ and\ Insert Blok\ a\ Insert
+menutrans Always Vždycky
+menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Přepnout\ Insert\&d<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Přepnout\ kompatibilní\ režim\ s\ 'vi'<Tab>:set\ cp!
+menutrans Search\ &Path\.\.\. Nastavit\ &cestu\ k\ prohledávání\.\.\.
+menutrans Ta&g\ Files\.\.\. Ta&g\ soubory\.\.\.
+menutrans Toggle\ &Toolbar Přepnout\ &Toolbar
+menutrans Toggle\ &Bottom\ Scrollbar Př&epnout\ dolní\ rolovací\ lištu
+menutrans Toggle\ &Left\ Scrollbar Přepnout\ &levou\ rolovací\ lištu
+menutrans Toggle\ &Right\ Scrollbar Přepnout\ p&ravou\ rolovací\ lištu
+" {{{2 Edit -2
+menutrans F&ile\ Settings Nastavení\ so&uboru
+menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Přepnout\ číslování\ řá&dků<Tab>:set\ nu!
+menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! Přepnout\ relativní\ číslování\ řá&dků<Tab>:set\ rnu!
+menutrans Toggle\ &List\ Mode<Tab>:set\ list! Přepnout\ &List\ mód<Tab>:set\ list!
+menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Přepnout\ zala&mování\ řádků<Tab>:set\ wrap!
+menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Přepnout\ zl&om\ ve\ slově<Tab>:set\ lbr!
+menutrans Toggle\ &expand-tab<Tab>:set\ e