Paul,
following our conversation, I have updated the sqloracle syntax file with the following changes:

- contains function names for all Oracle 11g known functions
- setting up folding for comments and longer sql statemtents.
- remove cruft from ancient Vim versions
- setting up spellchecking for comments

I'll attach the complete file for reference. This file hasn't been updated in 10 years, so I'd appreciate, if the updated version could be distributed with Vim. You might want to update your E-Mail address, as it
looks like the given mail does not work anymore.

So please send the updated file to Bram for inclusion with Vim. Thanks for considering and taking care.


Best,
Christian

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
" Vim syntax file
" Language:     SQL, PL/SQL (Oracle 11g)
" Maintainer:   Paul Moore <pf_moore AT yahoo.co.uk>
" Last Change:  2015 Oct 21

if exists("b:current_syntax")
  finish
endif

syn case ignore

" The SQL reserved words, defined as keywords.

syn keyword sqlSpecial  false null true

syn keyword sqlKeyword  access add as asc begin by case check cluster column
syn keyword sqlKeyword  cache compress connect current cursor decimal default 
desc
syn keyword sqlKeyword  else elsif end exception exclusive file for from
syn keyword sqlKeyword  function group having identified if immediate increment
syn keyword sqlKeyword  index initial initrans into is level link logging loop
syn keyword sqlKeyword  maxextents maxtrans mode modify monitoring
syn keyword sqlKeyword  nocache nocompress nologging noparallel nowait of 
offline on online start
syn keyword sqlKeyword  parallel successful synonym table tablespace then to 
trigger uid
syn keyword sqlKeyword  unique user validate values view whenever
syn keyword sqlKeyword  where with option order pctfree pctused privileges 
procedure
syn keyword sqlKeyword  public resource return row rowlabel rownum rows
syn keyword sqlKeyword  session share size smallint type using

syn keyword sqlOperator not and or
syn keyword sqlOperator in any some all between exists
syn keyword sqlOperator like escape
syn keyword sqlOperator union intersect minus
syn keyword sqlOperator prior distinct
syn keyword sqlOperator sysdate out

syn keyword sqlStatement analyze audit comment commit
syn keyword sqlStatement delete drop execute explain grant lock noaudit
syn keyword sqlStatement rename revoke rollback savepoint set
syn keyword sqlStatement truncate
" next ones are contained, so folding works.
syn keyword sqlStatement create update alter select insert contained

syn keyword sqlType     boolean char character date float integer long
syn keyword sqlType     mlslabel number raw rowid varchar varchar2 varray

" Strings:
syn region sqlString    start=+"+  skip=+\\\\\|\\"+  end=+"+
syn region sqlString    start=+'+  skip=+\\\\\|\\'+  end=+'+

" Numbers:
syn match sqlNumber     "-\=\<\d*\.\=[0-9_]\>"

" Comments:
syn region sqlComment   start="/\*"  end="\*/" contains=sqlTodo,@Spell fold 
syn match sqlComment    "--.*$" contains=sqlTodo,@Spell

" Setup Folding:
" this is a hack, to get certain statements folded.
" the keywords create/update/alter/select/insert need to
" have contained option.
syn region sqlFold start='^\s*\zs\c\(Create\|Update\|Alter\|Select\|Insert\)' 
end=';$\|^$' transparent fold contains=ALL

syn sync ccomment sqlComment

" Functions:
" (Oracle 11g)
" Aggregate Functions
syn keyword sqlFunction avg collect corr corr_s corr_k count covar_pop 
covar_samp cume_dist dense_rank first
syn keyword sqlFunction group_id grouping grouping_id last max median min 
percentile_cont percentile_disc percent_rank rank
syn keyword sqlFunction regr_slope regr_intercept regr_count regr_r2 regr_avgx 
regr_avgy regr_sxx regr_syy regr_sxy
syn keyword sqlFunction stats_binomial_test stats_crosstab stats_f_test 
stats_ks_test stats_mode stats_mw_test
syn keyword sqlFunction stats_one_way_anova stats_t_test_one 
stats_t_test_paired stats_t_test_indep stats_t_test_indepu
syn keyword sqlFunction stats_wsr_test stddev stddev_pop stddev_samp sum
syn keyword sqlFunction sys_xmlagg var_pop var_samp variance xmlagg
" Char Functions
syn keyword sqlFunction ascii chr concat initcap instr length lower lpad ltrim
syn keyword sqlFunction nls_initcap nls_lower nlssort nls_upper regexp_instr 
regexp_replace
syn keyword sqlFunction regexp_substr replace rpad rtrim soundex substr 
translate treat trim upper
" Comparison Functions
syn keyword sqlFunction greatest least
" Conversion Functions
syn keyword sqlFunction asciistr bin_to_num cast chartorowid compose convert
syn keyword sqlFunction decompose hextoraw numtodsinterval numtoyminterval 
rawtohex rawtonhex rowidtochar
syn keyword sqlFunction rowidtonchar scn_to_timestamp timestamp_to_scn 
to_binary_double to_binary_float
syn keyword sqlFunction to_char to_char to_char to_clob to_date to_dsinterval 
to_lob to_multi_byte
syn keyword sqlFunction to_nchar to_nchar to_nchar to_nclob to_number 
to_dsinterval to_single_byte
syn keyword sqlFunction to_timestamp to_timestamp_tz to_yminterval 
to_yminterval translate unistr
" DataMining Functions
syn keyword sqlFunction cluster_id cluster_probability cluster_set feature_id 
feature_set
syn keyword sqlFunction feature_value prediction prediction_bounds 
prediction_cost
syn keyword sqlFunction prediction_details prediction_probability prediction_set
" Datetime Functions
syn keyword sqlFunction add_months current_date current_timestamp dbtimezone 
extract
syn keyword sqlFunction from_tz last_day localtimestamp months_between new_time
syn keyword sqlFunction next_day numtodsinterval numtoyminterval round 
sessiontimezone
syn keyword sqlFunction sys_extract_utc sysdate systimestamp to_char 
to_timestamp
syn keyword sqlFunction to_timestamp_tz to_dsinterval to_yminterval trunc 
tz_offset
" Numeric Functions
syn keyword sqlFunction abs acos asin atan atan2 bitand ceil cos cosh exp
syn keyword sqlFunction floor ln log mod nanvl power remainder round sign
syn keyword sqlFunction sin sinh sqrt tan tanh trunc width_bucket
" NLS Functions
syn keyword sqlFunction ls_charset_decl_len nls_charset_id nls_charset_name
" Various Functions
syn keyword sqlFunction bfilename cardin coalesce collect decode dump 
empty_blob empty_clob
syn keyword sqlFunction lnnvl nullif nvl nvl2 ora_hash powermultiset 
powermultiset_by_cardinality
syn keyword sqlFunction sys_connect_by_path sys_context sys_guid sys_typeid uid 
user userenv vsizeality
" XML Functions
syn keyword sqlFunction appendchildxml deletexml depth extract existsnode 
extractvalue insertchildxml
syn keyword sqlFunction insertxmlbefore path sys_dburigen sys_xmlagg sys_xmlgen 
updatexml xmlagg xmlcast
syn keyword sqlFunction xmlcdata xmlcolattval xmlcomment xmlconcat xmldiff 
xmlelement xmlexists xmlforest
syn keyword sqlFunction xmlparse xmlpatch xmlpi xmlquery xmlroot xmlsequence 
xmlserialize xmltable xmltransform
" Todo:
syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE contained

" Define the default highlighting.
command -nargs=+ HiLink hi def link <args>
HiLink sqlComment       Comment
HiLink sqlFunction      Function
HiLink sqlKeyword       sqlSpecial
HiLink sqlNumber        Number
HiLink sqlOperator      sqlStatement
HiLink sqlSpecial       Special
HiLink sqlStatement     Statement
HiLink sqlString        String
HiLink sqlType          Type
HiLink sqlTodo          Todo

delcommand HiLink
let b:current_syntax = "sql"
" vim: ts=8

Raspunde prin e-mail lui