Mercurial > vim
changeset 2458:22a6f99e6477 vim73
Runtime file updates.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 01 Aug 2010 16:13:51 +0200 |
parents | 6c1d10a85398 |
children | 64df5d008ccb |
files | runtime/autoload/sqlcomplete.vim runtime/doc/options.txt runtime/doc/various.txt runtime/ftplugin/sql.vim |
diffstat | 4 files changed, 89 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/autoload/sqlcomplete.vim +++ b/runtime/autoload/sqlcomplete.vim @@ -1,25 +1,44 @@ " Vim OMNI completion script for SQL " Language: SQL " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> -" Version: 9.0 -" Last Change: 2010 Apr 20 +" Version: 10.0 +" Last Change: 2010 Jun 11 " Usage: For detailed help " ":help sql.txt" " or ":help ft-sql-omni" " or read $VIMRUNTIME/doc/sql.txt " History +" Version 10.0 +" 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. +" - Verifies the parameters are the correct type and displays a +" warning if not. +" - Verifies the parameters are the correct type and displays a +" warning if not. +" Updated SQLCWarningMsg() +" - Prepends warning message with SQLComplete so you know who issued +" the warning. +" 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 " 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 " when drilling in and out of a column list for a table. +" " Version 7.0 " Better handling of object names +" " Version 6.0 " Supports object names with spaces "my table name" " @@ -37,7 +56,7 @@ endif if exists('g:loaded_sql_completion') finish endif -let g:loaded_sql_completion = 70 +let g:loaded_sql_completion = 100 " Maintains filename of dictionary let s:sql_file_table = "" @@ -363,7 +382,13 @@ endfunc function! sqlcomplete#PreCacheSyntax(...) let syn_group_arr = [] + let syn_items = [] + if a:0 > 0 + if type(a:1) != 3 + call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']") + return '' + endif let syn_group_arr = a:1 else let syn_group_arr = g:omni_sql_precache_syntax_groups @@ -372,7 +397,36 @@ function! sqlcomplete#PreCacheSyntax(... " the sytnax items. if !empty(syn_group_arr) for group_name in syn_group_arr - call s:SQLCGetSyntaxList(group_name) + let syn_items = extend( syn_items, s:SQLCGetSyntaxList(group_name) ) + endfor + endif + + return syn_items +endfunction + +function! sqlcomplete#ResetCacheSyntax(...) + let syn_group_arr = [] + + if a:0 > 0 + if type(a:1) != 3 + call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']") + return '' + endif + let syn_group_arr = a:1 + else + let syn_group_arr = g:omni_sql_precache_syntax_groups + endif + " For each group specified in the list, precache all + " the sytnax items. + if !empty(syn_group_arr) + for group_name in syn_group_arr + let list_idx = index(s:syn_list, group_name, 0, &ignorecase) + if list_idx > -1 + " Remove from list of groups + call remove( s:syn_list, list_idx ) + " Remove from list of keywords + call remove( s:syn_value, list_idx ) + endif endfor endif endfunction @@ -430,13 +484,13 @@ endfunction function! s:SQLCWarningMsg(msg) echohl WarningMsg - echomsg a:msg + echomsg 'SQLComplete:'.a:msg echohl None endfunction function! s:SQLCErrorMsg(msg) echohl ErrorMsg - echomsg a:msg + echomsg 'SQLComplete:'.a:msg echohl None endfunction @@ -462,7 +516,7 @@ function! s:SQLCGetSyntaxList(syn_group) let g:omni_syntax_group_include_sql = syn_group endif let g:omni_syntax_group_exclude_sql = '' - let syn_value = OmniSyntaxList() + let syn_value = syntaxcomplete#OmniSyntaxList() let g:omni_syntax_group_include_sql = s:save_inc let g:omni_syntax_group_exclude_sql = s:save_exc " Cache these values for later use
--- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3c. Last change: 2010 Jul 28 +*options.txt* For Vim version 7.3c. Last change: 2010 Aug 01 VIM REFERENCE MANUAL by Bram Moolenaar @@ -4490,8 +4490,8 @@ A jump table for the options with a shor 'listchars' 'lcs' string (default "eol:$") global {not in Vi} - Strings to use in 'list' mode. It is a comma separated list of string - settings. + Strings to use in 'list' mode and for the |:list| command. It is a + comma separated list of string settings. eol:c Character to show at the end of each line. When omitted, there is no extra character at the end of the line.
--- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 7.3c. Last change: 2010 Jul 24 +*various.txt* For Vim version 7.3c. Last change: 2010 Aug 01 VIM REFERENCE MANUAL by Bram Moolenaar @@ -106,7 +106,8 @@ 8g8 Find an illegal UTF-8 byte sequenc *:l* *:list* :[range]l[ist] [count] [flags] Same as :print, but display unprintable characters - with '^' and put $ after the line. + with '^' and put $ after the line. This can be + changed with the 'listchars' option. See |ex-flags| for [flags]. *:nu* *:number*
--- a/runtime/ftplugin/sql.vim +++ b/runtime/ftplugin/sql.vim @@ -1,8 +1,8 @@ " SQL filetype plugin file " Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase) -" Version: 6.0 +" Version: 7.0 " Maintainer: David Fishburn <fishburn at ianywhere dot com> -" Last Change: 2009 Aug 04 +" Last Change: 2010 Jun 11 " Download: http://vim.sourceforge.net/script.php?script_id=454 " For more details please use: @@ -36,6 +36,11 @@ " " History " +" Version 7.0 +" +" NF: Calls the sqlcomplete#ResetCacheSyntax() function when calling +" SQLSetType. +" " Version 6.0 " " NF: Adds the command SQLGetType @@ -164,12 +169,26 @@ if !exists("*SQL_SetType") endif let b:sql_type_override = new_sql_type + " Remove any cached SQL since a new sytax will have different + " items and groups + if !exists('g:loaded_sql_completion') || 100 == g:loaded_sql_completion + call sqlcomplete#ResetCacheSyntax() + endif + " Vim will automatically source the correct files if we " change the filetype. You cannot do this with setfiletype " since that command will only execute if a filetype has " not already been set. In this case we want to override " the existing filetype. let &filetype = 'sql' + + if b:sql_compl_savefunc != "" + " We are changing the filetype to SQL from some other filetype + " which had OMNI completion defined. We need to activate the + " SQL completion plugin in order to cache some of the syntax items + " while the syntax rules for SQL are active. + call sqlcomplete#PreCacheSyntax() + endif endfunction command! -nargs=* -complete=custom,SQL_GetList SQLSetType :call SQL_SetType(<q-args>) @@ -463,6 +482,7 @@ if exists('&omnifunc') " which had OMNI completion defined. We need to activate the " SQL completion plugin in order to cache some of the syntax items " while the syntax rules for SQL are active. + call sqlcomplete#ResetCacheSyntax() call sqlcomplete#PreCacheSyntax() endif endif