JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
initial import
authorJason Woofenden <jason@jasonwoof.com>
Thu, 28 Apr 2011 15:35:51 +0000 (11:35 -0400)
committerJason Woofenden <jason@jasonwoof.com>
Thu, 28 Apr 2011 15:37:21 +0000 (11:37 -0400)
asm.vim [new file with mode: 0644]
factor.vim [new file with mode: 0644]
gforth.vim [new file with mode: 0644]
less.vim [new file with mode: 0644]
lisp.vim [new file with mode: 0644]
php.vim [new file with mode: 0644]
text.vim [new file with mode: 0644]
todo.vim [new file with mode: 0644]
vala.vim [new file with mode: 0644]

diff --git a/asm.vim b/asm.vim
new file mode 100644 (file)
index 0000000..dbb09b1
--- /dev/null
+++ b/asm.vim
@@ -0,0 +1,87 @@
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+syn match asmDirective         "\W\.[a-z][a-z]\+\>"
+
+
+" storage types
+syn match asmType "\W\.long"
+syn match asmType "\W\.ascii"
+syn match asmType "\W\.asciz"
+syn match asmType "\W\.byte"
+syn match asmType "\W\.double"
+syn match asmType "\W\.float"
+syn match asmType "\W\.hword"
+syn match asmType "\W\.int"
+syn match asmType "\W\.octa"
+syn match asmType "\W\.quad"
+syn match asmType "\W\.short"
+syn match asmType "\W\.single"
+syn match asmType "\W\.space"
+syn match asmType "\W\.string"
+syn match asmType "\W\.word"
+
+
+syn match decNumber            "\<[1-9]\d*\>"
+syn match octNumber            "\<0[0-7]*\>"
+syn match hexNumber            "\<0[x][0-9a-f]*\>"
+syn match binNumber            "\<0[b][0-1]*\>"
+
+syn match asmLabel     "^[a-z0-9_]*:"he=e-1
+syn match asmIdentifier        "^\s\+[a-z_][a-z0-9_]*"
+syn match asmIdentifier "^[0-9]:\s\+[a-z_][a-z0-9_]*"lc=2
+
+syn match asmComment           "#.*"hs=s+1
+
+syn match asmInclude           "\W\.include"
+syn match asmCond              "\W\.if\>"
+syn match asmCond              "\W\.else\>"
+syn match asmCond              "\W\.elseif"
+syn match asmCond              "\W\.endif"
+syn match asmMacro             "\W\.macro"
+syn match asmMacro             "\W\.endm"
+
+
+syn case match
+
+" 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_asm_syntax_inits")
+  if version < 508
+    let did_asm_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " The default methods for highlighting.  Can be overridden later
+  HiLink asmSection    Special
+  HiLink asmLabel      Label
+  HiLink asmComment    Comment
+  HiLink asmDirective  Statement
+
+  HiLink asmInclude    Include
+  HiLink asmCond       PreCondit
+  HiLink asmMacro      Macro
+
+  HiLink hexNumber     Number
+  HiLink decNumber     Number
+  HiLink octNumber     Number
+  HiLink binNumber     Number
+
+  HiLink asmSpecialComment Comment
+  HiLink asmIdentifier Identifier
+  HiLink asmType       Type
+
+  hi asmComment ctermfg=red
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "asm"
+
+" vim: ts=8
diff --git a/factor.vim b/factor.vim
new file mode 100644 (file)
index 0000000..4d15245
--- /dev/null
@@ -0,0 +1,232 @@
+" Vim syntax file
+" Language:    factor
+" Maintainer:  Alex Chapman <chapman.alex@gmail.com>
+" Last Change: 2007 Jan 18
+
+" 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
+
+" factor is case sensitive.
+syn case match
+
+" make all of these characters part of a word (useful for skipping over words with w, e, and b)
+if version >= 600
+    setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
+else
+    set iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
+endif
+
+syn cluster factorCluster contains=factorComment,factorKeyword,factorRepeat,factorConditional,factorBoolean,factorString,factorSbuf,@factorNumber,@factorNumErr,factorDelimiter,factorChar,factorCharErr,factorBackslash,@factorWordOps,factorAlien,factorTuple
+
+syn match factorTodo /\(TODO\|FIXME\|XXX\):\=/ contained
+syn match factorComment /\<#! .*/ contains=factorTodo
+syn match factorComment /\<! .*/ contains=factorTodo
+
+syn region None matchgroup=factorDefinition start=/\<\(C\|M\|G\|UNION\|PREDICATE\)\?:\>/ end=/\<;\>/ contains=@factorCluster,factorStackEffect,factorStackEffectErr,factorArray0,factorQuotation0
+
+syn region None matchgroup=factorGeneric start=/\<GENERIC:\>/ end=/$/ contains=factorStackEffect,factorStackEffectErr
+
+syn keyword factorBoolean boolean f general-t t
+syn keyword factorCompileDirective inline foldable parsing
+
+
+
+" kernel vocab keywords
+syn keyword factorKeyword continuation-name set-datastack wrapper continuation-catch set-continuation-name slip pick 2slip 2nip tuple set-boot clone with-datastack cpu -roll tuck -rot (continue) set-continuation-retain swapd <continuation> >boolean wrapper? dupd 3dup dup ifcc callstack windows? os-env = over continuation alist>quot ? <wrapper> 2dup cond win64? <quotation> continue 3drop hashcode quotation xor when curry millis set-callstack unless >r die version callcc0 or os callcc1 get-walker-hook depth equal? 3keep no-cond? continue-with if exit tuple? set-retainstack unix? (continue-with) general-t continuation? 3slip <no-cond> macosx? r> rot win32? retainstack 2apply >quotation >continuation< type continuation-call clear call drop continuation-data set-continuation-call 2drop no-cond unit set-continuation-data keep-datastack and when* quotation? ?if literalize datastack swap unless* 2swap set-continuation-catch eq? not roll set-walker-hook continuation-retain with make-dip wrapped keep 2keep <=> if* nip 
+syn keyword factorKeyword sin integer? log2 cot oct> number>string integer first-bignum sech abs repeat tanh real? vmin norm-sq neg between? asech >rect bignum? atanh -i * + fp-nan? - small / sqrt infimum fix-float cosech even? v*n < bits>double > most-positive-fixnum ^theta numerator digit+ >base (random-int) acosech cosh min pi number vmax zero? sum digit> rem bitor supremum string>integer most-negative-fixnum >polar >fraction ceiling acos acot ^ asin acosh /f ratio e fixnum? /i ^n cis coth 1+ 1- conjugate sinh acosec i number= number? double>bits epsilon float product string>number n/v norm max tan acoth absq float? asinh denominator rational? fixnum rect> >fixnum imaginary recip exp sec bitxor w>h/h >bin align base> times log <= [-] init-random sq odd? (repeat) [v-] ^mag bitnot ratio? random-int >digit (next-power-of-2) v* v+ v- v. v/ >float [-1,1]? arg small? bitand set-axis >oct v/n complex rational shift (^) polar> (gcd) cosec next-power-of-2 >float-rect atan sgn >= float>bits normalize real bin> complex? gcd d>w/w hex> mod string>ratio asec floor n*v >hex truncate bits>float vneg >bignum bignum power-of-2? integer, /mod (string>integer) cos 
+syn keyword factorKeyword second sort-values all-eq? pop* find slice-error-reason inject-with prune remove (group) split1-slice slice-error (slice*) split* head-slice* find* split, first remove-nth hash-prune push-if ?push reverse subseq split1 diff subset split new padding column? copy-into-check column@ <column> peek last/first add find-last ?nth add* slice-from cache-nth subseq? <reversed> <slice-error> (3append) replace-slice reversed-seq find-last-with empty? ((append)) reversed? reversed@ map-with find-last-with* set-slice-error-reason set-column-col natural-sort (subst) set-slice-seq index* concat push binsearch slice-seq 3append nsort length tail-slice* reversed ?head sequence= ?tail sequence? memq? join split-next, delete set-nth subst monotonic? group map flip unclip set-reversed-seq find-last* start* max-length assoc min-length all-equal? all? pad-left contains? inject slice <slice> first2 first3 first4 exchange bounds-check? column-seq check-slice pad-right each subset-with unpair tail head interleave (delete) copy-into sort sequence reduce set-slice-from set-slice-to 2map (cut) member? cut rassoc (append) last-index* sort-keys change-nth 2each >sequence nth tail* head* third tail-slice set-length collapse-slice column (mismatch) contains-with? push-new pop tail? head? slice? slice@ delete-all binsearch* move find-with* 2reduce slice-to find-with like slice-error? set-column-seq nappend column-col cut* (split) index each-with last-index fourth append accumulate drop-prefix mismatch head-slice all-with? start 
+syn keyword factorKeyword namespace-error-object inc dec make off bind get-global init-namespaces set-global namespace on ndrop namespace-error? namestack namespace-error +@ # % make-hash global , set-namestack with-scope building <namespace-error> change nest set-namespace-error-object get set counter 
+syn keyword factorKeyword array <array> pair byte-array pair? 1array 2array resize-array 4array 3array byte-array? <byte-array> array? >array 
+syn keyword factorKeyword cwd duplex-stream pathname? set-pathname-string with-log-file directory duplex-stream-out format <nested-style-stream> (readln) duplex-stream? read1 with-stream-style c-stream-error? <file-reader> stream-write1 with-stream line-reader? set-duplex-stream-out server? cr> <check-closed> directory? log-message flush format-column stream-readln nested-style-stream? <line-reader> <file-r/w> set-timeout write-pathname file-modified duplex-stream-closed? print set-duplex-stream-closed? pathname line-reader ?resource-path terpri write-object le> string-out stream-terpri log-client do-nested-style path+ <c-stream-error> set-client-stream-host plain-writer? server-stream resource-path >be parent-dir with-stream* <file-writer> server-loop string-in nested-style-stream stream-close stream-copy c-stream-error <client-stream> with-style client-stream-host stat plain-writer file-length contents <string-reader> stream-read stream-format check-closed? set-client-stream-port <duplex-stream> <server> write1 bl write-outliner map-last (with-stream-style) set-line-reader-cr tabular-output (lines) stream-write log-stream server-client (stream-copy) with-nested-stream lines readln cd client-stream nth-byte with-logging stream-read1 nested-style-stream-style accept check-closed client-stream-port do-nested-quot pathname-string set-nested-style-stream-style read home close with-stream-table stdio be> log-error duplex-stream-out+ server stream-flush set-duplex-stream-in line-reader-cr >le with-client <client> <pathname> <string-writer> (directory) set-server-client stream-print with-server exists? <plain-writer> with-nesting string-lines write duplex-stream-in client-stream? duplex-stream-in+ 
+syn keyword factorKeyword sbuf ch>upper string? LETTER? >sbuf >lower quotable? string>sbuf blank? string sbuf? printable? >string letter? resize-string control? alpha? <string> >upper Letter? ch>lower digit? <sbuf> ch>string 
+syn keyword factorKeyword <vector> >vector array>vector vector? vector 
+syn keyword factorKeyword set-restart-continuation cleanup error-hook restart-name restarts. stack-underflow. expired-error. restart restart? word-xt. (:help-none) set-catchstack c-string-error. condition <assert> debug-help :get datastack-overflow. set-condition-restarts condition? error. objc-error. print-error assert :res catchstack rethrow assert= kernel-error restart-obj assert? undefined-symbol-error. retainstack-overflow. restarts error-help divide-by-zero-error. ffi-error. signal-error. (:help-multi) set-restart-obj xt. memory-error. retainstack-underflow. set-condition-continuation datastack-underflow. try assert-depth error-continuation error-stack-trace assert-expect recover :edit kernel-error? error callstack-overflow. stack-overflow. callstack-underflow. set-assert-got set-restart-name restart-continuation condition-restarts heap-scan-error. :help type-check-error. <condition> assert-got throw negative-array-size-error. :c condition-continuation :trace undefined-word-error. io-error. parse-dump <restart> set-assert-expect :r :s compute-restarts catch restart. 
+
+
+syn cluster factorReal   contains=factorInt,factorFloat,factorRatio,factorBinary,factorHex,factorOctal
+syn cluster factorNumber contains=@factorReal,factorComplex
+syn cluster factorNumErr contains=factorBinErr,factorHexErr,factorOctErr
+syn match   factorInt          /\<-\=\d\+\>/
+syn match   factorFloat                /\<-\=\d*\.\d\+\>/
+syn match   factorRatio                /\<-\=\d*\.*\d\+\/-\=\d*\.*\d\+\>/
+syn region  factorComplex      start=/\<C{\>/ end=/\<}\>/ contains=@factorReal
+syn match   factorBinErr        /\<BIN:\s\+[01]*[^\s01]\S*\>/
+syn match   factorBinary        /\<BIN:\s\+[01]\+\>/
+syn match   factorHexErr        /\<HEX:\s\+\x*[^\x\s]\S*\>/
+syn match   factorHex           /\<HEX:\s\+\x\+\>/
+syn match   factorOctErr        /\<OCT:\s\+\o*[^\o\s]\S*\>/
+syn match   factorOctal         /\<OCT:\s\+\o\+\>/
+
+syn match factorIn /\<IN:\s\+\S\+\>/
+syn match factorUse /\<USE:\s\+\S\+\>/
+
+syn match factorCharErr /\<CHAR:\s\+\S\+/
+syn match factorChar /\<CHAR:\s\+\\\=\S\>/
+
+syn match factorBackslash /\<\\\>\s\+\S\+\>/
+
+syn region factorUsing start=/\<USING:\>/ end=/;/
+syn region factorRequires start=/\<REQUIRES:\>/ end=/;/
+
+syn cluster factorWordOps contains=factorSymbol,factorPostpone,factorDefer,factorForget
+syn match factorSymbol /\<SYMBOL:\s\+\S\+\>/
+syn match factorPostpone /\<POSTPONE:\s\+\S\+\>/
+syn match factorDefer /\<DEFER:\s\+\S\+\>/
+syn match factorForget /\<FORGET:\s\+\S\+\>/
+
+syn match factorAlien /\<ALIEN:\s\+\d\+\>/
+
+syn region factorTuple start=/\<TUPLE:\>/ end=/\<;\>/
+
+"TODO:
+"misc:
+" HELP:
+" ARTICLE:
+" PROVIDE:
+" MAIN:
+"literals:
+" PRIMITIVE:
+
+"C interface:
+" FIELD:
+" BEGIN-STRUCT:
+" C-ENUM:
+" FUNCTION:
+" END-STRUCT
+" DLL"
+" TYPEDEF:
+" LIBRARY:
+" C-UNION:
+
+syn region factorString start=/"/ skip=/\\"/ end=/"/ oneline
+syn region factorSbuf start=/SBUF" / skip=/\\"/ end=/"/ oneline
+
+syn match factorStackEffectErr /\<)\>/
+syn region factorStackEffectErr start=/\<(\>/ end=/\<)\>/
+syn region factorStackEffect start=/\<(\>/ end=/\<)\>/ contained
+
+"adapted from lisp.vim
+if exists("g:factor_norainbow") 
+    syn region factorQuotation matchgroup=factorDelimiter start=/\<\[\>/ matchgroup=factorDelimiter end=/\<\]\>/ contains=ALL
+else
+    syn region factorQuotation0           matchgroup=hlLevel0 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation1,factorArray1
+    syn region factorQuotation1 contained matchgroup=hlLevel1 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation2,factorArray2
+    syn region factorQuotation2 contained matchgroup=hlLevel2 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation3,factorArray3
+    syn region factorQuotation3 contained matchgroup=hlLevel3 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation4,factorArray4
+    syn region factorQuotation4 contained matchgroup=hlLevel4 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation5,factorArray5
+    syn region factorQuotation5 contained matchgroup=hlLevel5 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation6,factorArray6
+    syn region factorQuotation6 contained matchgroup=hlLevel6 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation7,factorArray7
+    syn region factorQuotation7 contained matchgroup=hlLevel7 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation8,factorArray8
+    syn region factorQuotation8 contained matchgroup=hlLevel8 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation9,factorArray9
+    syn region factorQuotation9 contained matchgroup=hlLevel9 start=/\<\[\>/ end=/\<\]\>/ contains=@factorCluster,factorQuotation0,factorArray0
+endif
+
+if exists("g:factor_norainbow") 
+    syn region factorArray    matchgroup=factorDelimiter start=/\<\(V\|H\|T\|W\)\?{\>/  matchgroup=factorDelimiter end=/\<}\>/ contains=ALL
+else
+    syn region factorArray0           matchgroup=hlLevel0 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray1,factorQuotation1
+    syn region factorArray1 contained matchgroup=hlLevel1 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray2,factorQuotation2
+    syn region factorArray2 contained matchgroup=hlLevel2 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray3,factorQuotation3
+    syn region factorArray3 contained matchgroup=hlLevel3 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray4,factorQuotation4
+    syn region factorArray4 contained matchgroup=hlLevel4 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray5,factorQuotation5
+    syn region factorArray5 contained matchgroup=hlLevel5 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray6,factorQuotation6
+    syn region factorArray6 contained matchgroup=hlLevel6 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray7,factorQuotation7
+    syn region factorArray7 contained matchgroup=hlLevel7 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray8,factorQuotation8
+    syn region factorArray8 contained matchgroup=hlLevel8 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray9,factorQuotation9
+    syn region factorArray9 contained matchgroup=hlLevel9 start=/\<\(V\|H\|T\|W\)\?{\>/ end=/\<}\>/ contains=@factorCluster,factorArray0,factorQuotation0
+endif
+
+syn match factorBracketErr /\<\]\>/
+syn match factorBracketErr /\<}\>/
+
+syn sync lines=100
+
+if version >= 508 || !exists("did_factor_syn_inits")
+    if version <= 508
+       let did_factor_syn_inits = 1
+       command -nargs=+ HiLink hi link <args>
+    else
+       command -nargs=+ HiLink hi def link <args>
+    endif
+
+    HiLink factorComment       Comment
+    HiLink factorStackEffect   Typedef
+    HiLink factorTodo          Todo
+    HiLink factorInclude       Include
+    HiLink factorRepeat                Repeat
+    HiLink factorConditional   Conditional
+    HiLink factorKeyword       Keyword
+    HiLink factorOperator      Operator
+    HiLink factorBoolean       Boolean
+    HiLink factorDefinition    Typedef
+    HiLink factorString                String
+    HiLink factorSbuf          String
+    HiLink factorBracketErr     Error
+    HiLink factorStackEffectErr Error
+    HiLink factorComplex       Number
+    HiLink factorRatio          Number
+    HiLink factorBinary         Number
+    HiLink factorBinErr         Error
+    HiLink factorHex            Number
+    HiLink factorHexErr         Error
+    HiLink factorOctal          Number
+    HiLink factorOctErr         Error
+    HiLink factorFloat         Float
+    HiLink factorInt           Number
+    HiLink factorUsing          Include
+    HiLink factorUse            Include
+    HiLink factorRequires       Include
+    HiLink factorIn             Define
+    HiLink factorChar           Character
+    HiLink factorCharErr        Error
+    HiLink factorDelimiter      Delimiter
+    HiLink factorBackslash      Special
+    HiLink factorCompileDirective Keyword
+    HiLink factorSymbol         Define
+    HiLink factorPostpone       Define
+    HiLink factorDefer          Define
+    HiLink factorForget         Define
+    HiLink factorAlien          Define
+    HiLink factorTuple          Typedef
+    HiLink factorGeneric        Define
+
+    if &bg == "dark"
+       hi   hlLevel0 ctermfg=red         guifg=red1
+       hi   hlLevel1 ctermfg=yellow      guifg=orange1
+       hi   hlLevel2 ctermfg=green       guifg=yellow1
+       hi   hlLevel3 ctermfg=cyan        guifg=greenyellow
+       hi   hlLevel4 ctermfg=magenta     guifg=green1
+       hi   hlLevel5 ctermfg=red         guifg=springgreen1
+       hi   hlLevel6 ctermfg=yellow      guifg=cyan1
+       hi   hlLevel7 ctermfg=green       guifg=slateblue1
+       hi   hlLevel8 ctermfg=cyan        guifg=magenta1
+       hi   hlLevel9 ctermfg=magenta     guifg=purple1
+    else
+       hi   hlLevel0 ctermfg=red         guifg=red3
+       hi   hlLevel1 ctermfg=darkyellow  guifg=orangered3
+       hi   hlLevel2 ctermfg=darkgreen   guifg=orange2
+       hi   hlLevel3 ctermfg=blue        guifg=yellow3
+       hi   hlLevel4 ctermfg=darkmagenta guifg=olivedrab4
+       hi   hlLevel5 ctermfg=red         guifg=green4
+       hi   hlLevel6 ctermfg=darkyellow  guifg=paleturquoise3
+       hi   hlLevel7 ctermfg=darkgreen   guifg=deepskyblue4
+       hi   hlLevel8 ctermfg=blue        guifg=darkslateblue
+       hi   hlLevel9 ctermfg=darkmagenta guifg=darkviolet
+    endif
+
+    delcommand HiLink
+endif
+
+let b:current_syntax = "factor"
+
+set sw=4
+set ts=4
+set expandtab
+set autoindent " annoying?
+
+" vim: syntax=vim
diff --git a/gforth.vim b/gforth.vim
new file mode 100644 (file)
index 0000000..5109cc9
--- /dev/null
@@ -0,0 +1,65 @@
+"  Copyright (C) 2004 Jason Woofenden
+"
+"  This file is part of herkforth.
+"
+"  herkforth is free software; you can redistribute it and/or modify it
+"  under the terms of the GNU General Public License as published by
+"  the Free Software Foundation; either version 2, or (at your option)
+"  any later version.
+"
+"  herkforth is distributed in the hope that it will be useful, but
+"  WITHOUT ANY WARRANTY; without even the implied warranty of
+"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+"  General Public License for more details.
+"
+"  You should have received a copy of the GNU General Public License
+"  along with herkforth; see the file COPYING.  If not, write to the
+"  Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+"  MA 02111-1307, USA.
+
+
+
+"   This file implements syntax coloring in vim for the ascii representation of my colorforth source.
+"
+"   To install, create a link to this file in ~/vim/syntax:
+"
+"   ln -s `pwd`/syntax_coloring.vim ~/.vim/syntax/herkforth.vim
+"
+"   Then add the following lines to the "filetypedetect" augroup in ~/.vim/filetype.vim
+"
+"   au BufNewFile,BufRead blocks/[0-9][0-9][02468] setf herkforth
+"
+"   (if you have no ~/.vim/filetype.vim then create the file with this text in it:
+"
+"   augroup filetypedetect
+"   au BufNewFile,BufRead blocks/[0-9][0-9][02468] setf herkforth
+"   augroup END
+"
+"    NOTE: be sure not to include the " marks at the begining of the lines in the above instructions
+
+highlight execute ctermfg=Yellow ctermbg=Black
+highlight define ctermfg=DarkRed ctermbg=Black
+highlight compile ctermfg=DarkGreen ctermbg=Black
+highlight brackets ctermfg=Blue ctermbg=Black
+highlight comment0 ctermfg=Grey ctermbg=Black
+highlight comment1 ctermfg=Grey ctermbg=Black
+highlight comment2 ctermfg=Grey ctermbg=Black
+highlight comment3 ctermfg=Grey ctermbg=Black
+highlight string ctermfg=DarkGrey ctermbg=Black
+
+syntax match compile /[^][; ]/
+syntax match execute /[^][]/
+syntax match define /^ *: [^ ]\+/
+syntax match comment0 /^(.*/
+syntax match comment1 / (.*/
+syntax match comment2 /\\.*/
+syntax match comment3 /^#! .*/
+syntax match string /^" .*/
+
+syntax region brackets start="^ *:\|]"hs=s+ end=" [[;]" contains=variable_def,tic,define,compile,const_def
+
+
+" this is the range of characters that are considered part of a word (any
+" non-whitespace printable 7-bit char). This enables the tags to work on all
+" forth words (see README for more info on tags.)
+set isk=33-255
diff --git a/less.vim b/less.vim
new file mode 100644 (file)
index 0000000..1a3625c
--- /dev/null
+++ b/less.vim
@@ -0,0 +1,305 @@
+" Vim syntax file
+" Language:    LESS Cascading Style Sheets
+" Maintainer:  Leaf Corcoran <leafot@gmail.com>
+" Modifier:    Bryan J Swift <bryan@bryanjswift.com>
+" URL:                 http://leafo.net/lessphp/vim/less.vim
+" URL:         http://gist.github.com/161047
+" Last Change: 2009 August 4
+" LESS by Leaf Corcoran
+" CSS2 by Nikolai Weibull
+" Full CSS2, HTML4 support by Yeti
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if !exists("main_syntax")
+  if version < 600
+    syntax clear
+  elseif exists("b:current_syntax")
+  finish
+endif
+  let main_syntax = 'less'
+endif
+
+syn case ignore
+
+
+
+syn keyword cssTagName abbr acronym address applet area a b base
+syn keyword cssTagName basefont bdo big blockquote body br button
+syn keyword cssTagName caption center cite code col colgroup dd del
+syn keyword cssTagName dfn dir div dl dt em fieldset font form frame
+syn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i
+syn keyword cssTagName iframe img input ins isindex kbd label legend li
+syn keyword cssTagName link map menu meta noframes noscript ol optgroup
+syn keyword cssTagName option p param pre q s samp script select small
+syn keyword cssTagName span strike strong style sub sup tbody td
+syn keyword cssTagName textarea tfoot th thead title tr tt ul u var
+syn match cssTagName "\<table\>"
+syn match cssTagName "\*"
+
+syn match cssTagName "@page\>" nextgroup=cssDefinition
+
+syn match cssSelectorOp "[+>.]"
+syn match cssSelectorOp2 "[~|]\?=" contained
+syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
+
+try
+syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*"
+catch /^.*/
+syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
+endtry
+
+syn match cssMedia "@media\>" nextgroup=cssMediaType skipwhite skipnl
+syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all nextgroup=cssMediaComma,cssMediaBlock skipwhite skipnl
+syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl
+syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssError,cssComment,cssDefinition,cssURL,cssUnicodeEscape,cssIdentifier
+
+syn match cssValueInteger "[-+]\=\d\+"
+syn match cssValueNumber "[-+]\=\d\+\(\.\d*\)\="
+syn match cssValueLength "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\)"
+
+syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)"
+syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)"
+syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)"
+
+syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
+syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
+syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
+syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
+syn keyword cssFontDescriptorAttr contained all
+syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
+syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
+syn match cssUnicodeRange contained "U+\x\+-\x\+"
+
+syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow
+" FIXME: These are actually case-insentivie too, but (a) specs recommend using
+" mixed-case (b) it's hard to highlight the word `Background' correctly in
+" all situations
+syn case match
+syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFace ButtonHighlight ButtonShadow ButtonText CaptionText GrayText Highlight HighlightText InactiveBorder InactiveCaption InactiveCaptionText InfoBackground InfoText Menu MenuText Scrollbar ThreeDDarkShadow ThreeDFace ThreeDHighlight ThreeDLightShadow ThreeDShadow Window WindowFrame WindowText Background
+syn case ignore
+syn match cssColor contained "\<transparent\>"
+syn match cssColor contained "\<white\>"
+syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>"
+syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>"
+"syn match cssColor contained "\<rgb\s*(\s*\d\+\(\.\d*\)\=%\=\s*,\s*\d\+\(\.\d*\)\=%\=\s*,\s*\d\+\(\.\d*\)\=%\=\s*)"
+syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline keepend
+syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\)\s*(" end=")" oneline keepend
+
+syn match cssImportant contained "!\s*important\>"
+
+syn keyword cssCommonAttr contained auto none inherit
+syn keyword cssCommonAttr contained top bottom
+syn keyword cssCommonAttr contained medium normal
+
+syn match cssFontProp contained "\<font\>\(-\(family\|style\|variant\|weight\|size\(-adjust\)\=\|stretch\)\>\)\="
+syn match cssFontAttr contained "\<\(sans-\)\=\<serif\>"
+syn match cssFontAttr contained "\<small\>\(-\(caps\|caption\)\>\)\="
+syn match cssFontAttr contained "\<x\{1,2\}-\(large\|small\)\>"
+syn match cssFontAttr contained "\<message-box\>"
+syn match cssFontAttr contained "\<status-bar\>"
+syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\|status-bar\)-\)\=\(condensed\|expanded\)\>"
+syn keyword cssFontAttr contained cursive fantasy monospace italic oblique
+syn keyword cssFontAttr contained bold bolder lighter larger smaller
+syn keyword cssFontAttr contained icon menu
+syn match cssFontAttr contained "\<caption\>"
+syn keyword cssFontAttr contained large smaller larger
+syn keyword cssFontAttr contained narrower wider
+
+syn keyword cssColorProp contained color
+syn match cssColorProp contained "\<background\(-\(color\|image\|attachment\|position\)\)\="
+syn keyword cssColorAttr contained center scroll fixed
+syn match cssColorAttr contained "\<repeat\(-[xy]\)\=\>"
+syn match cssColorAttr contained "\<no-repeat\>"
+
+syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
+syn match cssTextAttr contained "\<line-through\>"
+syn match cssTextAttr contained "\<text-indent\>"
+syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
+syn keyword cssTextAttr contained underline overline blink sub super middle
+syn keyword cssTextAttr contained capitalize uppercase lowercase center justify baseline sub super
+
+syn match cssBoxProp contained "\<\(margin\|padding\|border\)\(-\(top\|right\|bottom\|left\)\)\=\>"
+syn match cssBoxProp contained "\<border-\(\(\(top\|right\|bottom\|left\)-\)\=\(width\|color\|style\)\)\=\>"
+syn match cssBoxProp contained "\<\(width\|z-index\)\>"
+syn match cssBoxProp contained "\<\(min\|max\)-\(width\|height\)\>"
+syn keyword cssBoxProp contained width height float clear overflow clip visibility
+syn keyword cssBoxAttr contained thin thick both
+syn keyword cssBoxAttr contained dotted dashed solid double groove ridge inset outset
+syn keyword cssBoxAttr contained hidden visible scroll collapse
+
+syn keyword cssGeneratedContentProp contained content quotes
+syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
+syn match cssGeneratedContentProp contained "\<list-style\(-\(type\|position\|image\)\)\=\>"
+syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
+syn match cssAuralAttr contained "\<lower\>"
+syn match cssGeneratedContentAttr contained "\<\(lower\|upper\)-\(roman\|alpha\|greek\|latin\)\>"
+syn match cssGeneratedContentAttr contained "\<\(hiragana\|katakana\)\(-iroha\)\=\>"
+syn match cssGeneratedContentAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic\)\>"
+syn keyword cssGeneratedContentAttr contained disc circle square hebrew armenian georgian
+syn keyword cssGeneratedContentAttr contained inside outside
+
+syn match cssPagingProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
+syn keyword cssPagingProp contained size marks inside orphans widows
+syn keyword cssPagingAttr contained landscape portrait crop cross always avoid
+
+syn keyword cssUIProp contained cursor
+syn match cssUIProp contained "\<outline\(-\(width\|style\|color\)\)\=\>"
+syn match cssUIAttr contained "\<[ns]\=[ew]\=-resize\>"
+syn keyword cssUIAttr contained default crosshair pointer move wait help
+syn keyword cssUIAttr contained thin thick
+syn keyword cssUIAttr contained dotted dashed solid double groove ridge inset outset
+syn keyword cssUIAttr contained invert
+
+syn match cssRenderAttr contained "\<marker\>"
+syn match cssRenderProp contained "\<\(display\|marker-offset\|unicode-bidi\|white-space\|list-item\|run-in\|inline-table\)\>"
+syn keyword cssRenderProp contained position top bottom direction
+syn match cssRenderProp contained "\<\(left\|right\)\>"
+syn keyword cssRenderAttr contained block inline compact
+syn match cssRenderAttr contained "\<table\(-\(row-gorup\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
+syn keyword cssRenderAttr contained static relative absolute fixed
+syn keyword cssRenderAttr contained ltr rtl embed bidi-override pre nowrap
+syn match cssRenderAttr contained "\<bidi-override\>"
+
+syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
+syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>"
+syn keyword cssAuralProp contained volume during azimuth elevation stress richness
+syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
+syn keyword cssAuralAttr contained silent
+syn match cssAuralAttr contained "\<spell-out\>"
+syn keyword cssAuralAttr contained non mix
+syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
+syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
+syn keyword cssAuralAttr contained leftwards rightwards behind
+syn keyword cssAuralAttr contained below level above higher
+syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\)\>"
+syn keyword cssAuralAttr contained faster slower
+syn keyword cssAuralAttr contained male female child code digits continuous
+
+syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\|speak-header\)\>"
+syn keyword cssTableAttr contained fixed collapse separate show hide once always
+
+
+
+syn match lessComment "//.*$" contains=@Spell
+syn match lessVariable "@[A-Za-z_-][A-Za-z0-9_-]*" contained
+syn region lessVariableDefinition start="^@" end=";" contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssDefinition,cssClassName,cssTagName,cssIdentifier,lessComment,lessVariable,lessFunction
+
+" captures both the definition and the call
+syn region lessFunction matchgroup=lessFuncDef start="@[A-Za-z_-][A-Za-z0-9_-]*(" end=")" contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssDefinition,cssClassName,cssTagName,cssIdentifier,lessComment,lessVariable,lessFunction
+
+
+
+
+
+" FIXME: This allows cssMediaBlock before the semicolon, which is wrong.
+syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType
+syn match cssBraces contained "[{}]"
+syn match cssError contained "{@<>"
+syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssDefinition,cssClassName,cssTagName,cssIdentifier,lessComment,lessVariable,lessFunction
+" syn match cssBraceError "}"
+
+syn match cssPseudoClass ":\S*" contains=cssPseudoClassId,cssUnicodeEscape
+syn keyword cssPseudoClassId contained link visited active hover focus before after left right
+syn match cssPseudoClassId contained "\<first\(-\(line\|letter\|child\)\)\=\>"
+syn region cssPseudoClassLang matchgroup=cssPseudoClassId start=":lang(" end=")" oneline
+
+syn region cssComment start="/\*" end="\*/" contains=@Spell
+
+syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
+syn match cssSpecialCharQQ +\\"+ contained
+syn match cssSpecialCharQ +\\'+ contained
+syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
+syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
+syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
+
+
+
+
+if main_syntax == "css"
+  syn sync minlines=50
+endif
+
+" 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_less_syn_inits")
+  if version < 508
+    let did_less_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink lessComment Comment
+  HiLink lessVariable Special
+  HiLink lessFuncDef Function
+  HiLink cssComment Comment
+  HiLink cssTagName Statement
+  HiLink cssSelectorOp Special
+  HiLink cssSelectorOp2 Special
+  HiLink cssFontProp StorageClass
+  HiLink cssColorProp storageClass
+  HiLink cssTextProp StorageClass
+  HiLink cssBoxProp StorageClass
+  HiLink cssRenderProp StorageClass
+  HiLink cssAuralProp StorageClass
+  HiLink cssRenderProp StorageClass
+  HiLink cssGeneratedContentProp StorageClass
+  HiLink cssPagingProp StorageClass
+  HiLink cssTableProp StorageClass
+  HiLink cssUIProp StorageClass
+  HiLink cssFontAttr Type
+  HiLink cssColorAttr Type
+  HiLink cssTextAttr Type
+  HiLink cssBoxAttr Type
+  HiLink cssRenderAttr Type
+  HiLink cssAuralAttr Type
+  HiLink cssGeneratedContentAttr Type
+  HiLink cssPagingAttr Type
+  HiLink cssTableAttr Type
+  HiLink cssUIAttr Type
+  HiLink cssCommonAttr Type
+  HiLink cssPseudoClassId PreProc
+  HiLink cssPseudoClassLang Constant
+  HiLink cssValueLength Number
+  HiLink cssValueInteger Number
+  HiLink cssValueNumber Number
+  HiLink cssValueAngle Number
+  HiLink cssValueTime Number
+  HiLink cssValueFrequency Number
+  HiLink cssFunction Constant
+  HiLink cssURL String
+  HiLink cssFunctionName Function
+  HiLink cssColor Constant
+  HiLink cssIdentifier Function
+  HiLink cssInclude Include
+  HiLink cssImportant Special
+  HiLink cssBraces SpecialChar
+  HiLink cssBraceError Error
+  HiLink cssError Error
+  HiLink cssInclude Include
+  HiLink cssUnicodeEscape Special
+  HiLink cssStringQQ String
+  HiLink cssStringQ String
+  HiLink cssMedia Special
+  HiLink cssMediaType Special
+  HiLink cssMediaComma Normal
+  HiLink cssFontDescriptor Special
+  HiLink cssFontDescriptorFunction Constant
+  HiLink cssFontDescriptorProp StorageClass
+  HiLink cssFontDescriptorAttr Type
+  HiLink cssUnicodeRange Constant
+  HiLink cssClassName Function
+  delcommand HiLink
+endif
+
+let b:current_syntax = "less"
+
+if main_syntax == 'less'
+  unlet main_syntax
+endif
+
+
+" vim: ts=8
+
diff --git a/lisp.vim b/lisp.vim
new file mode 100644 (file)
index 0000000..f304b51
--- /dev/null
+++ b/lisp.vim
@@ -0,0 +1,542 @@
+" Vim syntax file
+" Language:    Lisp
+" Maintainer:  Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
+" Last Change: Oct 12, 2005
+" Version:     17a
+" URL:        http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
+"
+"  Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
+"  taken from the HyperSpec
+
+" ---------------------------------------------------------------------
+"  Load Once: {{{1
+" For vim-version 5.x: Clear all syntax items
+" For vim-version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+if version >= 600
+ setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
+else
+ set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
+endif
+
+" ---------------------------------------------------------------------
+" Clusters: {{{1
+syn cluster                     lispAtomCluster                  contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite
+syn cluster                     lispBaseListCluster              contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite
+if exists("g:lisp_instring")
+ syn cluster                    lispListCluster                  contains=@lispBaseListCluster,lispString,lispInString,lispInStringString
+else
+ syn cluster                    lispListCluster                  contains=@lispBaseListCluster,lispString
+endif
+
+" ---------------------------------------------------------------------
+" Lists: {{{1
+syn match                       lispSymbol                       contained                        ![^()'`,"; \t]\+!
+syn match                       lispBarSymbol                    contained                        !|..\{-}|!
+if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
+ syn region lispParen0           matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1 
+ syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2 
+ syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3 
+ syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4 
+ syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5 
+ syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6 
+ syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7 
+ syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8 
+ syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9 
+ syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0
+else
+ syn region                     lispList                         matchgroup=Delimiter start="("   skip="|.\{-}|"                           matchgroup=Delimiter end=")"        contains=@lispListCluster
+ syn region                     lispBQList                       matchgroup=PreProc   start="`("  skip="|.\{-}|"                   matchgroup=PreProc   end=")"                contains=@lispListCluster
+endif
+
+" ---------------------------------------------------------------------
+" Atoms: {{{1
+syn match                       lispAtomMark                     "'"
+syn match                       lispAtom                         "'("me=e-1                       contains=lispAtomMark            nextgroup=lispAtomList
+syn match                       lispAtom                         "'[^ \t()]\+"                    contains=lispAtomMark
+syn match                       lispAtomBarSymbol                !'|..\{-}|!                      contains=lispAtomMark
+syn region                      lispAtom                         start=+'"+                       skip=+\\"+ end=+"+
+syn region                      lispAtomList                     contained                        matchgroup=Special start="("     skip="|.\{-}|" matchgroup=Special end=")"                         contains=@lispAtomCluster,lispString
+syn match                       lispAtomNmbr                     contained                        "\<\d\+"
+syn match                       lispLeadWhite                    contained                        "^\s\+"
+
+" ---------------------------------------------------------------------
+" Standard Lisp Functions and Macros: {{{1
+syn keyword lispFunc            *                                find-method                      pprint-indent
+syn keyword lispFunc            **                               find-package                     pprint-linear
+syn keyword lispFunc            ***                              find-restart                     pprint-logical-block
+syn keyword lispFunc            +                                find-symbol                      pprint-newline
+syn keyword lispFunc            ++                               finish-output                    pprint-pop
+syn keyword lispFunc            +++                              first                            pprint-tab
+syn keyword lispFunc            -                                fixnum                           pprint-tabular
+syn keyword lispFunc            /                                flet                             prin1
+syn keyword lispFunc            //                               float                            prin1-to-string
+syn keyword lispFunc            ///                              float-digits                     princ
+syn keyword lispFunc            /=                               float-precision                  princ-to-string
+syn keyword lispFunc            1+                               float-radix                      print
+syn keyword lispFunc            1-                               float-sign                       print-not-readable
+syn keyword lispFunc            <                                floating-point-inexact           print-not-readable-object
+syn keyword lispFunc            <=                               floating-point-invalid-operation print-object
+syn keyword lispFunc            =                                floating-point-overflow          print-unreadable-object
+syn keyword lispFunc            >                                floating-point-underflow         probe-file
+syn keyword lispFunc            >=                               floatp                           proclaim
+syn keyword lispFunc            abort                            floor                            prog
+syn keyword lispFunc            abs                              fmakunbound                      prog*
+syn keyword lispFunc            access                           force-output                     prog1
+syn keyword lispFunc            acons                            format                           prog2
+syn keyword lispFunc            acos                             formatter                        progn
+syn keyword lispFunc            acosh                            fourth                           program-error
+syn keyword lispFunc            add-method                       fresh-line                       progv
+syn keyword lispFunc            adjoin                           fround                           provide
+syn keyword lispFunc            adjust-array                     ftruncate                        psetf
+syn keyword lispFunc            adjustable-array-p               ftype                            psetq
+syn keyword lispFunc            allocate-instance                funcall                          push
+syn keyword lispFunc            alpha-char-p                     function                         pushnew
+syn keyword lispFunc            alphanumericp                    function-keywords                putprop
+syn keyword lispFunc            and                              function-lambda-expression       quote
+syn keyword lispFunc            append                           functionp                        random
+syn keyword lispFunc            apply                            gbitp                            random-state
+syn keyword lispFunc            applyhook                        gcd                              random-state-p
+syn keyword lispFunc            apropos                          generic-function                 rassoc
+syn keyword lispFunc            apropos-list                     gensym                           rassoc-if
+syn keyword lispFunc            aref                             gentemp                          rassoc-if-not
+syn keyword lispFunc            arithmetic-error                 get                              ratio
+syn keyword lispFunc            arithmetic-error-operands        get-decoded-time                 rational
+syn keyword lispFunc            arithmetic-error-operation       get-dispatch-macro-character     rationalize
+syn keyword lispFunc            array                            get-internal-real-time           rationalp
+syn keyword lispFunc            array-dimension                  get-internal-run-time            read
+syn keyword lispFunc            array-dimension-limit            get-macro-character              read-byte
+syn keyword lispFunc            array-dimensions                 get-output-stream-string         read-char
+syn keyword lispFunc            array-displacement               get-properties                   read-char-no-hang
+syn keyword lispFunc            array-element-type               get-setf-expansion               read-delimited-list
+syn keyword lispFunc            array-has-fill-pointer-p         get-setf-method                  read-eval-print
+syn keyword lispFunc            array-in-bounds-p                get-universal-time               read-from-string
+syn keyword lispFunc            array-rank                       getf                             read-line
+syn keyword lispFunc            array-rank-limit                 gethash                          read-preserving-whitespace
+syn keyword lispFunc            array-row-major-index            go                               read-sequence
+syn keyword lispFunc            array-total-size                 graphic-char-p                   reader-error
+syn keyword lispFunc            array-total-size-limit           handler-bind                     readtable
+syn keyword lispFunc            arrayp                           handler-case                     readtable-case
+syn keyword lispFunc            ash                              hash-table                       readtablep
+syn keyword lispFunc            asin                             hash-table-count                 real
+syn keyword lispFunc            asinh                            hash-table-p                     realp
+syn keyword lispFunc            assert                           hash-table-rehash-size           realpart
+syn keyword lispFunc            assoc                            hash-table-rehash-threshold      reduce
+syn keyword lispFunc            assoc-if                         hash-table-size                  reinitialize-instance
+syn keyword lispFunc            assoc-if-not                     hash-table-test                  rem
+syn keyword lispFunc            atan                             host-namestring                  remf
+syn keyword lispFunc            atanh                            identity                         remhash
+syn keyword lispFunc            atom                             if                               remove
+syn keyword lispFunc            base-char                        if-exists                        remove-duplicates
+syn keyword lispFunc            base-string                      ignorable                        remove-if
+syn keyword lispFunc            bignum                           ignore                           remove-if-not
+syn keyword lispFunc            bit                              ignore-errors                    remove-method
+syn keyword lispFunc            bit-and                          imagpart                         remprop
+syn keyword lispFunc            bit-andc1                        import                           rename-file
+syn keyword lispFunc            bit-andc2                        in-package                       rename-package
+syn keyword lispFunc            bit-eqv                          in-package                       replace
+syn keyword lispFunc            bit-ior                          incf                             require
+syn keyword lispFunc            bit-nand                         initialize-instance              rest
+syn keyword lispFunc            bit-nor                          inline                           restart
+syn keyword lispFunc            bit-not                          input-stream-p                   restart-bind
+syn keyword lispFunc            bit-orc1                         inspect                          restart-case
+syn keyword lispFunc            bit-orc2                         int-char                         restart-name
+syn keyword lispFunc            bit-vector                       integer                          return
+syn keyword lispFunc            bit-vector-p                     integer-decode-float             return-from
+syn keyword lispFunc            bit-xor                          integer-length                   revappend
+syn keyword lispFunc            block                            integerp                         reverse
+syn keyword lispFunc            boole                            interactive-stream-p             room
+syn keyword lispFunc            boole-1                          intern                           rotatef
+syn keyword lispFunc            boole-2                          internal-time-units-per-second   round
+syn keyword lispFunc            boole-and                        intersection                     row-major-aref
+syn keyword lispFunc            boole-andc1                      invalid-method-error             rplaca
+syn keyword lispFunc            boole-andc2                      invoke-debugger                  rplacd
+syn keyword lispFunc            boole-c1                         invoke-restart                   safety
+syn keyword lispFunc            boole-c2                         invoke-restart-interactively     satisfies
+syn keyword lispFunc            boole-clr                        isqrt                            sbit
+syn keyword lispFunc            boole-eqv                        keyword                          scale-float
+syn keyword lispFunc            boole-ior                        keywordp                         schar
+syn keyword lispFunc            boole-nand                       labels                           search
+syn keyword lispFunc            boole-nor                        lambda                           second
+syn keyword lispFunc            boole-orc1                       lambda-list-keywords             sequence
+syn keyword lispFunc            boole-orc2                       lambda-parameters-limit          serious-condition
+syn keyword lispFunc            boole-set                        last                             set
+syn keyword lispFunc            boole-xor                        lcm                              set-char-bit
+syn keyword lispFunc            boolean                          ldb                              set-difference
+syn keyword lispFunc            both-case-p                      ldb-test                         set-dispatch-macro-character
+syn keyword lispFunc            boundp                           ldiff                            set-exclusive-or
+syn keyword lispFunc            break                            least-negative-double-float      set-macro-character
+syn keyword lispFunc            broadcast-stream                 least-negative-long-float        set-pprint-dispatch
+syn keyword lispFunc            broadcast-stream-streams         least-negative-normalized-double-float                            set-syntax-from-char
+syn keyword lispFunc            built-in-class                   least-negative-normalized-long-float                              setf
+syn keyword lispFunc            butlast                          least-negative-normalized-short-float                             setq
+syn keyword lispFunc            byte                             least-negative-normalized-single-float                            seventh
+syn keyword lispFunc            byte-position                    least-negative-short-float       shadow
+syn keyword lispFunc            byte-size                        least-negative-single-float      shadowing-import
+syn keyword lispFunc            call-arguments-limit             least-positive-double-float      shared-initialize
+syn keyword lispFunc            call-method                      least-positive-long-float        shiftf
+syn keyword lispFunc            call-next-method                 least-positive-normalized-double-float                            short-float
+syn keyword lispFunc            capitalize                       least-positive-normalized-long-float                              short-float-epsilon
+syn keyword lispFunc            car                              least-positive-normalized-short-float                             short-float-negative-epsilon
+syn keyword lispFunc            case                             least-positive-normalized-single-float                            short-site-name
+syn keyword lispFunc            catch                            least-positive-short-float       signal
+syn keyword lispFunc            ccase                            least-positive-single-float      signed-byte
+syn keyword lispFunc            cdr                              length                           signum
+syn keyword lispFunc            ceiling                          let                              simle-condition
+syn keyword lispFunc            cell-error                       let*                             simple-array
+syn keyword lispFunc            cell-error-name                  lisp                             simple-base-string
+syn keyword lispFunc            cerror                           lisp-implementation-type         simple-bit-vector
+syn keyword lispFunc            change-class                     lisp-implementation-version      simple-bit-vector-p
+syn keyword lispFunc            char                             list                             simple-condition-format-arguments
+syn keyword lispFunc            char-bit                         list*                            simple-condition-format-control
+syn keyword lispFunc            char-bits                        list-all-packages                simple-error
+syn keyword lispFunc            char-bits-limit                  list-length                      simple-string
+syn keyword lispFunc            char-code                        listen                           simple-string-p
+syn keyword lispFunc            char-code-limit                  listp                            simple-type-error
+syn keyword lispFunc            char-control-bit                 load                             simple-vector
+syn keyword lispFunc            char-downcase                    load-logical-pathname-translations                                simple-vector-p
+syn keyword lispFunc            char-equal                       load-time-value                  simple-warning
+syn keyword lispFunc            char-font                        locally                          sin
+syn keyword lispFunc            char-font-limit                  log                              single-flaot-epsilon
+syn keyword lispFunc            char-greaterp                    logand                           single-float
+syn keyword lispFunc            char-hyper-bit                   logandc1                         single-float-epsilon
+syn keyword lispFunc            char-int                         logandc2                         single-float-negative-epsilon
+syn keyword lispFunc            char-lessp                       logbitp                          sinh
+syn keyword lispFunc            char-meta-bit                    logcount                         sixth
+syn keyword lispFunc            char-name                        logeqv                           sleep
+syn keyword lispFunc            char-not-equal                   logical-pathname                 slot-boundp
+syn keyword lispFunc            char-not-greaterp                logical-pathname-translations    slot-exists-p
+syn keyword lispFunc            char-not-lessp                   logior                           slot-makunbound
+syn keyword lispFunc            char-super-bit                   lognand                          slot-missing
+syn keyword lispFunc            char-upcase                      lognor                           slot-unbound
+syn keyword lispFunc            char/=                           lognot                           slot-value
+syn keyword lispFunc            char<                            logorc1                          software-type
+syn keyword lispFunc            char<=                           logorc2                          software-version
+syn keyword lispFunc            char=                            logtest                          some
+syn keyword lispFunc            char>                            logxor                           sort
+syn keyword lispFunc            char>=                           long-float                       space
+syn keyword lispFunc            character                        long-float-epsilon               special
+syn keyword lispFunc            characterp                       long-float-negative-epsilon      special-form-p
+syn keyword lispFunc            check-type                       long-site-name                   special-operator-p
+syn keyword lispFunc            cis                              loop                             speed
+syn keyword lispFunc            class                            loop-finish                      sqrt
+syn keyword lispFunc            class-name                       lower-case-p                     stable-sort
+syn keyword lispFunc            class-of                         machine-instance                 standard
+syn keyword lispFunc            clear-input                      machine-type                     standard-char
+syn keyword lispFunc            clear-output                     machine-version                  standard-char-p
+syn keyword lispFunc            close                            macro-function                   standard-class
+syn keyword lispFunc            clrhash                          macroexpand                      standard-generic-function
+syn keyword lispFunc            code-char                        macroexpand-1                    standard-method
+syn keyword lispFunc            coerce                           macroexpand-l                    standard-object
+syn keyword lispFunc            commonp                          macrolet                         step
+syn keyword lispFunc            compilation-speed                make-array                       storage-condition
+syn keyword lispFunc            compile                          make-array                       store-value
+syn keyword lispFunc            compile-file                     make-broadcast-stream            stream
+syn keyword lispFunc            compile-file-pathname            make-char                        stream-element-type
+syn keyword lispFunc            compiled-function                make-concatenated-stream         stream-error
+syn keyword lispFunc            compiled-function-p              make-condition                   stream-error-stream
+syn keyword lispFunc            compiler-let                     make-dispatch-macro-character    stream-external-format
+syn keyword lispFunc            compiler-macro                   make-echo-stream                 streamp
+syn keyword lispFunc            compiler-macro-function          make-hash-table                  streamup
+syn keyword lispFunc            complement                       make-instance                    string
+syn keyword lispFunc            complex                          make-instances-obsolete          string-capitalize
+syn keyword lispFunc            complexp                         make-list                        string-char
+syn keyword lispFunc            compute-applicable-methods       make-load-form                   string-char-p
+syn keyword lispFunc            compute-restarts                 make-load-form-saving-slots      string-downcase
+syn keyword lispFunc            concatenate                      make-method                      string-equal
+syn keyword lispFunc            concatenated-stream              make-package                     string-greaterp
+syn keyword lispFunc            concatenated-stream-streams      make-pathname                    string-left-trim
+syn keyword lispFunc            cond                             make-random-state                string-lessp
+syn keyword lispFunc            condition                        make-sequence                    string-not-equal
+syn keyword lispFunc            conjugate                        make-string                      string-not-greaterp
+syn keyword lispFunc            cons                             make-string-input-stream         string-not-lessp
+syn keyword lispFunc            consp                            make-string-output-stream        string-right-strim
+syn keyword lispFunc            constantly                       make-symbol                      string-right-trim
+syn keyword lispFunc            constantp                        make-synonym-stream              string-stream
+syn keyword lispFunc            continue                         make-two-way-stream              string-trim
+syn keyword lispFunc            control-error                    makunbound                       string-upcase
+syn keyword lispFunc            copy-alist                       map                              string/=
+syn keyword lispFunc            copy-list                        map-into                         string<
+syn keyword lispFunc            copy-pprint-dispatch             mapc                             string<=
+syn keyword lispFunc            copy-readtable                   mapcan                           string=
+syn keyword lispFunc            copy-seq                         mapcar                           string>
+syn keyword lispFunc            copy-structure                   mapcon                           string>=
+syn keyword lispFunc            copy-symbol                      maphash                          stringp
+syn keyword lispFunc            copy-tree                        mapl                             structure
+syn keyword lispFunc            cos                              maplist                          structure-class
+syn keyword lispFunc            cosh                             mask-field                       structure-object
+syn keyword lispFunc            count                            max                              style-warning
+syn keyword lispFunc            count-if                         member                           sublim
+syn keyword lispFunc            count-if-not                     member-if                        sublis
+syn keyword lispFunc            ctypecase                        member-if-not                    subseq
+syn keyword lispFunc            debug                            merge                            subsetp
+syn keyword lispFunc            decf                             merge-pathname                   subst
+syn keyword lispFunc            declaim                          merge-pathnames                  subst-if
+syn keyword lispFunc            declaration                      method                           subst-if-not
+syn keyword lispFunc            declare                          method-combination               substitute
+syn keyword lispFunc            decode-float                     method-combination-error         substitute-if
+syn keyword lispFunc            decode-universal-time            method-qualifiers                substitute-if-not
+syn keyword lispFunc            defclass                         min                              subtypep
+syn keyword lispFunc            defconstant                      minusp                           svref
+syn keyword lispFunc            defgeneric                       mismatch                         sxhash
+syn keyword lispFunc            define-compiler-macro            mod                              symbol
+syn keyword lispFunc            define-condition                 most-negative-double-float       symbol-function
+syn keyword lispFunc            define-method-combination        most-negative-fixnum             symbol-macrolet
+syn keyword lispFunc            define-modify-macro              most-negative-long-float         symbol-name
+syn keyword lispFunc            define-setf-expander             most-negative-short-float        symbol-package
+syn keyword lispFunc            define-setf-method               most-negative-single-float       symbol-plist
+syn keyword lispFunc            define-symbol-macro              most-positive-double-float       symbol-value
+syn keyword lispFunc            defmacro                         most-positive-fixnum             symbolp
+syn keyword lispFunc            defmethod                        most-positive-long-float         synonym-stream
+syn keyword lispFunc            defpackage                       most-positive-short-float        synonym-stream-symbol
+syn keyword lispFunc            defparameter                     most-positive-single-float       sys
+syn keyword lispFunc            defsetf                          muffle-warning                   system
+syn keyword lispFunc            defstruct                        multiple-value-bind              t
+syn keyword lispFunc            deftype                          multiple-value-call              tagbody
+syn keyword lispFunc            defun                            multiple-value-list              tailp
+syn keyword lispFunc            defvar                           multiple-value-prog1             tan
+syn keyword lispFunc            delete                           multiple-value-seteq             tanh
+syn keyword lispFunc            delete-duplicates                multiple-value-setq              tenth
+syn keyword lispFunc            delete-file                      multiple-values-limit            terpri
+syn keyword lispFunc            delete-if                        name-char                        the
+syn keyword lispFunc            delete-if-not                    namestring                       third
+syn keyword lispFunc            delete-package                   nbutlast                         throw
+syn keyword lispFunc            denominator                      nconc                            time
+syn keyword lispFunc            deposit-field                    next-method-p                    trace
+syn keyword lispFunc            describe                         nil                              translate-logical-pathname
+syn keyword lispFunc            describe-object                  nintersection                    translate-pathname
+syn keyword lispFunc            destructuring-bind               ninth                            tree-equal
+syn keyword lispFunc            digit-char                       no-applicable-method             truename
+syn keyword lispFunc            digit-char-p                     no-next-method                   truncase
+syn keyword lispFunc            directory                        not                              truncate
+syn keyword lispFunc            directory-namestring             notany                           two-way-stream
+syn keyword lispFunc            disassemble                      notevery                         two-way-stream-input-stream
+syn keyword lispFunc            division-by-zero                 notinline                        two-way-stream-output-stream
+syn keyword lispFunc            do                               nreconc                          type
+syn keyword lispFunc            do*                              nreverse                         type-error
+syn keyword lispFunc            do-all-symbols                   nset-difference                  type-error-datum
+syn keyword lispFunc            do-exeternal-symbols             nset-exclusive-or                type-error-expected-type
+syn keyword lispFunc            do-external-symbols              nstring                          type-of
+syn keyword lispFunc            do-symbols                       nstring-capitalize               typecase
+syn keyword lispFunc            documentation                    nstring-downcase                 typep
+syn keyword lispFunc            dolist                           nstring-upcase                   unbound-slot
+syn keyword lispFunc            dotimes                          nsublis                          unbound-slot-instance
+syn keyword lispFunc            double-float                     nsubst                           unbound-variable
+syn keyword lispFunc            double-float-epsilon             nsubst-if                        undefined-function
+syn keyword lispFunc            double-float-negative-epsilon    nsubst-if-not                    unexport
+syn keyword lispFunc            dpb                              nsubstitute                      unintern
+syn keyword lispFunc            dribble                          nsubstitute-if                   union
+syn keyword lispFunc            dynamic-extent                   nsubstitute-if-not               unless
+syn keyword lispFunc            ecase                            nth                              unread
+syn keyword lispFunc            echo-stream                      nth-value                        unread-char
+syn keyword lispFunc            echo-stream-input-stream         nthcdr                           unsigned-byte
+syn keyword lispFunc            echo-stream-output-stream        null                             untrace
+syn keyword lispFunc            ed                               number                           unuse-package
+syn keyword lispFunc            eighth                           numberp                          unwind-protect
+syn keyword lispFunc            elt                              numerator                        update-instance-for-different-class
+syn keyword lispFunc            encode-universal-time            nunion                           update-instance-for-redefined-class
+syn keyword lispFunc            end-of-file                      oddp                             upgraded-array-element-type
+syn keyword lispFunc            endp                             open                             upgraded-complex-part-type
+syn keyword lispFunc            enough-namestring                open-stream-p                    upper-case-p
+syn keyword lispFunc            ensure-directories-exist         optimize                         use-package
+syn keyword lispFunc            ensure-generic-function          or                               use-value
+syn keyword lispFunc            eq                               otherwise                        user
+syn keyword lispFunc            eql                              output-stream-p                  user-homedir-pathname
+syn keyword lispFunc            equal                            package                          values
+syn keyword lispFunc            equalp                           package-error                    values-list
+syn keyword lispFunc            error                            package-error-package            vector
+syn keyword lispFunc            etypecase                        package-name                     vector-pop
+syn keyword lispFunc            eval                             package-nicknames                vector-push
+syn keyword lispFunc            eval-when                        package-shadowing-symbols        vector-push-extend
+syn keyword lispFunc            evalhook                         package-use-list                 vectorp
+syn keyword lispFunc            evenp                            package-used-by-list             warn
+syn keyword lispFunc            every                            packagep                         warning
+syn keyword lispFunc            exp                              pairlis                          when
+syn keyword lispFunc            export                           parse-error                      wild-pathname-p
+syn keyword lispFunc            expt                             parse-integer                    with-accessors
+syn keyword lispFunc            extended-char                    parse-namestring                 with-compilation-unit
+syn keyword lispFunc            fboundp                          pathname                         with-condition-restarts
+syn keyword lispFunc            fceiling                         pathname-device                  with-hash-table-iterator
+syn keyword lispFunc            fdefinition                      pathname-directory               with-input-from-string
+syn keyword lispFunc            ffloor                           pathname-host                    with-open-file
+syn keyword lispFunc            fifth                            pathname-match-p                 with-open-stream
+syn keyword lispFunc            file-author                      pathname-name                    with-output-to-string
+syn keyword lispFunc            file-error                       pathname-type                    with-package-iterator
+syn keyword lispFunc            file-error-pathname              pathname-version                 with-simple-restart
+syn keyword lispFunc            file-length                      pathnamep                        with-slots
+syn keyword lispFunc            file-namestring                  peek-char                        with-standard-io-syntax
+syn keyword lispFunc            file-position                    phase                            write
+syn keyword lispFunc            file-stream                      pi                               write-byte
+syn keyword lispFunc            file-string-length               plusp                            write-char
+syn keyword lispFunc            file-write-date                  pop                              write-line
+syn keyword lispFunc            fill                             position                         write-sequence
+syn keyword lispFunc            fill-pointer                     position-if                      write-string
+syn keyword lispFunc            find                             position-if-not                  write-to-string
+syn keyword lispFunc            find-all-symbols                 pprint                           y-or-n-p
+syn keyword lispFunc            find-class                       pprint-dispatch                  yes-or-no-p
+syn keyword lispFunc            find-if                          pprint-exit-if-list-exhausted    zerop
+syn keyword lispFunc            find-if-not                      pprint-fill
+
+syn match   lispFunc            "\<c[ad]\+r\>"
+
+" ---------------------------------------------------------------------
+" Lisp Keywords (modifiers): {{{1
+syn keyword lispKey             :abort                           :from-end                        :overwrite
+syn keyword lispKey             :adjustable                      :gensym                          :predicate
+syn keyword lispKey             :append                          :host                            :preserve-whitespace
+syn keyword lispKey             :array                           :if-does-not-exist               :pretty
+syn keyword lispKey             :base                            :if-exists                       :print
+syn keyword lispKey             :case                            :include                         :print-function
+syn keyword lispKey             :circle                          :index                           :probe
+syn keyword lispKey             :conc-name                       :inherited                       :radix
+syn keyword lispKey             :constructor                     :initial-contents                :read-only
+syn keyword lispKey             :copier                          :initial-element                 :rehash-size
+syn keyword lispKey             :count                           :initial-offset                  :rehash-threshold
+syn keyword lispKey             :create                          :initial-value                   :rename
+syn keyword lispKey             :default                         :input                           :rename-and-delete
+syn keyword lispKey             :defaults                        :internal                        :size
+syn keyword lispKey             :device                          :io                              :start
+syn keyword lispKey             :direction                       :junk-allowed                    :start1
+syn keyword lispKey             :directory                       :key                             :start2
+syn keyword lispKey             :displaced-index-offset          :length                          :stream
+syn keyword lispKey             :displaced-to                    :level                           :supersede
+syn keyword lispKey             :element-type                    :name                            :test
+syn keyword lispKey             :end                             :named                           :test-not
+syn keyword lispKey             :end1                            :new-version                     :type
+syn keyword lispKey             :end2                            :nicknames                       :use
+syn keyword lispKey             :error                           :output                          :verbose
+syn keyword lispKey             :escape                          :output-file                     :version
+syn keyword lispKey             :external
+
+" ---------------------------------------------------------------------
+" Standard Lisp Variables: {{{1
+syn keyword lispVar             *applyhook*                      *load-pathname*                  *print-pprint-dispatch*
+syn keyword lispVar             *break-on-signals*               *load-print*                     *print-pprint-dispatch*
+syn keyword lispVar             *break-on-signals*               *load-truename*                  *print-pretty*
+syn keyword lispVar             *break-on-warnings*              *load-verbose*                   *print-radix*
+syn keyword lispVar             *compile-file-pathname*          *macroexpand-hook*               *print-readably*
+syn keyword lispVar             *compile-file-pathname*          *modules*                        *print-right-margin*
+syn keyword lispVar             *compile-file-truename*          *package*                        *print-right-margin*
+syn keyword lispVar             *compile-file-truename*          *print-array*                    *query-io*
+syn keyword lispVar             *compile-print*                  *print-base*                     *random-state*
+syn keyword lispVar             *compile-verbose*                *print-case*                     *read-base*
+syn keyword lispVar             *compile-verbose*                *print-circle*                   *read-default-float-format*
+syn keyword lispVar             *debug-io*                       *print-escape*                   *read-eval*
+syn keyword lispVar             *debugger-hook*                  *print-gensym*                   *read-suppress*
+syn keyword lispVar             *default-pathname-defaults*      *print-length*                   *readtable*
+syn keyword lispVar             *error-output*                   *print-level*                    *standard-input*
+syn keyword lispVar             *evalhook*                       *print-lines*                    *standard-output*
+syn keyword lispVar             *features*                       *print-miser-width*              *terminal-io*
+syn keyword lispVar             *gensym-counter*                 *print-miser-width*              *trace-output*
+
+" ---------------------------------------------------------------------
+" Strings: {{{1
+syn region                      lispString                       start=+"+ skip=+\\\\\|\\"+ end=+"+
+if exists("g:lisp_instring")
+ syn region                     lispInString                     keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString
+ syn region                     lispInStringString               start=+\\"+ skip=+\\\\+ end=+\\"+ contained
+endif
+
+" ---------------------------------------------------------------------
+" Shared with Xlisp, Declarations, Macros, Functions: {{{1
+syn keyword lispDecl            defmacro                         do-all-symbols                   labels
+syn keyword lispDecl            defsetf                          do-external-symbols              let
+syn keyword lispDecl            deftype                          do-symbols                       locally
+syn keyword lispDecl            defun                            dotimes                          macrolet
+syn keyword lispDecl            do*                              flet                             multiple-value-bind
+
+" ---------------------------------------------------------------------
+" Numbers: supporting integers and floating point numbers {{{1
+syn match lispNumber            "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
+
+syn match lispSpecial           "\*[a-zA-Z_][a-zA-Z_0-9-]*\*"
+syn match lispSpecial           !#|[^()'`,"; \t]\+|#!
+syn match lispSpecial           !#x[0-9a-fA-F]\+!
+syn match lispSpecial           !#o[0-7]\+!
+syn match lispSpecial           !#b[01]\+!
+syn match lispSpecial           !#\\[ -\~]!
+syn match lispSpecial           !#[':][^()'`,"; \t]\+!
+syn match lispSpecial           !#([^()'`,"; \t]\+)!
+
+syn match lispConcat            "\s\.\s"
+syn match lispParenError        ")"
+
+" ---------------------------------------------------------------------
+" Comments: {{{1
+syn cluster lispCommentGroup    contains=lispTodo,@Spell
+syn match   lispComment                 ";.*$"                           contains=@lispCommentGroup
+syn region  lispCommentRegion   start="#|" end="|#"              contains=lispCommentRegion,@lispCommentGroup
+syn case ignore
+syn keyword lispTodo            contained                        combak                           combak:                          todo                             todo:
+syn case match
+
+" ---------------------------------------------------------------------
+" Synchronization: {{{1
+syn sync lines=100
+
+" ---------------------------------------------------------------------
+" Define Highlighting: {{{1
+" 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
+  command -nargs=+ HiLink hi def link <args>
+
+  HiLink lispCommentRegion      lispComment
+  HiLink lispAtomNmbr           lispNumber
+  HiLink lispAtomMark           lispMark
+  HiLink lispInStringString     lispString
+
+  HiLink lispAtom               Identifier
+  HiLink lispAtomBarSymbol      Special
+  HiLink lispBarSymbol          Special
+  HiLink lispComment            Comment
+  HiLink lispConcat             Statement
+  HiLink lispDecl               Statement
+  HiLink lispFunc               Statement
+  HiLink lispKey                Type
+  HiLink lispMark               Delimiter
+  HiLink lispNumber             Number
+  HiLink lispParenError                 Error
+  HiLink lispSpecial            Type
+  HiLink lispString             String
+  HiLink lispTodo               Todo
+  HiLink lispVar                Statement
+
+  if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
+   if &bg == "dark"
+    hi def hlLevel0 ctermfg=red         guifg=red1
+    hi def hlLevel1 ctermfg=blue        guifg=orange1      
+    hi def hlLevel2 ctermfg=green       guifg=yellow1      
+    hi def hlLevel3 ctermfg=cyan        guifg=greenyellow  
+    hi def hlLevel4 ctermfg=magenta     guifg=green1       
+    hi def hlLevel5 ctermfg=red         guifg=springgreen1 
+    hi def hlLevel6 ctermfg=yellow      guifg=cyan1        
+    hi def hlLevel7 ctermfg=green       guifg=slateblue1   
+    hi def hlLevel8 ctermfg=cyan        guifg=magenta1     
+    hi def hlLevel9 ctermfg=magenta     guifg=purple1
+   else
+    hi def hlLevel0 ctermfg=red         guifg=red3
+    hi def hlLevel1 ctermfg=darkyellow  guifg=orangered3
+    hi def hlLevel2 ctermfg=darkgreen   guifg=orange2
+    hi def hlLevel3 ctermfg=blue        guifg=yellow3
+    hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4
+    hi def hlLevel5 ctermfg=red         guifg=green4
+    hi def hlLevel6 ctermfg=darkyellow  guifg=paleturquoise3
+    hi def hlLevel7 ctermfg=darkgreen   guifg=deepskyblue4
+    hi def hlLevel8 ctermfg=blue        guifg=darkslateblue
+    hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet
+   endif
+  endif
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "lisp"
+
+" ---------------------------------------------------------------------
+" vim: ts=8 nowrap fdm=marker
diff --git a/php.vim b/php.vim
new file mode 100644 (file)
index 0000000..4e6b95c
--- /dev/null
+++ b/php.vim
@@ -0,0 +1,649 @@
+" Vim syntax file
+" Language: php PHP 3/4/5
+" Maintainer: Peter Hodge <toomuchphp-vim@yahoo.com>
+" Last Change:  June 9, 2006
+" URL: http://www.vim.org/scripts/script.php?script_id=1571
+"
+" Former Maintainer:  Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/php.vim?op=file&rev=0&sc=0
+"
+" Note: If you are using a colour terminal with dark background, you will probably find
+"       the 'elflord' colorscheme is much better for PHP's syntax than the default
+"       colourscheme, because elflord's colours will better highlight the break-points
+"       (Statements) in your code.
+"
+" Options:  php_sql_query = 1  for SQL syntax highlighting inside strings
+"           php_htmlInStrings = 1  for HTML syntax highlighting inside strings
+"           php_baselib = 1  for highlighting baselib functions
+"           php_asp_tags = 1  for highlighting ASP-style short tags
+"           php_parent_error_close = 1  for highlighting parent error ] or )
+"           php_parent_error_open = 1  for skipping an php end tag, if there exists an open ( or [ without a closing one
+"           php_oldStyle = 1  for using old colorstyle
+"           php_noShortTags = 1  don't sync <? ?> as php
+"           php_folding = 1  for folding classes and functions
+"           php_folding = 2  for folding all { } regions
+"           php_sync_method = x
+"                             x=-1 to sync by search ( default )
+"                             x>0 to sync at least x lines backwards
+"                             x=0 to sync from start
+"
+"       Added by Peter Hodge On June 9, 2006:
+"           php_special_functions = 1|0 to highlight functions with abnormal behaviour
+"           php_alt_comparisons = 1|0 to highlight comparison operators in an alternate colour
+"           php_alt_assignByReference = 1|0 to highlight '= &' in an alternate colour
+"
+"           Note: these all default to 1 (On), so you would set them to '0' to turn them off.
+"                 E.g., in your .vimrc or _vimrc file:
+"                   let php_special_functions = 0
+"                   let php_alt_comparisons = 0
+"                   let php_alt_assignByReference = 0
+"                 Unletting these variables will revert back to their default (On).
+"
+"
+" Note:
+" Setting php_folding=1 will match a closing } by comparing the indent
+" before the class or function keyword with the indent of a matching }.
+" Setting php_folding=2 will match all of pairs of {,} ( see known
+" bugs ii )
+
+" Known Bugs:
+"  - setting  php_parent_error_close  on  and  php_parent_error_open  off
+"    has these two leaks:
+"     i) A closing ) or ] inside a string match to the last open ( or [
+"        before the string, when the the closing ) or ] is on the same line
+"        where the string started. In this case a following ) or ] after
+"        the string would be highlighted as an error, what is incorrect.
+"    ii) Same problem if you are setting php_folding = 2 with a closing
+"        } inside an string on the first line of this string.
+"
+"  - A double-quoted string like this:
+"      "$foo->someVar->someOtherVar->bar"
+"    will highight '->someOtherVar->bar' as though they will be parsed
+"    as object member variables, but PHP only recognizes the first
+"    object member variable ($foo->someVar).
+"
+"
+
+" 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
+
+if !exists("main_syntax")
+  let main_syntax = 'php'
+endif
+
+if version < 600
+  unlet! php_folding
+  if exists("php_sync_method") && !php_sync_method
+    let php_sync_method=-1
+  endif
+  so <sfile>:p:h/html.vim
+else
+  runtime! syntax/html.vim
+  unlet b:current_syntax
+endif
+
+" accept old options
+if !exists("php_sync_method")
+  if exists("php_minlines")
+    let php_sync_method=php_minlines
+  else
+    let php_sync_method=-1
+  endif
+endif
+
+if exists("php_parentError") && !exists("php_parent_error_open") && !exists("php_parent_error_close")
+  let php_parent_error_close=1
+  let php_parent_error_open=1
+endif
+
+syn cluster htmlPreproc add=phpRegion,phpRegionAsp,phpRegionSc
+
+if version < 600
+  syn include @sqlTop <sfile>:p:h/sql.vim
+else
+  syn include @sqlTop syntax/sql.vim
+endif
+syn sync clear
+unlet b:current_syntax
+syn cluster sqlTop remove=sqlString,sqlComment
+if exists( "php_sql_query")
+  syn cluster phpAddStrings contains=@sqlTop
+endif
+
+if exists( "php_htmlInStrings")
+  syn cluster phpAddStrings add=@htmlTop
+endif
+
+syn case match
+
+" Env Variables
+syn keyword phpEnvVar GATEWAY_INTERFACE SERVER_NAME SERVER_SOFTWARE SERVER_PROTOCOL REQUEST_METHOD QUERY_STRING DOCUMENT_ROOT HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_CONNECTION HTTP_HOST HTTP_REFERER HTTP_USER_AGENT REMOTE_ADDR REMOTE_PORT SCRIPT_FILENAME SERVER_ADMIN SERVER_PORT SERVER_SIGNATURE PATH_TRANSLATED SCRIPT_NAME REQUEST_URI contained
+
+" Internal Variables
+syn keyword phpIntVar GLOBALS PHP_ERRMSG PHP_SELF HTTP_GET_VARS HTTP_POST_VARS HTTP_COOKIE_VARS HTTP_POST_FILES HTTP_ENV_VARS HTTP_SERVER_VARS HTTP_SESSION_VARS HTTP_RAW_POST_DATA HTTP_STATE_VARS _GET _POST _COOKIE _FILES _SERVER _ENV _SERVER _REQUEST _SESSION  contained
+
+" Constants
+syn keyword phpCoreConstant PHP_VERSION PHP_OS DEFAULT_INCLUDE_PATH PEAR_INSTALL_DIR PEAR_EXTENSION_DIR PHP_EXTENSION_DIR PHP_BINDIR PHP_LIBDIR PHP_DATADIR PHP_SYSCONFDIR PHP_LOCALSTATEDIR PHP_CONFIG_FILE_PATH PHP_OUTPUT_HANDLER_START PHP_OUTPUT_HANDLER_CONT PHP_OUTPUT_HANDLER_END E_ERROR E_WARNING E_PARSE E_NOTICE E_CORE_ERROR E_CORE_WARNING E_COMPILE_ERROR E_COMPILE_WARNING E_USER_ERROR E_USER_WARNING E_USER_NOTICE E_ALL  contained
+
+syn case ignore
+
+syn keyword phpConstant  __LINE__ __FILE__ __FUNCTION__ __METHOD__ __CLASS__  contained
+
+
+" Function and Methods ripped from php_manual_de.tar.gz Jan 2003
+syn keyword phpFunctions  apache_child_terminate apache_get_modules apache_get_version apache_getenv apache_lookup_uri apache_note apache_request_headers apache_response_headers apache_setenv ascii2ebcdic ebcdic2ascii getallheaders virtual contained
+syn keyword phpFunctions  array_change_key_case array_chunk array_combine array_count_values array_diff_assoc array_diff_uassoc array_diff array_fill array_filter array_flip array_intersect_assoc array_intersect array_key_exists array_keys array_map array_merge_recursive array_merge array_multisort array_pad array_pop array_push array_rand array_reduce array_reverse array_search array_shift array_slice array_splice array_sum array_udiff_assoc array_udiff_uassoc array_udiff array_unique array_unshift array_values array_walk array arsort asort compact count current each end extract in_array key krsort ksort list natcasesort natsort next pos prev range reset rsort shuffle sizeof sort uasort uksort usort contained
+syn keyword phpFunctions  aspell_check aspell_new aspell_suggest  contained
+syn keyword phpFunctions  bcadd bccomp bcdiv bcmod bcmul bcpow bcpowmod bcscale bcsqrt bcsub  contained
+syn keyword phpFunctions  bzclose bzcompress bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite  contained
+syn keyword phpFunctions  cal_days_in_month cal_from_jd cal_info cal_to_jd easter_date easter_days frenchtojd gregoriantojd jddayofweek jdmonthname jdtofrench jdtogregorian jdtojewish jdtojulian jdtounix jewishtojd juliantojd unixtojd  contained
+syn keyword phpFunctions  ccvs_add ccvs_auth ccvs_command ccvs_count ccvs_delete ccvs_done ccvs_init ccvs_lookup ccvs_new ccvs_report ccvs_return ccvs_reverse ccvs_sale ccvs_status ccvs_textvalue ccvs_void contained
+syn keyword phpFunctions  call_user_method_array call_user_method class_exists get_class_methods get_class_vars get_class get_declared_classes get_object_vars get_parent_class is_a is_subclass_of method_exists contained
+syn keyword phpFunctions  com VARIANT com_addref com_get com_invoke com_isenum com_load_typelib com_load com_propget com_propput com_propset com_release com_set  contained
+syn keyword phpFunctions  cpdf_add_annotation cpdf_add_outline cpdf_arc cpdf_begin_text cpdf_circle cpdf_clip cpdf_close cpdf_closepath_fill_stroke cpdf_closepath_stroke cpdf_closepath cpdf_continue_text cpdf_curveto cpdf_end_text cpdf_fill_stroke cpdf_fill cpdf_finalize_page cpdf_finalize cpdf_global_set_document_limits cpdf_import_jpeg cpdf_lineto cpdf_moveto cpdf_newpath cpdf_open cpdf_output_buffer cpdf_page_init cpdf_place_inline_image cpdf_rect cpdf_restore cpdf_rlineto cpdf_rmoveto cpdf_rotate_text cpdf_rotate cpdf_save_to_file cpdf_save cpdf_scale cpdf_set_action_url cpdf_set_char_spacing cpdf_set_creator cpdf_set_current_page cpdf_set_font_directories cpdf_set_font_map_file cpdf_set_font cpdf_set_horiz_scaling cpdf_set_keywords cpdf_set_leading cpdf_set_page_animation cpdf_set_subject cpdf_set_text_matrix cpdf_set_text_pos cpdf_set_text_rendering cpdf_set_text_rise cpdf_set_title cpdf_set_viewer_preferences cpdf_set_word_spacing cpdf_setdash cpdf_setflat cpdf_setgray_fill cpdf_setgray_stroke cpdf_setgray cpdf_setlinecap cpdf_setlinejoin cpdf_setlinewidth cpdf_setmiterlimit cpdf_setrgbcolor_fill cpdf_setrgbcolor_stroke cpdf_setrgbcolor cpdf_show_xy cpdf_show cpdf_stringwidth cpdf_stroke cpdf_text cpdf_translate  contained
+syn keyword phpFunctions  crack_check crack_closedict crack_getlastmessage crack_opendict contained
+syn keyword phpFunctions  ctype_alnum ctype_alpha ctype_cntrl ctype_digit ctype_graph ctype_lower ctype_print ctype_punct ctype_space ctype_upper ctype_xdigit  contained
+syn keyword phpFunctions  curl_close curl_errno curl_error curl_exec curl_getinfo curl_init curl_multi_add_handle curl_multi_close curl_multi_exec curl_multi_getcontent curl_multi_info_read curl_multi_init curl_multi_remove_handle curl_multi_select curl_setopt curl_version contained
+syn keyword phpFunctions  cybercash_base64_decode cybercash_base64_encode cybercash_decr cybercash_encr contained
+syn keyword phpFunctions  cyrus_authenticate cyrus_bind cyrus_close cyrus_connect cyrus_query cyrus_unbind  contained
+syn keyword phpFunctions  checkdate date getdate gettimeofday gmdate gmmktime gmstrftime localtime microtime mktime strftime strtotime time contained
+syn keyword phpFunctions  dba_close dba_delete dba_exists dba_fetch dba_firstkey dba_handlers dba_insert dba_key_split dba_list dba_nextkey dba_open dba_optimize dba_popen dba_replace dba_sync  contained
+syn keyword phpFunctions  dbase_add_record dbase_close dbase_create dbase_delete_record dbase_get_header_info dbase_get_record_with_names dbase_get_record dbase_numfields dbase_numrecords dbase_open dbase_pack dbase_replace_record  contained
+syn keyword phpFunctions  dblist dbmclose dbmdelete dbmexists dbmfetch dbmfirstkey dbminsert dbmnextkey dbmopen dbmreplace  contained
+syn keyword phpFunctions  dbplus_add dbplus_aql dbplus_chdir dbplus_close dbplus_curr dbplus_errcode dbplus_errno dbplus_find dbplus_first dbplus_flush dbplus_freealllocks dbplus_freelock dbplus_freerlocks dbplus_getlock dbplus_getunique dbplus_info dbplus_last dbplus_lockrel dbplus_next dbplus_open dbplus_prev dbplus_rchperm dbplus_rcreate dbplus_rcrtexact dbplus_rcrtlike dbplus_resolve dbplus_restorepos dbplus_rkeys dbplus_ropen dbplus_rquery dbplus_rrename dbplus_rsecindex dbplus_runlink dbplus_rzap dbplus_savepos dbplus_setindex dbplus_setindexbynumber dbplus_sql dbplus_tcl dbplus_tremove dbplus_undo dbplus_undoprepare dbplus_unlockrel dbplus_unselect dbplus_update dbplus_xlockrel dbplus_xunlockrel contained
+syn keyword phpFunctions  dbx_close dbx_compare dbx_connect dbx_error dbx_escape_string dbx_fetch_row dbx_query dbx_sort  contained
+syn keyword phpFunctions  dio_close dio_fcntl dio_open dio_read dio_seek dio_stat dio_tcsetattr dio_truncate dio_write  contained
+syn keyword phpFunctions  chdir chroot dir closedir getcwd opendir readdir rewinddir scandir  contained
+syn keyword phpFunctions  domxml_new_doc domxml_open_file domxml_open_mem domxml_version domxml_xmltree domxml_xslt_stylesheet_doc domxml_xslt_stylesheet_file domxml_xslt_stylesheet xpath_eval_expression xpath_eval xpath_new_context xptr_eval xptr_new_context contained
+syn keyword phpMethods  name specified value create_attribute create_cdata_section create_comment create_element_ns create_element create_entity_reference create_processing_instruction create_text_node doctype document_element dump_file dump_mem get_element_by_id get_elements_by_tagname html_dump_mem xinclude entities internal_subset name notations public_id system_id get_attribute_node get_attribute get_elements_by_tagname has_attribute remove_attribute set_attribute tagname add_namespace append_child append_sibling attributes child_nodes clone_node dump_node first_child get_content has_attributes has_child_nodes insert_before is_blank_node last_child next_sibling node_name node_type node_value owner_document parent_node prefix previous_sibling remove_child replace_child replace_node set_content set_name set_namespace unlink_node data target process result_dump_file result_dump_mem contained
+syn keyword phpFunctions  dotnet_load contained
+syn keyword phpFunctions  debug_backtrace debug_print_backtrace error_log error_reporting restore_error_handler set_error_handler trigger_error user_error  contained
+syn keyword phpFunctions  escapeshellarg escapeshellcmd exec passthru proc_close proc_get_status proc_nice proc_open proc_terminate shell_exec system contained
+syn keyword phpFunctions  fam_cancel_monitor fam_close fam_monitor_collection fam_monitor_directory fam_monitor_file fam_next_event fam_open fam_pending fam_resume_monitor fam_suspend_monitor contained
+syn keyword phpFunctions  fbsql_affected_rows fbsql_autocommit fbsql_change_user fbsql_close fbsql_commit fbsql_connect fbsql_create_blob fbsql_create_clob fbsql_create_db fbsql_data_seek fbsql_database_password fbsql_database fbsql_db_query fbsql_db_status fbsql_drop_db fbsql_errno fbsql_error fbsql_fetch_array fbsql_fetch_assoc fbsql_fetch_field fbsql_fetch_lengths fbsql_fetch_object fbsql_fetch_row fbsql_field_flags fbsql_field_len fbsql_field_name fbsql_field_seek fbsql_field_table fbsql_field_type fbsql_free_result fbsql_get_autostart_info fbsql_hostname fbsql_insert_id fbsql_list_dbs fbsql_list_fields fbsql_list_tables fbsql_next_result fbsql_num_fields fbsql_num_rows fbsql_password fbsql_pconnect fbsql_query fbsql_read_blob fbsql_read_clob fbsql_result fbsql_rollback fbsql_select_db fbsql_set_lob_mode fbsql_set_transaction fbsql_start_db fbsql_stop_db fbsql_tablename fbsql_username fbsql_warnings  contained
+syn keyword phpFunctions  fdf_add_doc_javascript fdf_add_template fdf_close fdf_create fdf_enum_values fdf_errno fdf_error fdf_get_ap fdf_get_attachment fdf_get_encoding fdf_get_file fdf_get_flags fdf_get_opt fdf_get_status fdf_get_value fdf_get_version fdf_header fdf_next_field_name fdf_open_string fdf_open fdf_remove_item fdf_save_string fdf_save fdf_set_ap fdf_set_encoding fdf_set_file fdf_set_flags fdf_set_javascript_action fdf_set_opt fdf_set_status fdf_set_submit_form_action fdf_set_target_frame fdf_set_value fdf_set_version  contained
+syn keyword phpFunctions  filepro_fieldcount filepro_fieldname filepro_fieldtype filepro_fieldwidth filepro_retrieve filepro_rowcount filepro contained
+syn keyword phpFunctions  basename chgrp chmod chown clearstatcache copy delete dirname disk_free_space disk_total_space diskfreespace fclose feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents file fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype flock fnmatch fopen fpassthru fputs fread fscanf fseek fstat ftell ftruncate fwrite glob is_dir is_executable is_file is_link is_readable is_uploaded_file is_writable is_writeable link linkinfo lstat mkdir move_uploaded_file parse_ini_file pathinfo pclose popen readfile readlink realpath rename rewind rmdir set_file_buffer stat symlink tempnam tmpfile touch umask unlink  contained
+syn keyword phpFunctions  fribidi_log2vis contained
+syn keyword phpFunctions  ftp_alloc ftp_cdup ftp_chdir ftp_chmod ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput ftp_get_option ftp_get ftp_login ftp_mdtm ftp_mkdir ftp_nb_continue ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv ftp_put ftp_pwd ftp_quit ftp_raw ftp_rawlist ftp_rename ftp_rmdir ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype  contained
+syn keyword phpFunctions  call_user_func_array call_user_func create_function func_get_arg func_get_args func_num_args function_exists get_defined_functions register_shutdown_function register_tick_function unregister_tick_function contained
+syn keyword phpFunctions  bind_textdomain_codeset bindtextdomain dcgettext dcngettext dgettext dngettext gettext ngettext textdomain  contained
+syn keyword phpFunctions  gmp_abs gmp_add gmp_and gmp_clrbit gmp_cmp gmp_com gmp_div_q gmp_div_qr gmp_div_r gmp_div gmp_divexact gmp_fact gmp_gcd gmp_gcdext gmp_hamdist gmp_init gmp_intval gmp_invert gmp_jacobi gmp_legendre gmp_mod gmp_mul gmp_neg gmp_or gmp_perfect_square gmp_popcount gmp_pow gmp_powm gmp_prob_prime gmp_random gmp_scan0 gmp_scan1 gmp_setbit gmp_sign gmp_sqrt gmp_sqrtrem gmp_sqrtrm gmp_strval gmp_sub gmp_xor  contained
+syn keyword phpFunctions  header headers_list headers_sent setcookie  contained
+syn keyword phpFunctions  hw_api_attribute hwapi_hgcsp hw_api_content hw_api_object contained
+syn keyword phpMethods  key langdepvalue value values checkin checkout children mimetype read content copy dbstat dcstat dstanchors dstofsrcanchors count reason find ftstat hwstat identify info insert insertanchor insertcollection insertdocument link lock move assign attreditable count insert remove title value object objectbyanchor parents description type remove replace setcommitedversion srcanchors srcsofdst unlock user userlist contained
+syn keyword phpFunctions  hw_Array2Objrec hw_changeobject hw_Children hw_ChildrenObj hw_Close hw_Connect hw_connection_info hw_cp hw_Deleteobject hw_DocByAnchor hw_DocByAnchorObj hw_Document_Attributes hw_Document_BodyTag hw_Document_Content hw_Document_SetContent hw_Document_Size hw_dummy hw_EditText hw_Error hw_ErrorMsg hw_Free_Document hw_GetAnchors hw_GetAnchorsObj hw_GetAndLock hw_GetChildColl hw_GetChildCollObj hw_GetChildDocColl hw_GetChildDocCollObj hw_GetObject hw_GetObjectByQuery hw_GetObjectByQueryColl hw_GetObjectByQueryCollObj hw_GetObjectByQueryObj hw_GetParents hw_GetParentsObj hw_getrellink hw_GetRemote hw_getremotechildren hw_GetSrcByDestObj hw_GetText hw_getusername hw_Identify hw_InCollections hw_Info hw_InsColl hw_InsDoc hw_insertanchors hw_InsertDocument hw_InsertObject hw_mapid hw_Modifyobject hw_mv hw_New_Document hw_objrec2array hw_Output_Document hw_pConnect hw_PipeDocument hw_Root hw_setlinkroot hw_stat hw_Unlock hw_Who contained
+syn keyword phpFunctions  ibase_add_user ibase_affected_rows ibase_blob_add ibase_blob_cancel ibase_blob_close ibase_blob_create ibase_blob_echo ibase_blob_get ibase_blob_import ibase_blob_info ibase_blob_open ibase_close ibase_commit_ret ibase_commit ibase_connect ibase_delete_user ibase_drop_db ibase_errcode ibase_errmsg ibase_execute ibase_fetch_assoc ibase_fetch_object ibase_fetch_row ibase_field_info ibase_free_event_handler ibase_free_query ibase_free_result ibase_gen_id ibase_modify_user ibase_name_result ibase_num_fields ibase_num_params ibase_param_info ibase_pconnect ibase_prepare ibase_query ibase_rollback_ret ibase_rollback ibase_set_event_handler ibase_timefmt ibase_trans ibase_wait_event  contained
+syn keyword phpFunctions  iconv_get_encoding iconv_mime_decode_headers iconv_mime_decode iconv_mime_encode iconv_set_encoding iconv_strlen iconv_strpos iconv_strrpos iconv_substr iconv ob_iconv_handler contained
+syn keyword phpFunctions  ifx_affected_rows ifx_blobinfile_mode ifx_byteasvarchar ifx_close ifx_connect ifx_copy_blob ifx_create_blob ifx_create_char ifx_do ifx_error ifx_errormsg ifx_fetch_row ifx_fieldproperties ifx_fieldtypes ifx_free_blob ifx_free_char ifx_free_result ifx_get_blob ifx_get_char ifx_getsqlca ifx_htmltbl_result ifx_nullformat ifx_num_fields ifx_num_rows ifx_pconnect ifx_prepare ifx_query ifx_textasvarchar ifx_update_blob ifx_update_char ifxus_close_slob ifxus_create_slob ifxus_free_slob ifxus_open_slob ifxus_read_slob ifxus_seek_slob ifxus_tell_slob ifxus_write_slob  contained
+syn keyword phpFunctions  exif_imagetype exif_read_data exif_thumbnail gd_info getimagesize image_type_to_mime_type image2wbmp imagealphablending imageantialias imagearc imagechar imagecharup imagecolorallocate imagecolorallocatealpha imagecolorat imagecolorclosest imagecolorclosestalpha imagecolorclosesthwb imagecolordeallocate imagecolorexact imagecolorexactalpha imagecolormatch imagecolorresolve imagecolorresolvealpha imagecolorset imagecolorsforindex imagecolorstotal imagecolortransparent imagecopy imagecopymerge imagecopymergegray imagecopyresampled imagecopyresized imagecreate imagecreatefromgd2 imagecreatefromgd2part imagecreatefromgd imagecreatefromgif imagecreatefromjpeg imagecreatefrompng imagecreatefromstring imagecreatefromwbmp imagecreatefromxbm imagecreatefromxpm imagecreatetruecolor imagedashedline imagedestroy imageellipse imagefill imagefilledarc imagefilledellipse imagefilledpolygon imagefilledrectangle imagefilltoborder imagefontheight imagefontwidth imageftbbox imagefttext imagegammacorrect imagegd2 imagegd imagegif imageinterlace imageistruecolor imagejpeg imageline imageloadfont imagepalettecopy imagepng imagepolygon imagepsbbox imagepscopyfont imagepsencodefont imagepsextendfont imagepsfreefont imagepsloadfont imagepsslantfont imagepstext imagerectangle imagerotate imagesavealpha imagesetbrush imagesetpixel imagesetstyle imagesetthickness imagesettile imagestring imagestringup imagesx imagesy imagetruecolortopalette imagettfbbox imagettftext imagetypes imagewbmp iptcembed iptcparse jpeg2wbmp png2wbmp read_exif_data contained
+syn keyword phpFunctions  imap_8bit imap_alerts imap_append imap_base64 imap_binary imap_body imap_bodystruct imap_check imap_clearflag_full imap_close imap_createmailbox imap_delete imap_deletemailbox imap_errors imap_expunge imap_fetch_overview imap_fetchbody imap_fetchheader imap_fetchstructure imap_get_quota imap_get_quotaroot imap_getacl imap_getmailboxes imap_getsubscribed imap_header imap_headerinfo imap_headers imap_last_error imap_list imap_listmailbox imap_listscan imap_listsubscribed imap_lsub imap_mail_compose imap_mail_copy imap_mail_move imap_mail imap_mailboxmsginfo imap_mime_header_decode imap_msgno imap_num_msg imap_num_recent imap_open imap_ping imap_qprint imap_renamemailbox imap_reopen imap_rfc822_parse_adrlist imap_rfc822_parse_headers imap_rfc822_write_address imap_scanmailbox imap_search imap_set_quota imap_setacl imap_setflag_full imap_sort imap_status imap_subscribe imap_thread imap_timeout imap_uid imap_undelete imap_unsubscribe imap_utf7_decode imap_utf7_encode imap_utf8  contained
+syn keyword phpFunctions  assert_options assert dl extension_loaded get_cfg_var get_current_user get_defined_constants get_extension_funcs get_include_path get_included_files get_loaded_extensions get_magic_quotes_gpc get_magic_quotes_runtime get_required_files getenv getlastmod getmygid getmyinode getmypid getmyuid getopt getrusage ini_alter ini_get_all ini_get ini_restore ini_set main memory_get_usage php_ini_scanned_files php_logo_guid php_sapi_name php_uname phpcredits phpinfo phpversion putenv restore_include_path set_include_path set_magic_quotes_runtime set_time_limit version_compare zend_logo_guid zend_version contained
+syn keyword phpFunctions  ingres_autocommit ingres_close ingres_commit ingres_connect ingres_fetch_array ingres_fetch_object ingres_fetch_row ingres_field_length ingres_field_name ingres_field_nullable ingres_field_precision ingres_field_scale ingres_field_type ingres_num_fields ingres_num_rows ingres_pconnect ingres_query ingres_rollback  contained
+syn keyword phpFunctions  ircg_channel_mode ircg_disconnect ircg_fetch_error_msg ircg_get_username ircg_html_encode ircg_ignore_add ircg_ignore_del ircg_is_conn_alive ircg_join ircg_kick ircg_lookup_format_messages ircg_msg ircg_nick ircg_nickname_escape ircg_nickname_unescape ircg_notice ircg_part ircg_pconnect ircg_register_format_messages ircg_set_current ircg_set_file ircg_set_on_die ircg_topic ircg_whois  contained
+syn keyword phpFunctions  java_last_exception_clear java_last_exception_get contained
+syn keyword phpFunctions  ldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn ldap_err2str ldap_errno ldap_error ldap_explode_dn ldap_first_attribute ldap_first_entry ldap_first_reference ldap_free_result ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option ldap_get_values_len ldap_get_values ldap_list ldap_mod_add ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute ldap_next_entry ldap_next_reference ldap_parse_reference ldap_parse_result ldap_read ldap_rename ldap_search ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls ldap_t61_to_8859 ldap_unbind  contained
+syn keyword phpFunctions  lzf_compress lzf_decompress lzf_optimized_for contained
+syn keyword phpFunctions  ezmlm_hash mail contained
+syn keyword phpFunctions  mailparse_determine_best_xfer_encoding mailparse_msg_create mailparse_msg_extract_part_file mailparse_msg_extract_part mailparse_msg_free mailparse_msg_get_part_data mailparse_msg_get_part mailparse_msg_get_structure mailparse_msg_parse_file mailparse_msg_parse mailparse_rfc822_parse_addresses mailparse_stream_encode mailparse_uudecode_all contained
+syn keyword phpFunctions  abs acos acosh asin asinh atan2 atan atanh base_convert bindec ceil cos cosh decbin dechex decoct deg2rad exp expm1 floor fmod getrandmax hexdec hypot is_finite is_infinite is_nan lcg_value log10 log1p log max min mt_getrandmax mt_rand mt_srand octdec pi pow rad2deg rand round sin sinh sqrt srand tan tanh  contained
+syn keyword phpFunctions  mb_convert_case mb_convert_encoding mb_convert_kana mb_convert_variables mb_decode_mimeheader mb_decode_numericentity mb_detect_encoding mb_detect_order mb_encode_mimeheader mb_encode_numericentity mb_ereg_match mb_ereg_replace mb_ereg_search_getpos mb_ereg_search_getregs mb_ereg_search_init mb_ereg_search_pos mb_ereg_search_regs mb_ereg_search_setpos mb_ereg_search mb_ereg mb_eregi_replace mb_eregi mb_get_info mb_http_input mb_http_output mb_internal_encoding mb_language mb_output_handler mb_parse_str mb_preferred_mime_name mb_regex_encoding mb_regex_set_options mb_send_mail mb_split mb_strcut mb_strimwidth mb_strlen mb_strpos mb_strrpos mb_strtolower mb_strtoupper mb_strwidth mb_substitute_character mb_substr_count mb_substr  contained
+syn keyword phpFunctions  mcal_append_event mcal_close mcal_create_calendar mcal_date_compare mcal_date_valid mcal_day_of_week mcal_day_of_year mcal_days_in_month mcal_delete_calendar mcal_delete_event mcal_event_add_attribute mcal_event_init mcal_event_set_alarm mcal_event_set_category mcal_event_set_class mcal_event_set_description mcal_event_set_end mcal_event_set_recur_daily mcal_event_set_recur_monthly_mday mcal_event_set_recur_monthly_wday mcal_event_set_recur_none mcal_event_set_recur_weekly mcal_event_set_recur_yearly mcal_event_set_start mcal_event_set_title mcal_expunge mcal_fetch_current_stream_event mcal_fetch_event mcal_is_leap_year mcal_list_alarms mcal_list_events mcal_next_recurrence mcal_open mcal_popen mcal_rename_calendar mcal_reopen mcal_snooze mcal_store_event mcal_time_valid mcal_week_of_year contained
+syn keyword phpFunctions  mcrypt_cbc mcrypt_cfb mcrypt_create_iv mcrypt_decrypt mcrypt_ecb mcrypt_enc_get_algorithms_name mcrypt_enc_get_block_size mcrypt_enc_get_iv_size mcrypt_enc_get_key_size mcrypt_enc_get_modes_name mcrypt_enc_get_supported_key_sizes mcrypt_enc_is_block_algorithm_mode mcrypt_enc_is_block_algorithm mcrypt_enc_is_block_mode mcrypt_enc_self_test mcrypt_encrypt mcrypt_generic_deinit mcrypt_generic_end mcrypt_generic_init mcrypt_generic mcrypt_get_block_size mcrypt_get_cipher_name mcrypt_get_iv_size mcrypt_get_key_size mcrypt_list_algorithms mcrypt_list_modes mcrypt_module_close mcrypt_module_get_algo_block_size mcrypt_module_get_algo_key_size mcrypt_module_get_supported_key_sizes mcrypt_module_is_block_algorithm_mode mcrypt_module_is_block_algorithm mcrypt_module_is_block_mode mcrypt_module_open mcrypt_module_self_test mcrypt_ofb mdecrypt_generic  contained
+syn keyword phpFunctions  mcve_adduser mcve_adduserarg mcve_bt mcve_checkstatus mcve_chkpwd mcve_chngpwd mcve_completeauthorizations mcve_connect mcve_connectionerror mcve_deleteresponse mcve_deletetrans mcve_deleteusersetup mcve_deluser mcve_destroyconn mcve_destroyengine mcve_disableuser mcve_edituser mcve_enableuser mcve_force mcve_getcell mcve_getcellbynum mcve_getcommadelimited mcve_getheader mcve_getuserarg mcve_getuserparam mcve_gft mcve_gl mcve_gut mcve_initconn mcve_initengine mcve_initusersetup mcve_iscommadelimited mcve_liststats mcve_listusers mcve_maxconntimeout mcve_monitor mcve_numcolumns mcve_numrows mcve_override mcve_parsecommadelimited mcve_ping mcve_preauth mcve_preauthcompletion mcve_qc mcve_responseparam mcve_return mcve_returncode mcve_returnstatus mcve_sale mcve_setblocking mcve_setdropfile mcve_setip mcve_setssl_files mcve_setssl mcve_settimeout mcve_settle mcve_text_avs mcve_text_code mcve_text_cv mcve_transactionauth mcve_transactionavs mcve_transactionbatch mcve_transactioncv mcve_transactionid mcve_transactionitem mcve_transactionssent mcve_transactiontext mcve_transinqueue mcve_transnew mcve_transparam mcve_transsend mcve_ub mcve_uwait mcve_verifyconnection mcve_verifysslcert mcve_void  contained
+syn keyword phpFunctions  mhash_count mhash_get_block_size mhash_get_hash_name mhash_keygen_s2k mhash contained
+syn keyword phpFunctions  mime_content_type contained
+syn keyword phpFunctions  ming_setcubicthreshold ming_setscale ming_useswfversion SWFAction SWFBitmap swfbutton_keypress SWFbutton SWFDisplayItem SWFFill SWFFont SWFGradient SWFMorph SWFMovie SWFShape SWFSprite SWFText SWFTextField contained
+syn keyword phpMethods  getHeight getWidth addAction addShape setAction setdown setHit setOver setUp addColor move moveTo multColor remove Rotate rotateTo scale scaleTo setDepth setName setRatio skewX skewXTo skewY skewYTo moveTo rotateTo scaleTo skewXTo skewYTo getwidth addEntry getshape1 getshape2 add nextframe output remove save setbackground setdimension setframes setrate streammp3 addFill drawCurve drawCurveTo drawLine drawLineTo movePen movePenTo setLeftFill setLine setRightFill add nextframe remove setframes addString getWidth moveTo setColor setFont setHeight setSpacing addstring align setbounds setcolor setFont setHeight setindentation setLeftMargin setLineSpacing setMargins setname setrightMargin contained
+syn keyword phpFunctions  connection_aborted connection_status connection_timeout constant define defined die eval exit get_browser highlight_file highlight_string ignore_user_abort pack show_source sleep uniqid unpack usleep contained
+syn keyword phpFunctions  udm_add_search_limit udm_alloc_agent udm_api_version udm_cat_list udm_cat_path udm_check_charset udm_check_stored udm_clear_search_limits udm_close_stored udm_crc32 udm_errno udm_error udm_find udm_free_agent udm_free_ispell_data udm_free_res udm_get_doc_count udm_get_res_field udm_get_res_param udm_load_ispell_data udm_open_stored udm_set_agent_param contained
+syn keyword phpFunctions  msession_connect msession_count msession_create msession_destroy msession_disconnect msession_find msession_get_array msession_get msession_getdata msession_inc msession_list msession_listvar msession_lock msession_plugin msession_randstr msession_set_array msession_set msession_setdata msession_timeout msession_uniq msession_unlock  contained
+syn keyword phpFunctions  msql_affected_rows msql_close msql_connect msql_create_db msql_createdb msql_data_seek msql_dbname msql_drop_db msql_dropdb msql_error msql_fetch_array msql_fetch_field msql_fetch_object msql_fetch_row msql_field_seek msql_fieldflags msql_fieldlen msql_fieldname msql_fieldtable msql_fieldtype msql_free_result msql_freeresult msql_list_dbs msql_list_fields msql_list_tables msql_listdbs msql_listfields msql_listtables msql_num_fields msql_num_rows msql_numfields msql_numrows msql_pconnect msql_query msql_regcase msql_result msql_select_db msql_selectdb msql_tablename msql  contained
+syn keyword phpFunctions  mssql_bind mssql_close mssql_connect mssql_data_seek mssql_execute mssql_fetch_array mssql_fetch_assoc mssql_fetch_batch mssql_fetch_field mssql_fetch_object mssql_fetch_row mssql_field_length mssql_field_name mssql_field_seek mssql_field_type mssql_free_result mssql_free_statement mssql_get_last_message mssql_guid_string mssql_init mssql_min_error_severity mssql_min_message_severity mssql_next_result mssql_num_fields mssql_num_rows mssql_pconnect mssql_query mssql_result mssql_rows_affected mssql_select_db  contained
+syn keyword phpFunctions  muscat_close muscat_get muscat_give muscat_setup_net muscat_setup contained
+syn keyword phpFunctions  mysql_affected_rows mysql_change_user mysql_client_encoding mysql_close mysql_connect mysql_create_db mysql_data_seek mysql_db_name mysql_db_query mysql_drop_db mysql_errno mysql_error mysql_escape_string mysql_fetch_array mysql_fetch_assoc mysql_fetch_field mysql_fetch_lengths mysql_fetch_object mysql_fetch_row mysql_field_flags mysql_field_len mysql_field_name mysql_field_seek mysql_field_table mysql_field_type mysql_free_result mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql_insert_id mysql_list_dbs mysql_list_fields mysql_list_processes mysql_list_tables mysql_num_fields mysql_num_rows mysql_pconnect mysql_ping mysql_query mysql_real_escape_string mysql_result mysql_select_db mysql_stat mysql_tablename mysql_thread_id mysql_unbuffered_query  contained
+syn keyword phpFunctions  mysqli_affected_rows mysqli_autocommit mysqli_bind_param mysqli_bind_result mysqli_change_user mysqli_character_set_name mysqli_close mysqli_commit mysqli_connect mysqli_data_seek mysqli_debug mysqli_disable_reads_from_master mysqli_disable_rpl_parse mysqli_dump_debug_info mysqli_enable_reads_from_master mysqli_enable_rpl_parse mysqli_errno mysqli_error mysqli_execute mysqli_fetch_array mysqli_fetch_assoc mysqli_fetch_field_direct mysqli_fetch_field mysqli_fetch_fields mysqli_fetch_lengths mysqli_fetch_object mysqli_fetch_row mysqli_fetch mysqli_field_count mysqli_field_seek mysqli_field_tell mysqli_free_result mysqli_get_client_info mysqli_get_host_info mysqli_get_proto_info mysqli_get_server_info mysqli_get_server_version mysqli_info mysqli_init mysqli_insert_id mysqli_kill mysqli_master_query mysqli_num_fields mysqli_num_rows mysqli_options mysqli_param_count mysqli_ping mysqli_prepare_result mysqli_prepare mysqli_profiler mysqli_query mysqli_read_query_result mysqli_real_connect mysqli_real_escape_string mysqli_real_query mysqli_reload mysqli_rollback mysqli_rpl_parse_enabled mysqli_rpl_probe mysqli_rpl_query_type mysqli_select_db mysqli_send_long_data mysqli_send_query mysqli_slave_query mysqli_ssl_set mysqli_stat mysqli_stmt_affected_rows mysqli_stmt_close mysqli_stmt_errno mysqli_stmt_error mysqli_stmt_store_result mysqli_store_result mysqli_thread_id mysqli_thread_safe mysqli_use_result mysqli_warning_count  contained
+syn keyword phpFunctions  ncurses_addch ncurses_addchnstr ncurses_addchstr ncurses_addnstr ncurses_addstr ncurses_assume_default_colors ncurses_attroff ncurses_attron ncurses_attrset ncurses_baudrate ncurses_beep ncurses_bkgd ncurses_bkgdset ncurses_border ncurses_bottom_panel ncurses_can_change_color ncurses_cbreak ncurses_clear ncurses_clrtobot ncurses_clrtoeol ncurses_color_content ncurses_color_set ncurses_curs_set ncurses_def_prog_mode ncurses_def_shell_mode ncurses_define_key ncurses_del_panel ncurses_delay_output ncurses_delch ncurses_deleteln ncurses_delwin ncurses_doupdate ncurses_echo ncurses_echochar ncurses_end ncurses_erase ncurses_erasechar ncurses_filter ncurses_flash ncurses_flushinp ncurses_getch ncurses_getmaxyx ncurses_getmouse ncurses_getyx ncurses_halfdelay ncurses_has_colors ncurses_has_ic ncurses_has_il ncurses_has_key ncurses_hide_panel ncurses_hline ncurses_inch ncurses_init_color ncurses_init_pair ncurses_init ncurses_insch ncurses_insdelln ncurses_insertln ncurses_insstr ncurses_instr ncurses_isendwin ncurses_keyok ncurses_keypad ncurses_killchar ncurses_longname ncurses_meta ncurses_mouse_trafo ncurses_mouseinterval ncurses_mousemask ncurses_move_panel ncurses_move ncurses_mvaddch ncurses_mvaddchnstr ncurses_mvaddchstr ncurses_mvaddnstr ncurses_mvaddstr ncurses_mvcur ncurses_mvdelch ncurses_mvgetch ncurses_mvhline ncurses_mvinch ncurses_mvvline ncurses_mvwaddstr ncurses_napms ncurses_new_panel ncurses_newpad ncurses_newwin ncurses_nl ncurses_nocbreak ncurses_noecho ncurses_nonl ncurses_noqiflush ncurses_noraw ncurses_pair_content ncurses_panel_above ncurses_panel_below ncurses_panel_window ncurses_pnoutrefresh ncurses_prefresh ncurses_putp ncurses_qiflush ncurses_raw ncurses_refresh ncurses_replace_panel ncurses_reset_prog_mode ncurses_reset_shell_mode ncurses_resetty ncurses_savetty ncurses_scr_dump ncurses_scr_init ncurses_scr_restore ncurses_scr_set ncurses_scrl ncurses_show_panel ncurses_slk_attr ncurses_slk_attroff ncurses_slk_attron ncurses_slk_attrset ncurses_slk_clear ncurses_slk_color ncurses_slk_init ncurses_slk_noutrefresh ncurses_slk_refresh ncurses_slk_restore ncurses_slk_set ncurses_slk_touch ncurses_standend ncurses_standout ncurses_start_color ncurses_termattrs ncurses_termname ncurses_timeout ncurses_top_panel ncurses_typeahead ncurses_ungetch ncurses_ungetmouse ncurses_update_panels ncurses_use_default_colors ncurses_use_env ncurses_use_extended_names ncurses_vidattr ncurses_vline ncurses_waddch ncurses_waddstr ncurses_wattroff ncurses_wattron ncurses_wattrset ncurses_wborder ncurses_wclear ncurses_wcolor_set ncurses_werase ncurses_wgetch ncurses_whline ncurses_wmouse_trafo ncurses_wmove ncurses_wnoutrefresh ncurses_wrefresh ncurses_wstandend ncurses_wstandout ncurses_wvline contained
+syn keyword phpFunctions  checkdnsrr closelog debugger_off debugger_on define_syslog_variables dns_check_record dns_get_mx dns_get_record fsockopen gethostbyaddr gethostbyname gethostbynamel getmxrr getprotobyname getprotobynumber getservbyname getservbyport ip2long long2ip openlog pfsockopen socket_get_status socket_set_blocking socket_set_timeout syslog contained
+syn keyword phpFunctions  yp_all yp_cat yp_err_string yp_errno yp_first yp_get_default_domain yp_master yp_match yp_next yp_order contained
+syn keyword phpFunctions  notes_body notes_copy_db notes_create_db notes_create_note notes_drop_db notes_find_note notes_header_info notes_list_msgs notes_mark_read notes_mark_unread notes_nav_create notes_search notes_unread notes_version contained
+syn keyword phpFunctions  nsapi_request_headers nsapi_response_headers nsapi_virtual  contained
+syn keyword phpFunctions  aggregate_info aggregate_methods_by_list aggregate_methods_by_regexp aggregate_methods aggregate_properties_by_list aggregate_properties_by_regexp aggregate_properties aggregate aggregation_info deaggregate  contained
+syn keyword phpFunctions  ocibindbyname ocicancel ocicloselob ocicollappend ocicollassign ocicollassignelem ocicollgetelem ocicollmax ocicollsize ocicolltrim ocicolumnisnull ocicolumnname ocicolumnprecision ocicolumnscale ocicolumnsize ocicolumntype ocicolumntyperaw ocicommit ocidefinebyname ocierror ociexecute ocifetch ocifetchinto ocifetchstatement ocifreecollection ocifreecursor ocifreedesc ocifreestatement ociinternaldebug ociloadlob ocilogoff ocilogon ocinewcollection ocinewcursor ocinewdescriptor ocinlogon ocinumcols ociparse ociplogon ociresult ocirollback ocirowcount ocisavelob ocisavelobfile ociserverversion ocisetprefetch ocistatementtype ociwritelobtofile ociwritetemporarylob contained
+syn keyword phpFunctions  odbc_autocommit odbc_binmode odbc_close_all odbc_close odbc_columnprivileges odbc_columns odbc_commit odbc_connect odbc_cursor odbc_data_source odbc_do odbc_error odbc_errormsg odbc_exec odbc_execute odbc_fetch_array odbc_fetch_into odbc_fetch_object odbc_fetch_row odbc_field_len odbc_field_name odbc_field_num odbc_field_precision odbc_field_scale odbc_field_type odbc_foreignkeys odbc_free_result odbc_gettypeinfo odbc_longreadlen odbc_next_result odbc_num_fields odbc_num_rows odbc_pconnect odbc_prepare odbc_primarykeys odbc_procedurecolumns odbc_procedures odbc_result_all odbc_result odbc_rollback odbc_setoption odbc_specialcolumns odbc_statistics odbc_tableprivileges odbc_tables  contained
+syn keyword phpFunctions  openssl_csr_export_to_file openssl_csr_export openssl_csr_new openssl_csr_sign openssl_error_string openssl_free_key openssl_get_privatekey openssl_get_publickey openssl_open openssl_pkcs7_decrypt openssl_pkcs7_encrypt openssl_pkcs7_sign openssl_pkcs7_verify openssl_pkey_export_to_file openssl_pkey_export openssl_pkey_get_private openssl_pkey_get_public openssl_pkey_new openssl_private_decrypt openssl_private_encrypt openssl_public_decrypt openssl_public_encrypt openssl_seal openssl_sign openssl_verify openssl_x509_check_private_key openssl_x509_checkpurpose openssl_x509_export_to_file openssl_x509_export openssl_x509_free openssl_x509_parse openssl_x509_read contained
+syn keyword phpFunctions  ora_bind ora_close ora_columnname ora_columnsize ora_columntype ora_commit ora_commitoff ora_commiton ora_do ora_error ora_errorcode ora_exec ora_fetch_into ora_fetch ora_getcolumn ora_logoff ora_logon ora_numcols ora_numrows ora_open ora_parse ora_plogon ora_rollback  contained
+syn keyword phpFunctions  flush ob_clean ob_end_clean ob_end_flush ob_flush ob_get_clean ob_get_contents ob_get_flush ob_get_length ob_get_level ob_get_status ob_gzhandler ob_implicit_flush ob_list_handlers ob_start output_add_rewrite_var output_reset_rewrite_vars  contained
+syn keyword phpFunctions  overload  contained
+syn keyword phpFunctions  ovrimos_close ovrimos_commit ovrimos_connect ovrimos_cursor ovrimos_exec ovrimos_execute ovrimos_fetch_into ovrimos_fetch_row ovrimos_field_len ovrimos_field_name ovrimos_field_num ovrimos_field_type ovrimos_free_result ovrimos_longreadlen ovrimos_num_fields ovrimos_num_rows ovrimos_prepare ovrimos_result_all ovrimos_result ovrimos_rollback  contained
+syn keyword phpFunctions  pcntl_exec pcntl_fork pcntl_signal pcntl_waitpid pcntl_wexitstatus pcntl_wifexited pcntl_wifsignaled pcntl_wifstopped pcntl_wstopsig pcntl_wtermsig contained
+syn keyword phpFunctions  preg_grep preg_match_all preg_match preg_quote preg_replace_callback preg_replace preg_split  contained
+syn keyword phpFunctions  pdf_add_annotation pdf_add_bookmark pdf_add_launchlink pdf_add_locallink pdf_add_note pdf_add_outline pdf_add_pdflink pdf_add_thumbnail pdf_add_weblink pdf_arc pdf_arcn pdf_attach_file pdf_begin_page pdf_begin_pattern pdf_begin_template pdf_circle pdf_clip pdf_close_image pdf_close_pdi_page pdf_close_pdi pdf_close pdf_closepath_fill_stroke pdf_closepath_stroke pdf_closepath pdf_concat pdf_continue_text pdf_curveto pdf_delete pdf_end_page pdf_end_pattern pdf_end_template pdf_endpath pdf_fill_stroke pdf_fill pdf_findfont pdf_get_buffer pdf_get_font pdf_get_fontname pdf_get_fontsize pdf_get_image_height pdf_get_image_width pdf_get_majorversion pdf_get_minorversion pdf_get_parameter pdf_get_pdi_parameter pdf_get_pdi_value pdf_get_value pdf_initgraphics pdf_lineto pdf_makespotcolor pdf_moveto pdf_new pdf_open_CCITT pdf_open_file pdf_open_gif pdf_open_image_file pdf_open_image pdf_open_jpeg pdf_open_memory_image pdf_open_pdi_page pdf_open_pdi pdf_open_png pdf_open_tiff pdf_open pdf_place_image pdf_place_pdi_page pdf_rect pdf_restore pdf_rotate pdf_save pdf_scale pdf_set_border_color pdf_set_border_dash pdf_set_border_style pdf_set_char_spacing pdf_set_duration pdf_set_font pdf_set_horiz_scaling pdf_set_info_author pdf_set_info_creator pdf_set_info_keywords pdf_set_info_subject pdf_set_info_title pdf_set_info pdf_set_leading pdf_set_parameter pdf_set_text_matrix pdf_set_text_pos pdf_set_text_rendering pdf_set_text_rise pdf_set_value pdf_set_word_spacing pdf_setcolor pdf_setdash pdf_setflat pdf_setfont pdf_setgray_fill pdf_setgray_stroke pdf_setgray pdf_setlinecap pdf_setlinejoin pdf_setlinewidth pdf_setmatrix pdf_setmiterlimit pdf_setpolydash pdf_setrgbcolor_fill pdf_setrgbcolor_stroke pdf_setrgbcolor pdf_show_boxed pdf_show_xy pdf_show pdf_skew pdf_stringwidth pdf_stroke pdf_translate contained
+syn keyword phpFunctions  pfpro_cleanup pfpro_init pfpro_process_raw pfpro_process pfpro_version  contained
+syn keyword phpFunctions  pg_affected_rows pg_cancel_query pg_client_encoding pg_close pg_connect pg_connection_busy pg_connection_reset pg_connection_status pg_convert pg_copy_from pg_copy_to pg_dbname pg_delete pg_end_copy pg_escape_bytea pg_escape_string pg_fetch_all pg_fetch_array pg_fetch_assoc pg_fetch_object pg_fetch_result pg_fetch_row pg_field_is_null pg_field_name pg_field_num pg_field_prtlen pg_field_size pg_field_type pg_free_result pg_get_notify pg_get_pid pg_get_result pg_host pg_insert pg_last_error pg_last_notice pg_last_oid pg_lo_close pg_lo_create pg_lo_export pg_lo_import pg_lo_open pg_lo_read_all pg_lo_read pg_lo_seek pg_lo_tell pg_lo_unlink pg_lo_write pg_meta_data pg_num_fields pg_num_rows pg_options pg_pconnect pg_ping pg_port pg_put_line pg_query pg_result_error pg_result_seek pg_result_status pg_select pg_send_query pg_set_client_encoding pg_trace pg_tty pg_unescape_bytea pg_untrace pg_update  contained
+syn keyword phpFunctions  posix_ctermid posix_get_last_error posix_getcwd posix_getegid posix_geteuid posix_getgid posix_getgrgid posix_getgrnam posix_getgroups posix_getlogin posix_getpgid posix_getpgrp posix_getpid posix_getppid posix_getpwnam posix_getpwuid posix_getrlimit posix_getsid posix_getuid posix_isatty posix_kill posix_mkfifo posix_setegid posix_seteuid posix_setgid posix_setpgid posix_setsid posix_setuid posix_strerror posix_times posix_ttyname posix_uname contained
+syn keyword phpFunctions  printer_abort printer_close printer_create_brush printer_create_dc printer_create_font printer_create_pen printer_delete_brush printer_delete_dc printer_delete_font printer_delete_pen printer_draw_bmp printer_draw_chord printer_draw_elipse printer_draw_line printer_draw_pie printer_draw_rectangle printer_draw_roundrect printer_draw_text printer_end_doc printer_end_page printer_get_option printer_list printer_logical_fontheight printer_open printer_select_brush printer_select_font printer_select_pen printer_set_option printer_start_doc printer_start_page printer_write contained
+syn keyword phpFunctions  pspell_add_to_personal pspell_add_to_session pspell_check pspell_clear_session pspell_config_create pspell_config_ignore pspell_config_mode pspell_config_personal pspell_config_repl pspell_config_runtogether pspell_config_save_repl pspell_new_config pspell_new_personal pspell_new pspell_save_wordlist pspell_store_replacement pspell_suggest contained
+syn keyword phpFunctions  qdom_error qdom_tree  contained
+syn keyword phpFunctions  readline_add_history readline_clear_history readline_completion_function readline_info readline_list_history readline_read_history readline_write_history readline  contained
+syn keyword phpFunctions  recode_file recode_string recode  contained
+syn keyword phpFunctions  ereg_replace ereg eregi_replace eregi split spliti sql_regcase  contained
+syn keyword phpFunctions  ftok msg_get_queue msg_receive msg_remove_queue msg_send msg_set_queue msg_stat_queue sem_acquire sem_get sem_release sem_remove shm_attach shm_detach shm_get_var shm_put_var shm_remove_var shm_remove  contained
+syn keyword phpFunctions  sesam_affected_rows sesam_commit sesam_connect sesam_diagnostic sesam_disconnect sesam_errormsg sesam_execimm sesam_fetch_array sesam_fetch_result sesam_fetch_row sesam_field_array sesam_field_name sesam_free_result sesam_num_fields sesam_query sesam_rollback sesam_seek_row sesam_settransaction contained
+syn keyword phpFunctions  session_cache_expire session_cache_limiter session_decode session_destroy session_encode session_get_cookie_params session_id session_is_registered session_module_name session_name session_regenerate_id session_register session_save_path session_set_cookie_params session_set_save_handler session_start session_unregister session_unset session_write_close contained
+syn keyword phpFunctions  shmop_close shmop_delete shmop_open shmop_read shmop_size shmop_write contained
+syn keyword phpFunctions  snmp_get_quick_print snmp_set_quick_print snmpget snmprealwalk snmpset snmpwalk snmpwalkoid contained
+syn keyword phpFunctions  socket_accept socket_bind socket_clear_error socket_close socket_connect socket_create_listen socket_create_pair socket_create socket_get_option socket_getpeername socket_getsockname socket_iovec_add socket_iovec_alloc socket_iovec_delete socket_iovec_fetch socket_iovec_free socket_iovec_set socket_last_error socket_listen socket_read socket_readv socket_recv socket_recvfrom socket_recvmsg socket_select socket_send socket_sendmsg socket_sendto socket_set_block socket_set_nonblock socket_set_option socket_shutdown socket_strerror socket_write socket_writev contained
+syn keyword phpFunctions  sqlite_array_query sqlite_busy_timeout sqlite_changes sqlite_close sqlite_column sqlite_create_aggregate sqlite_create_function sqlite_current sqlite_error_string sqlite_escape_string sqlite_fetch_array sqlite_fetch_single sqlite_fetch_string sqlite_field_name sqlite_has_more sqlite_last_error sqlite_last_insert_rowid sqlite_libencoding sqlite_libversion sqlite_next sqlite_num_fields sqlite_num_rows sqlite_open sqlite_popen sqlite_query sqlite_rewind sqlite_seek sqlite_udf_decode_binary sqlite_udf_encode_binary sqlite_unbuffered_query  contained
+syn keyword phpFunctions  stream_context_create stream_context_get_options stream_context_set_option stream_context_set_params stream_copy_to_stream stream_filter_append stream_filter_prepend stream_filter_register stream_get_contents stream_get_filters stream_get_line stream_get_meta_data stream_get_transports stream_get_wrappers stream_register_wrapper stream_select stream_set_blocking stream_set_timeout stream_set_write_buffer stream_socket_accept stream_socket_client stream_socket_get_name stream_socket_recvfrom stream_socket_sendto stream_socket_server stream_wrapper_register contained
+syn keyword phpFunctions  addcslashes addslashes bin2hex chop chr chunk_split convert_cyr_string count_chars crc32 crypt explode fprintf get_html_translation_table hebrev hebrevc html_entity_decode htmlentities htmlspecialchars implode join levenshtein localeconv ltrim md5_file md5 metaphone money_format nl_langinfo nl2br number_format ord parse_str print printf quoted_printable_decode quotemeta rtrim setlocale sha1_file sha1 similar_text soundex sprintf sscanf str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strip_tags stripcslashes stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpos strrchr strrev strripos strrpos strspn strstr strtok strtolower strtoupper strtr substr_compare substr_count substr_replace substr trim ucfirst ucwords vprintf vsprintf wordwrap contained
+syn keyword phpFunctions  swf_actiongeturl swf_actiongotoframe swf_actiongotolabel swf_actionnextframe swf_actionplay swf_actionprevframe swf_actionsettarget swf_actionstop swf_actiontogglequality swf_actionwaitforframe swf_addbuttonrecord swf_addcolor swf_closefile swf_definebitmap swf_definefont swf_defineline swf_definepoly swf_definerect swf_definetext swf_endbutton swf_enddoaction swf_endshape swf_endsymbol swf_fontsize swf_fontslant swf_fonttracking swf_getbitmapinfo swf_getfontinfo swf_getframe swf_labelframe swf_lookat swf_modifyobject swf_mulcolor swf_nextid swf_oncondition swf_openfile swf_ortho2 swf_ortho swf_perspective swf_placeobject swf_polarview swf_popmatrix swf_posround swf_pushmatrix swf_removeobject swf_rotate swf_scale swf_setfont swf_setframe swf_shapearc swf_shapecurveto3 swf_shapecurveto swf_shapefillbitmapclip swf_shapefillbitmaptile swf_shapefilloff swf_shapefillsolid swf_shapelinesolid swf_shapelineto swf_shapemoveto swf_showframe swf_startbutton swf_startdoaction swf_startshape swf_startsymbol swf_textwidth swf_translate swf_viewport contained
+syn keyword phpFunctions  sybase_affected_rows sybase_close sybase_connect sybase_data_seek sybase_deadlock_retry_count sybase_fetch_array sybase_fetch_assoc sybase_fetch_field sybase_fetch_object sybase_fetch_row sybase_field_seek sybase_free_result sybase_get_last_message sybase_min_client_severity sybase_min_error_severity sybase_min_message_severity sybase_min_server_severity sybase_num_fields sybase_num_rows sybase_pconnect sybase_query sybase_result sybase_select_db sybase_set_message_handler sybase_unbuffered_query contained
+syn keyword phpFunctions  tidy_access_count tidy_clean_repair tidy_config_count tidy_diagnose tidy_error_count tidy_get_body tidy_get_config tidy_get_error_buffer tidy_get_head tidy_get_html_ver tidy_get_html tidy_get_output tidy_get_release tidy_get_root tidy_get_status tidy_getopt tidy_is_xhtml tidy_load_config tidy_parse_file tidy_parse_string tidy_repair_file tidy_repair_string tidy_reset_config tidy_save_config tidy_set_encoding tidy_setopt tidy_warning_count  contained
+syn keyword phpMethods  attributes children get_attr get_nodes has_children has_siblings is_asp is_comment is_html is_jsp is_jste is_text is_xhtml is_xml next prev tidy_node contained
+syn keyword phpFunctions  token_get_all token_name  contained
+syn keyword phpFunctions  base64_decode base64_encode get_meta_tags http_build_query parse_url rawurldecode rawurlencode urldecode urlencode  contained
+syn keyword phpFunctions  doubleval empty floatval get_defined_vars get_resource_type gettype import_request_variables intval is_array is_bool is_callable is_double is_float is_int is_integer is_long is_null is_numeric is_object is_real is_resource is_scalar is_string isset print_r serialize settype strval unserialize unset var_dump var_export contained
+syn keyword phpFunctions  vpopmail_add_alias_domain_ex vpopmail_add_alias_domain vpopmail_add_domain_ex vpopmail_add_domain vpopmail_add_user vpopmail_alias_add vpopmail_alias_del_domain vpopmail_alias_del vpopmail_alias_get_all vpopmail_alias_get vpopmail_auth_user vpopmail_del_domain_ex vpopmail_del_domain vpopmail_del_user vpopmail_error vpopmail_passwd vpopmail_set_user_quota  contained
+syn keyword phpFunctions  w32api_deftype w32api_init_dtype w32api_invoke_function w32api_register_function w32api_set_call_method contained
+syn keyword phpFunctions  wddx_add_vars wddx_deserialize wddx_packet_end wddx_packet_start wddx_serialize_value wddx_serialize_vars contained
+syn keyword phpFunctions  utf8_decode utf8_encode xml_error_string xml_get_current_byte_index xml_get_current_column_number xml_get_current_line_number xml_get_error_code xml_parse_into_struct xml_parse xml_parser_create_ns xml_parser_create xml_parser_free xml_parser_get_option xml_parser_set_option xml_set_character_data_handler xml_set_default_handler xml_set_element_handler xml_set_end_namespace_decl_handler xml_set_external_entity_ref_handler xml_set_notation_decl_handler xml_set_object xml_set_processing_instruction_handler xml_set_start_namespace_decl_handler xml_set_unparsed_entity_decl_handler contained
+syn keyword phpFunctions  xmlrpc_decode_request xmlrpc_decode xmlrpc_encode_request xmlrpc_encode xmlrpc_get_type xmlrpc_parse_method_descriptions xmlrpc_server_add_introspection_data xmlrpc_server_call_method xmlrpc_server_create xmlrpc_server_destroy xmlrpc_server_register_introspection_callback xmlrpc_server_register_method xmlrpc_set_type  contained
+syn keyword phpFunctions  xslt_create xslt_errno xslt_error xslt_free xslt_output_process xslt_set_base xslt_set_encoding xslt_set_error_handler xslt_set_log xslt_set_sax_handler xslt_set_sax_handlers xslt_set_scheme_handler xslt_set_scheme_handlers contained
+syn keyword phpFunctions  yaz_addinfo yaz_ccl_conf yaz_ccl_parse yaz_close yaz_connect yaz_database yaz_element yaz_errno yaz_error yaz_es_result yaz_get_option yaz_hits yaz_itemorder yaz_present yaz_range yaz_record yaz_scan_result yaz_scan yaz_schema yaz_search yaz_set_option yaz_sort yaz_syntax yaz_wait contained
+syn keyword phpFunctions  zip_close zip_entry_close zip_entry_compressedsize zip_entry_compressionmethod zip_entry_filesize zip_entry_name zip_entry_open zip_entry_read zip_open zip_read  contained
+syn keyword phpFunctions  gzclose gzcompress gzdeflate gzencode gzeof gzfile gzgetc gzgets gzgetss gzinflate gzopen gzpassthru gzputs gzread gzrewind gzseek gztell gzuncompress gzwrite readgzfile zlib_get_coding_type  contained
+
+if exists( "php_baselib" )
+  syn keyword phpMethods  query next_record num_rows affected_rows nf f p np num_fields haltmsg seek link_id query_id metadata table_names nextid connect halt free register unregister is_registered delete url purl self_url pself_url hidden_session add_query padd_query reimport_get_vars reimport_post_vars reimport_cookie_vars set_container set_tokenname release_token put_headers get_id get_id put_id freeze thaw gc reimport_any_vars start url purl login_if is_authenticated auth_preauth auth_loginform auth_validatelogin auth_refreshlogin auth_registerform auth_doregister start check have_perm permsum perm_invalid contained
+  syn keyword phpFunctions  page_open page_close sess_load sess_save  contained
+endif
+
+" Conditional
+syn keyword phpConditional  declare else enddeclare endswitch elseif endif if switch  contained
+
+" Repeat
+syn keyword phpRepeat as do endfor endforeach endwhile for foreach while  contained
+
+" Repeat
+syn keyword phpLabel  case default switch contained
+
+" Statement
+syn keyword phpStatement  return break continue exit  contained
+
+" Keyword
+syn keyword phpKeyword  var const contained
+
+" Type
+syn keyword phpType bool[ean] int[eger] real double float string array object NULL  contained
+
+" Structure
+syn keyword phpStructure  extends implements instanceof parent self contained
+
+" Operator
+syn match phpOperator "[-=+%^&|*!.~?:]" contained display
+syn match phpOperator "[-+*/%^&|.]="  contained display
+syn match phpOperator "/[^*/]"me=e-1  contained display
+syn match phpOperator "\$"  contained display
+syn match phpOperator "&&\|\<and\>" contained display
+syn match phpOperator "||\|\<x\=or\>" contained display
+syn match phpRelation "[!=<>]=" contained display
+syn match phpRelation "[<>]"  contained display
+syn match phpMemberSelector "->"  contained display
+syn match phpVarSelector  "\$"  contained display
+
+" Identifier
+syn match phpIdentifier "$\h\w*"  contained contains=phpEnvVar,phpIntVar,phpVarSelector display
+syn match phpIdentifierSimply "${\h\w*}"  contains=phpOperator,phpParent  contained display
+syn region  phpIdentifierComplex  matchgroup=phpParent start="{\$"rs=e-1 end="}"  contains=phpIdentifier,phpMemberSelector,phpVarSelector,phpIdentifierComplexP contained extend
+syn region  phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contains=@phpClInside contained
+
+" Methoden
+syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display
+
+" Include
+syn keyword phpInclude  include require include_once require_once contained
+
+" Peter Hodge - added 'clone' keyword
+" Define
+syn keyword phpDefine new clone contained
+
+" Boolean
+syn keyword phpBoolean  true false  contained
+
+" Number
+syn match phpNumber "-\=\<\d\+\>" contained display
+syn match phpNumber "\<0x\x\{1,8}\>"  contained display
+
+" Float
+syn match phpFloat  "\(-\=\<\d+\|-\=\)\.\d\+\>" contained display
+
+" SpecialChar
+syn match phpSpecialChar  "\\[abcfnrtyv\\]" contained display
+syn match phpSpecialChar  "\\\d\{3}"  contained contains=phpOctalError display
+syn match phpSpecialChar  "\\x\x\{2}" contained display
+
+" Error
+syn match phpOctalError "[89]"  contained display
+if exists("php_parent_error_close")
+  syn match phpParentError  "[)\]}]"  contained display
+endif
+
+" Todo
+syn keyword phpTodo todo fixme xxx  contained
+
+" Comment
+if exists("php_parent_error_open")
+  syn region  phpComment  start="/\*" end="\*/" contained contains=phpTodo
+else
+  syn region  phpComment  start="/\*" end="\*/" contained contains=phpTodo extend
+endif
+if version >= 600
+  syn match phpComment  "#.\{-}\(?>\|$\)\@="  contained contains=phpTodo
+  syn match phpComment  "//.\{-}\(?>\|$\)\@=" contained contains=phpTodo
+else
+  syn match phpComment  "#.\{-}$" contained contains=phpTodo
+  syn match phpComment  "#.\{-}?>"me=e-2  contained contains=phpTodo
+  syn match phpComment  "//.\{-}$"  contained contains=phpTodo
+  syn match phpComment  "//.\{-}?>"me=e-2 contained contains=phpTodo
+endif
+
+" String
+if exists("php_parent_error_open")
+  syn region  phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+  contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
+  syn region  phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+  contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained keepend
+  syn region  phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+  contains=@phpAddStrings contained keepend
+else
+  syn region  phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+  contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
+  syn region  phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+  contains=@phpAddStrings,phpIdentifier,phpSpecialChar,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
+  syn region  phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+  contains=@phpAddStrings contained keepend extend
+endif
+
+" HereDoc
+if version >= 600
+  syn case match
+  syn region  phpHereDoc  matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
+" including HTML,JavaScript,SQL even if not enabled via options
+  syn region  phpHereDoc  matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@="  contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
+  syn region  phpHereDoc  matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
+  syn region  phpHereDoc  matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@="  contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar keepend extend
+  syn case ignore
+endif
+
+" Parent
+if exists("php_parent_error_close") || exists("php_parent_error_open")
+  syn match phpParent "[{}]"  contained
+  syn region  phpParent matchgroup=Delimiter start="(" end=")"  contained contains=@phpClInside transparent
+  syn region  phpParent matchgroup=Delimiter start="\[" end="\]"  contained contains=@phpClInside transparent
+  if !exists("php_parent_error_close")
+    syn match phpParent "[\])]" contained
+  endif
+else
+  syn match phpParent "[({[\]})]" contained
+endif
+
+syn cluster phpClConst  contains=phpFunctions,phpIdentifier,phpConditional,phpRepeat,phpStatement,phpOperator,phpRelation,phpStringSingle,phpStringDouble,phpBacktick,phpNumber,phpFloat,phpKeyword,phpType,phpBoolean,phpStructure,phpMethodsVar,phpConstant,phpCoreConstant,phpException
+syn cluster phpClInside contains=@phpClConst,phpComment,phpLabel,phpParent,phpParentError,phpInclude,phpHereDoc
+syn cluster phpClFunction contains=@phpClInside,phpDefine,phpParentError,phpStorageClass
+syn cluster phpClTop  contains=@phpClFunction,phpFoldFunction,phpFoldClass,phpFoldInterface,phpFoldTry,phpFoldCatch
+
+" Php Region
+if exists("php_parent_error_open")
+  if exists("php_noShortTags")
+    syn region   phpRegion  matchgroup=Delimiter start="<?php" end="?>" contains=@phpClTop
+  else
+    syn region   phpRegion  matchgroup=Delimiter start="<?\(php\)\=" end="?>" contains=@phpClTop
+  endif
+  syn region   phpRegionSc  matchgroup=Delimiter start=+<script language="php">+ end=+</script>+  contains=@phpClTop
+  if exists("php_asp_tags")
+    syn region   phpRegionAsp matchgroup=Delimiter start="<%\(=\)\=" end="%>" contains=@phpClTop
+  endif
+else
+  if exists("php_noShortTags")
+    syn region   phpRegion  matchgroup=Delimiter start="<?php" end="?>" contains=@phpClTop keepend
+  else
+    syn region   phpRegion  matchgroup=Delimiter start="<?\(php\)\=" end="?>" contains=@phpClTop keepend
+  endif
+  syn region   phpRegionSc  matchgroup=Delimiter start=+<script language="php">+ end=+</script>+  contains=@phpClTop keepend
+  if exists("php_asp_tags")
+    syn region   phpRegionAsp matchgroup=Delimiter start="<%\(=\)\=" end="%>" contains=@phpClTop keepend
+  endif
+endif
+
+" Fold
+if exists("php_folding") && php_folding==1
+" match one line constructs here and skip them at folding
+  syn keyword phpSCKeyword  abstract final private protected public static  contained
+  syn keyword phpFCKeyword  function  contained
+  syn keyword phpStorageClass global  contained
+  syn match phpDefine "\(\s\|^\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\(\s\+.*[;}]\)\@="  contained contains=phpSCKeyword
+  syn match phpStructure  "\(\s\|^\)\(abstract\s\+\|final\s\+\)*class\(\s\+.*}\)\@="  contained
+  syn match phpStructure  "\(\s\|^\)interface\(\s\+.*}\)\@="  contained
+  syn match phpException  "\(\s\|^\)try\(\s\+.*}\)\@="  contained
+  syn match phpException  "\(\s\|^\)catch\(\s\+.*}\)\@="  contained
+
+  set foldmethod=syntax
+  syn region  phpFoldHtmlInside matchgroup=Delimiter start="?>" end="<?\(php\)\=" contained transparent contains=@htmlTop
+  syn region  phpFoldFunction matchgroup=Storageclass start="^\z(\s*\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\s\([^};]*$\)\@="rs=e-9 matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldHtmlInside,phpFCKeyword contained transparent fold extend
+  syn region  phpFoldFunction matchgroup=Define start="^function\s\([^};]*$\)\@=" matchgroup=Delimiter end="^}" contains=@phpClFunction,phpFoldHtmlInside contained transparent fold extend
+  syn region  phpFoldClass  matchgroup=Structure start="^\z(\s*\)\(abstract\s\+\|final\s\+\)*class\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction,phpSCKeyword contained transparent fold extend
+  syn region  phpFoldInterface  matchgroup=Structure start="^\z(\s*\)interface\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
+  syn region  phpFoldCatch  matchgroup=Exception start="^\z(\s*\)catch\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
+  syn region  phpFoldTry  matchgroup=Exception start="^\z(\s*\)try\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
+elseif exists("php_folding") && php_folding==2
+  syn keyword phpDefine function  contained
+  syn keyword phpStructure  abstract class interface  contained
+  syn keyword phpException  catch throw try contained
+  syn keyword phpStorageClass final global private protected public static  contained
+
+  set foldmethod=syntax
+  syn region  phpFoldHtmlInside matchgroup=Delimiter start="?>" end="<?\(php\)\=" contained transparent contains=@htmlTop
+  syn region  phpParent matchgroup=Delimiter start="{" end="}"  contained contains=@phpClFunction,phpFoldHtmlInside transparent fold
+else
+  syn keyword phpDefine function  contained
+  syn keyword phpStructure  abstract class interface  contained
+  syn keyword phpException  catch throw try contained
+  syn keyword phpStorageClass final global private protected public static  contained
+endif
+
+" ================================================================
+" Peter Hodge - June 9, 2006
+" Some of these changes (highlighting isset/unset/echo etc) are not so
+" critical, but they make things more colourful. :-)
+
+" corrected highlighting for an escaped '\$' inside a double-quoted string
+syn match phpSpecialChar  "\\\$"  contained display
+
+" highlight object variables inside strings
+syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display containedin=phpStringDouble
+
+" highlight constant E_STRICT
+syntax case match
+syntax keyword phpCoreConstant E_STRICT contained
+syntax case ignore
+
+" different syntax highlighting for 'echo', 'print', 'switch', 'die' and 'list' keywords
+" to better indicate what they are.
+syntax keyword phpDefine echo print contained
+syntax keyword phpStructure list contained
+syntax keyword phpConditional switch contained
+syntax keyword phpStatement die contained
+
+" Highlighting for PHP5's user-definable magic class methods
+syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier
+  \ __construct __destruct __call __toString __sleep __wakeup __set __get __unset __isset __clone __set_state
+" Highlighting for __autoload slightly different from line above
+syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
+  \ __autoload
+highlight link phpSpecialFunction phpOperator
+
+" Highlighting for PHP5's built-in classes
+" - built-in classes harvested from get_declared_classes() in 5.1.4
+syntax keyword phpClasses containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
+  \ stdClass __PHP_Incomplete_Class php_user_filter Directory ArrayObject
+  \ Exception ErrorException LogicException BadFunctionCallException BadMethodCallException DomainException
+  \ RecursiveIteratorIterator IteratorIterator FilterIterator RecursiveFilterIterator ParentIterator LimitIterator
+  \ CachingIterator RecursiveCachingIterator NoRewindIterator AppendIterator InfiniteIterator EmptyIterator
+  \ ArrayIterator RecursiveArrayIterator DirectoryIterator RecursiveDirectoryIterator
+  \ InvalidArgumentException LengthException OutOfRangeException RuntimeException OutOfBoundsException
+  \ OverflowException RangeException UnderflowException UnexpectedValueException
+  \ PDO PDOException PDOStatement PDORow
+  \ Reflection ReflectionFunction ReflectionParameter ReflectionMethod ReflectionClass
+  \ ReflectionObject ReflectionProperty ReflectionExtension ReflectionException
+  \ SplFileInfo SplFileObject SplTempFileObject SplObjectStorage
+  \ XMLWriter LibXMLError XMLReader SimpleXMLElement SimpleXMLIterator
+  \ DOMException DOMStringList DOMNameList DOMDomError DOMErrorHandler
+  \ DOMImplementation DOMImplementationList DOMImplementationSource
+  \ DOMNode DOMNameSpaceNode DOMDocumentFragment DOMDocument DOMNodeList DOMNamedNodeMap
+  \ DOMCharacterData DOMAttr DOMElement DOMText DOMComment DOMTypeinfo DOMUserDataHandler
+  \ DOMLocator DOMConfiguration DOMCdataSection DOMDocumentType DOMNotation DOMEntity
+  \ DOMEntityReference DOMProcessingInstruction DOMStringExtend DOMXPath
+highlight link phpClasses phpFunctions
+
+" Highlighting for PHP5's built-in interfaces
+" - built-in classes harvested from get_declared_interfaces() in 5.1.4
+syntax keyword phpInterfaces containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
+  \ Iterator IteratorAggregate RecursiveIterator OuterIterator SeekableIterator
+  \ Traversable ArrayAccess Serializable Countable SplObserver SplSubject Reflector
+highlight link phpInterfaces phpConstant
+
+" option defaults:
+if ! exists('php_special_functions')
+    let php_special_functions = 1
+endif
+if ! exists('php_alt_comparisons')
+    let php_alt_comparisons = 1
+endif
+if ! exists('php_alt_assignByReference')
+    let php_alt_assignByReference = 1
+endif
+
+if php_special_functions
+    " Highlighting for PHP built-in functions which exhibit special behaviours
+    " - isset()/unset()/empty() are not real functions.
+    " - compact()/extract() directly manipulate variables in the local scope where
+    "   regular functions would not be able to.
+    " - eval() is the token 'make_your_code_twice_as_complex()' function for PHP.
+    " - user_error()/trigger_error() can be overloaded by set_error_handler and also
+    "   have the capacity to terminate your script when type is E_USER_ERROR.
+    syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle
+  \ user_error trigger_error isset unset eval extract compact empty
+endif
+
+if php_alt_assignByReference
+    " special highlighting for '=&' operator
+    syntax match phpAssignByRef /=\s*&/ containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle
+    highlight link phpAssignByRef Type
+endif
+
+if php_alt_comparisons
+  " highlight comparison operators differently
+  syntax match phpComparison "\v[=!]\=\=?" contained containedin=phpRegion
+  syntax match phpComparison "\v[=<>-]@<![<>]\=?[<>]@!" contained containedin=phpRegion
+
+  " highlight the 'instanceof' operator as a comparison operator rather than a structure
+  syntax case ignore
+  syntax keyword phpComparison instanceof contained containedin=phpRegion
+
+  hi link phpComparison Statement
+endif
+
+" ================================================================
+
+" Sync
+if php_sync_method==-1
+  if exists("php_noShortTags")
+    syn sync match phpRegionSync grouphere phpRegion "^\s*<?php\s*$"
+  else
+    syn sync match phpRegionSync grouphere phpRegion "^\s*<?\(php\)\=\s*$"
+  endif
+  syn sync match phpRegionSync grouphere phpRegionSc +^\s*<script language="php">\s*$+
+  if exists("php_asp_tags")
+    syn sync match phpRegionSync grouphere phpRegionAsp "^\s*<%\(=\)\=\s*$"
+  endif
+  syn sync match phpRegionSync grouphere NONE "^\s*?>\s*$"
+  syn sync match phpRegionSync grouphere NONE "^\s*%>\s*$"
+  syn sync match phpRegionSync grouphere phpRegion "function\s.*(.*\$"
+  "syn sync match phpRegionSync grouphere NONE "/\i*>\s*$"
+elseif php_sync_method>0
+  exec "syn sync minlines=" . php_sync_method
+else
+  exec "syn sync fromstart"
+endif
+
+" 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_php_syn_inits")
+  if version < 508
+    let did_php_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink   phpConstant  Constant
+  HiLink   phpCoreConstant  Constant
+  HiLink   phpComment Comment
+  HiLink   phpException Exception
+  HiLink   phpBoolean Boolean
+  HiLink   phpStorageClass  StorageClass
+  HiLink   phpSCKeyword StorageClass
+  HiLink   phpFCKeyword Define
+  HiLink   phpStructure Structure
+  HiLink   phpStringSingle  String
+  HiLink   phpStringDouble  String
+  HiLink   phpBacktick  String
+  HiLink   phpNumber  Number
+  HiLink   phpFloat Float
+  HiLink   phpMethods Function
+  HiLink   phpFunctions Function
+  HiLink   phpBaselib Function
+  HiLink   phpRepeat  Repeat
+  HiLink   phpConditional Conditional
+  HiLink   phpLabel Label
+  HiLink   phpStatement Statement
+  HiLink   phpKeyword Statement
+  HiLink   phpType  Type
+  HiLink   phpInclude Include
+  HiLink   phpDefine  Define
+  HiLink   phpSpecialChar SpecialChar
+  HiLink   phpParent  Delimiter
+  HiLink   phpIdentifierConst Delimiter
+  HiLink   phpParentError Error
+  HiLink   phpOctalError  Error
+  HiLink   phpTodo  Todo
+  HiLink   phpMemberSelector  Structure
+  if exists("php_oldStyle")
+  hi  phpIntVar guifg=Red ctermfg=DarkRed
+  hi  phpEnvVar guifg=Red ctermfg=DarkRed
+  hi  phpOperator guifg=SeaGreen ctermfg=DarkGreen
+  hi  phpVarSelector guifg=SeaGreen ctermfg=DarkGreen
+  hi  phpRelation guifg=SeaGreen ctermfg=DarkGreen
+  hi  phpIdentifier guifg=DarkGray ctermfg=Brown
+  hi  phpIdentifierSimply guifg=DarkGray ctermfg=Brown
+  else
+  HiLink  phpIntVar Identifier
+  HiLink  phpEnvVar Identifier
+  HiLink  phpOperator Operator
+  HiLink  phpVarSelector  Operator
+  HiLink  phpRelation Operator
+  HiLink  phpIdentifier Identifier
+  HiLink  phpIdentifierSimply Identifier
+  endif
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "php"
+
+if main_syntax == 'php'
+  unlet main_syntax
+endif
+
+" vim: ts=8 sts=2 sw=2 expandtab
diff --git a/text.vim b/text.vim
new file mode 100644 (file)
index 0000000..ebc6c9e
--- /dev/null
+++ b/text.vim
@@ -0,0 +1 @@
+set textwidth=0
diff --git a/todo.vim b/todo.vim
new file mode 100644 (file)
index 0000000..f298b52
--- /dev/null
+++ b/todo.vim
@@ -0,0 +1,20 @@
+highlight level1 ctermfg=LightGrey ctermbg=Red
+highlight level2 ctermfg=Red ctermbg=Black
+highlight level3 ctermfg=DarkRed ctermbg=Black
+highlight level4 ctermfg=DarkYellow ctermbg=Black
+highlight VICTORY ctermfg=Black ctermbg=Blue
+highlight maybedone ctermfg=Black ctermbg=DarkGreen
+highlight headline ctermfg=Black ctermbg=LightGrey
+"highlight moot ctermfg=DarkGrey ctermbg=Black
+
+syntax match level1 /^[*][*][*][*][^*]\zs.*/
+syntax match level2 /^[*][*][*][^*]\zs.*/
+syntax match level3 /^[*][*][^*]\zs.*/
+syntax match level4 /^[*][^*]\zs.*/
+syntax match VICTORY /^\(VICTORY\|DONE\|YAY\)!\?[^     ]*      \zs.*/
+syntax match maybedone /^done?.\zs.*/
+syntax match moot /^[#?].*/
+syntax match headline /^ \+\zs[^       ]*/
+
+set tabstop=8
+set shiftwidth=8
diff --git a/vala.vim b/vala.vim
new file mode 100644 (file)
index 0000000..e827193
--- /dev/null
+++ b/vala.vim
@@ -0,0 +1,174 @@
+" Vim syntax file
+" Language:    Vala
+" Maintainers: Emmanuele Bassi <ebassi@gnome.org>
+"              Hans Vercammen <hveso3@gmail.com>
+"              pancake <pancake@nopcode.org>
+" Last Change:         2009-10-28
+" Filenames:   *.vala *.vapi
+"
+" REFERENCES:
+" [1] http://live.gnome.org/Vala
+"
+" TODO: Possibly when reaching vala 1.0 release
+"      - validate code attributes
+"      - better error checking for known errors
+"      - full support for valadoc
+
+if exists("b:current_syntax")
+    finish
+endif
+
+let s:vala_cpo_save = &cpo
+set cpo&vim
+
+" Types
+syn keyword valaType                   bool char double float size_t ssize_t string unichar void
+syn keyword valaType                   int int8 int16 int32 int64 long short
+syn keyword valaType                   uint uint8 uint16 uint32 uint64 ulong ushort
+" Storage keywords
+syn keyword valaStorage                        class delegate enum errordomain interface namespace struct
+" repeat / condition / label
+syn keyword valaRepeat                 break continue do for foreach return while
+syn keyword valaConditional            else if switch assert
+" User Labels
+syn keyword valaLabel                  case default
+
+" Modifiers
+syn keyword valaModifier               abstract const dynamic ensures extern inline internal override 
+syn keyword valaModifier               private protected public requires signal static virtual volatile weak
+syn keyword valaModifier               async owned unowned
+" Constants
+syn keyword valaConstant               false null true
+" Exceptions
+syn keyword valaException              try catch finally throw
+" Unspecified Statements
+syn keyword valaUnspecifiedStatement   as base construct delete get in is lock new out params ref sizeof set this throws typeof using value var yield
+
+" Comments
+syn cluster valaCommentGroup           contains=valaTodo
+syn keyword valaTodo                   contained TODO FIXME XXX NOTE
+
+" valadoc Comments (ported from javadoc comments in java.vim)
+" TODO: need to verify valadoc syntax
+if !exists("vala_ignore_valadoc")
+  syn cluster valaDocCommentGroup      contains=valaDocTags,valaDocSeeTag
+  syn region  valaDocTags              contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}"
+  syn match   valaDocTags              contained "@\(param\|exception\|throws\|since\)\s\+\S\+" contains=valaDocParam
+  syn match   valaDocParam             contained "\s\S\+"
+  syn match   valaDocTags              contained "@\(author\|brief\|version\|return\|deprecated\)\>"
+  syn region  valaDocSeeTag            contained matchgroup=valaDocTags start="@see\s\+" matchgroup=NONE end="\_."re=e-1 contains=valaDocSeeTagParam
+  syn match   valaDocSeeTagParam       contained @"\_[^"]\+"\|<a\s\+\_.\{-}</a>\|\(\k\|\.\)*\(#\k\+\((\_[^)]\+)\)\=\)\=@ extend
+endif
+
+" Comment Strings (ported from c.vim)
+if exists("vala_comment_strings")
+  syn match    valaCommentSkip         contained "^\s*\*\($\|\s\+\)"
+  syn region   valaCommentString       contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=valaSpecialChar,valaCommentSkip
+  syn region   valaComment2String      contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=valaSpecialChar
+  syn cluster  valaCommentStringGroup  contains=valaCommentString,valaCharacter,valaNumber
+
+  syn region   valaCommentL            start="//" end="$" keepend contains=@valaCommentGroup,valaComment2String,valaCharacter,valaNumber,valaSpaceError,@Spell
+  syn region   valaComment             matchgroup=valaCommentStart start="/\*" end="\*/" contains=@valaCommentGroup,@valaCommentStringGroup,valaCommentStartError,valaSpaceError,@Spell extend
+  if !exists("vala_ignore_valadoc")
+    syn region         valaDocComment          matchgroup=valaCommentStart start="/\*\*" end="\*/" keepend contains=@valaCommentGroup,@valaDocCommentGroup,@valaCommentStringGroup,valaCommentStartError,valaSpaceError,@Spell
+  endif
+else
+  syn region   valaCommentL            start="//" end="$" keepend contains=@valaCommentGroup,valaSpaceError,@Spell
+  syn region   valaComment             matchgroup=valaCommentStart start="/\*" end="\*/" contains=@valaCommentGroup,valaCommentStartError,valaSpaceError,@Spell
+  if !exists("vala_ignore_valadoc")
+    syn region         valaDocComment          matchgroup=valaCommentStart start="/\*\*" end="\*/" keepend contains=@valaCommentGroup,@valaDocCommentGroup,valaCommentStartError,valaSpaceError,@Spell
+  endif
+endif
+" match comment errors
+syntax match valaCommentError          display "\*/"
+syntax match valaCommentStartError     display "/\*"me=e-1 contained
+" match the special comment /**/
+syn match   valaComment                        "/\*\*/"
+
+" Vala Code Attributes
+syn region  valaAttribute              start="^\s*\[" end="\]$" contains=valaComment,valaString keepend
+syn region  valaAttribute              start="\[CCode" end="\]" contains=valaComment,valaString
+
+" Avoid escaped keyword matching
+syn match   valaUserContent            display "@\I*"
+
+" Strings and constants
+syn match   valaSpecialError           contained "\\."
+syn match   valaSpecialCharError       contained "[^']"
+syn match   valaSpecialChar            contained +\\["\\'0abfnrtvx]+
+syn region  valaString                 start=+"+  end=+"+ end=+$+ contains=valaSpecialChar,valaSpecialError,valaUnicodeNumber,@Spell
+syn region  valaVerbatimString         start=+"""+ end=+"""+ contains=@Spell
+syn match   valaUnicodeNumber          +\\\(u\x\{4}\|U\x\{8}\)+ contained contains=valaUnicodeSpecifier
+syn match   valaUnicodeSpecifier       +\\[uU]+ contained
+syn match   valaCharacter              "'[^']*'" contains=valaSpecialChar,valaSpecialCharError
+syn match   valaCharacter              "'\\''" contains=valaSpecialChar
+syn match   valaCharacter              "'[^\\]'"
+syn match   valaNumber                 display "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
+syn match   valaNumber                 display "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
+syn match   valaNumber                 display "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
+syn match   valaNumber                 display "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
+
+" when wanted, highlight trailing white space
+if exists("vala_space_errors")
+  if !exists("vala_no_trail_space_error")
+    syn match valaSpaceError           display excludenl "\s\+$"
+  endif
+  if !exists("vala_no_tab_space_error")
+    syn match valaSpaceError           display " \+\t"me=e-1
+  endif
+endif
+
+" when wanted, set minimum lines for comment syntax syncing
+if exists("vala_minlines")
+  let b:vala_minlines = vala_minlines
+else
+  let b:vala_minlines = 50
+endif
+exec "syn sync ccomment valaComment minlines=" . b:vala_minlines
+
+" The default highlighting.
+hi def link valaType                   Type
+hi def link valaStorage                        StorageClass
+hi def link valaRepeat                 Repeat
+hi def link valaConditional            Conditional
+hi def link valaLabel                  Label
+hi def link valaModifier               StorageClass
+hi def link valaConstant               Constant
+hi def link valaException              Exception
+hi def link valaUnspecifiedStatement   Statement
+hi def link valaUnspecifiedKeyword     Keyword
+hi def link valaContextualStatement    Statement
+
+hi def link valaCommentError           Error
+hi def link valaCommentStartError      Error
+hi def link valaSpecialError           Error
+hi def link valaSpecialCharError       Error
+hi def link valaSpaceError             Error
+
+hi def link valaTodo                   Todo
+hi def link valaCommentL               valaComment
+hi def link valaCommentStart           valaComment
+hi def link valaCommentSkip            valaComment
+hi def link valaComment                        Comment
+hi def link valaDocComment             Comment
+hi def link valaDocTags                Special
+hi def link valaDocParam               Function
+hi def link valaDocSeeTagParam                 Function
+hi def link valaAttribute              PreCondit
+
+hi def link valaCommentString          valaString
+hi def link valaComment2String         valaString
+hi def link valaString                 String
+hi def link valaVerbatimString         String
+hi def link valaCharacter              Character
+hi def link valaSpecialChar            SpecialChar
+hi def link valaNumber                 Number
+hi def link valaUnicodeNumber          SpecialChar
+hi def link valaUnicodeSpecifier       SpecialChar
+
+let b:current_syntax = "vala"
+
+let &cpo = s:vala_cpo_save
+unlet s:vala_cpo_save
+
+" vim: ts=8