http://qs321.pair.com?node_id=238334


in reply to Wanted: module for syntax highlighting

if by 'pretty print' you mean 'colorize', while not Perl Vim does good by me for the coloring part. i even think i remember seeing a macro or example in the distribution for colorizing from the shell.

but if you want to start writing a module here's what Vim uses as it's guideline, it shouldn't be to hard to check for the special words and wrap them with some color.

" Vim syntax file " Language: SQL, PL/SQL (Oracle 8i) " Maintainer: Paul Moore <gustav@morpheus.demon.co.uk> " Last Change: 2001 Apr 30 " 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 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 check cluster colum +n syn keyword sqlKeyword compress connect current cursor decimal defaul +t desc syn keyword sqlKeyword else elsif end exception exclusive file for fr +om syn keyword sqlKeyword function group having identified if immediate +increment syn keyword sqlKeyword index initial into is level loop maxextents mo +de modify syn keyword sqlKeyword nocompress nowait of offline on online start syn keyword sqlKeyword successful synonym table then to trigger uid syn keyword sqlKeyword unique user validate values view whenever syn keyword sqlKeyword where with option order pctfree privileges pro +cedure syn keyword sqlKeyword public resource return row rowlabel rownum row +s 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 alter analyze audit comment commit create syn keyword sqlStatement delete drop execute explain grant insert lock + noaudit syn keyword sqlStatement rename revoke rollback savepoint select set syn keyword sqlStatement truncate update syn keyword sqlType boolean char character date float integer long syn keyword sqlType mlslabel number raw rowid varchar varchar2 var +ray " Strings and characters: 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="\*/" syn match sqlComment "--.*" syn sync ccomment sqlComment " 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 highlighti +ng yet if version >= 508 || !exists("did_sql_syn_inits") if version < 508 let did_sql_syn_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink sqlComment Comment HiLink sqlKeyword sqlSpecial HiLink sqlNumber Number HiLink sqlOperator sqlStatement HiLink sqlSpecial Special HiLink sqlStatement Statement HiLink sqlString String HiLink sqlType Type delcommand HiLink endif let b:current_syntax = "sql" " vim: ts=8