" Vim syntax file " Language: PostgreSQL SQL " Maintainer: Joel Burton " Last Change: 2003 Aug 05 " Based on SQL mode by Paul Moore " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish " syntax clear endif syn case ignore " The SQL reserved words, defined as keywords. syn keyword sqlSpecial false true syn match sqlSpecial "\" syn keyword sqlKeyword abort access add after aggregate alignment all syn keyword sqlKeyword alter analyze as asc assignment authorization backward syn keyword sqlKeyword basetype before begin binary by cache called syn keyword sqlKeyword cascade cast check checkpoint class close cluster syn keyword sqlKeyword column comment commit committed commutator constraint constraints syn keyword sqlKeyword conversion copy createdb createuser cursor cycle syn keyword sqlKeyword database deallocate declare default deferrable deferred definer syn keyword sqlKeyword delete delimiter desc do domain drop syn keyword sqlKeyword each element encoding encrypted end except exclusive syn keyword sqlKeyword execute explain extended external fetch finalfunc for syn keyword sqlKeyword force foreign forward freeze full function syn keyword sqlKeyword grant group gtcmp handler hashes having immediate syn keyword sqlKeyword immutable implicit increment index inherits initcond syn keyword sqlKeyword initially input insensitive insert instead internallength syn keyword sqlKeyword into invoker is isolation join key language syn keyword sqlKeyword leftarg level limit listen load local location syn keyword sqlKeyword lock ltcmp main match maxvalue merges minvalue syn keyword sqlKeyword mode move natural negator next nocreatedb nocreateuser syn keyword sqlKeyword none nothing notify nullalter of syn keyword sqlKeyword offset oids on only operator order syn keyword sqlKeyword output owner partial passedbyvalue password plain prepare syn keyword sqlKeyword primary prior privileges procedural procedure public read syn keyword sqlKeyword recheck references reindex relative rename replace reset syn keyword sqlKeyword restrict returns revoke rightarg rollback row rule syn keyword sqlKeyword schema scroll security select sequence serializable session syn keyword sqlKeyword set sfunc share show sort stable start syn keyword sqlKeyword statement statistics storage strict stype sysid table syn keyword sqlKeyword temp template temporary to transaction trigger syn keyword sqlKeyword truncate trusted type unencrypted unique unlisten syn keyword sqlKeyword until update usage user using vacuum valid syn keyword sqlKeyword validator values variable verbose view volatile where syn keyword sqlKeyword work syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlKeyword "\" syn keyword sqlKeyword case when then else end nullif coalesce substring syn match sqlKeyword "\" syn keyword sqlOperator and 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 sqlOperator isnull notnull in overlaps ilike similar syn match sqlOperator "\" syn match sqlOperator "\" syn match sqlOperator "::" " have to be higher in precedence than operator "not" syn match sqlKeyword "\" syn match sqlKeyword "\" syn match sqlOperator "\^" syn match sqlOperator "\~" syn match sqlOperator "\~\~" syn match sqlOperator "~\~\*" syn match sqlOperator "\~=" syn match sqlOperator "\~\*" syn match sqlOperator "<" syn match sqlOperator "<^" syn match sqlOperator "<<" syn match sqlOperator "<<=" syn match sqlOperator "<=" syn match sqlOperator "<>" syn match sqlOperator "<->" syn match sqlOperator "" syn match sqlOperator "<#>" syn match sqlOperator "=" syn match sqlOperator ">" syn match sqlOperator ">^" syn match sqlOperator ">=" syn match sqlOperator ">>" syn match sqlOperator ">>=" syn match sqlOperator "|" syn match sqlOperator "||" syn match sqlOperator "||/" syn match sqlOperator "|/" syn match sqlOperator "-" syn match sqlOperator "!" syn match sqlOperator "!\~" syn match sqlOperator "!\~\~" syn match sqlOperator "!\~\~*" syn match sqlOperator "!\~\*" syn match sqlOperator "!!" syn match sqlOperator "!!=" syn match sqlOperator "?|" syn match sqlOperator "?||" syn match sqlOperator "?-" syn match sqlOperator "?-|" syn match sqlOperator "?#" syn match sqlOperator "/" syn match sqlOperator "@" syn match sqlOperator "@-@" syn match sqlOperator "@@" syn match sqlOperator "\*" syn match sqlOperator "&" syn match sqlOperator "&<" syn match sqlOperator "&>" syn match sqlOperator "&&" syn match sqlOperator "#" syn match sqlOperator "#<" syn match sqlOperator "#<=" syn match sqlOperator "#<>" syn match sqlOperator "#=" syn match sqlOperator "#>" syn match sqlOperator "#>=" syn match sqlOperator "##" syn match sqlOperator "%" syn match sqlOperator "+" " types syn keyword sqlType abstime aclitem anyarray bigint bit boolean box syn keyword sqlType bytea char character cid cidr circle cstring date double float syn keyword sqlType inet int2vector integer internal interval language_handler line long syn keyword sqlType lseg macaddr money name numeric oid oidvector syn keyword sqlType opaque point polygon precision real record refcursor regclass syn keyword sqlType regoper regoperator regproc regprocedure regtype reltime serial smallint syn keyword sqlType smgr text tid tinterval varchar varying void xid syn match sqlType "time" syn match sqlType "timestamp" syn match sqlType "with time zone" syn match sqlType "without time zone" " make copy from stdin all a string syn region sqlString start="from stdin\s*;"hs=e+1 end="\\\." " Strings and characters: syn region sqlString start=+'+ skip=+''|\\'+ end=+'+ syn region sqlIdentifier start=+"+ end=+"+ " Numbers: syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>" " Comments (Both ways): syn region sqlComment start="/\*" end="\*/" contains=sqlTodo syn match sqlComment "--.*$" contains=sqlTodo " Metas (commands in psql) syn match sqlMeta "^\\\S.*" syn sync ccomment sqlComment " Todo. syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_pgsql_syn_inits") if version < 508 let did_pgsql_syn_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink sqlComment Comment HiLink sqlKeyword Keyword HiLink sqlNumber Number HiLink sqlOperator Operator HiLink sqlSpecial Special HiLink sqlStatement Statement HiLink sqlString String HiLink sqlType Type HiLink sqlTodo Todo HiLink sqlMeta Macro HiLink sqlIdentifier Identifier delcommand HiLink endif let b:current_syntax = "pgsql" " vim: ts=8