Skip to content

Commit

Permalink
Runtime file updates.
Browse files Browse the repository at this point in the history
--HG--
branch : vim73
  • Loading branch information
brammool committed Aug 1, 2010
1 parent 75ff1d1 commit 89146a1
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 14 deletions.
68 changes: 61 additions & 7 deletions 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"
"
Expand All @@ -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 = ""
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions 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
Expand Down Expand Up @@ -4490,8 +4490,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'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.
Expand Down
5 changes: 3 additions & 2 deletions 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
Expand Down Expand Up @@ -106,7 +106,8 @@ g8 Print the hex values of the bytes used in the
*: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*
Expand Down
24 changes: 22 additions & 2 deletions 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:
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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>)

Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 89146a1

Please sign in to comment.