updated for version 7.0158
diff --git a/runtime/syntax/lisp.vim b/runtime/syntax/lisp.vim
index e47f0a1..61792d1 100644
--- a/runtime/syntax/lisp.vim
+++ b/runtime/syntax/lisp.vim
@@ -2,19 +2,13 @@
" Language: Lisp
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Oct 12, 2005
-" Version: 16
+" 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
-"
-" Options:
-" g:lisp_instring : if it exists, then "(...") strings are highlighted
-" as if the contents were lisp. Useful for AutoLisp.
-" Put
-" let g:lisp_instring=1
-" into your <.vimrc> if you want this option.
+" ---------------------------------------------------------------------
" 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
@@ -30,6 +24,7 @@
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
@@ -39,6 +34,7 @@
syn cluster lispListCluster contains=@lispBaseListCluster,lispString
endif
+" ---------------------------------------------------------------------
" Lists: {{{1
syn match lispSymbol contained ![^()'`,"; \t]\+!
syn match lispBarSymbol contained !|..\{-}|!
@@ -58,6 +54,7 @@
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
@@ -68,6 +65,7 @@
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
@@ -386,6 +384,7 @@
syn match lispFunc "\<c[ad]\+r\>"
+" ---------------------------------------------------------------------
" Lisp Keywords (modifiers): {{{1
syn keyword lispKey :abort :from-end :overwrite
syn keyword lispKey :adjustable :gensym :predicate
@@ -414,6 +413,7 @@
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*
@@ -434,6 +434,7 @@
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")
@@ -441,6 +442,7 @@
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
@@ -448,6 +450,7 @@
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\+\)\="
@@ -463,6 +466,7 @@
syn match lispConcat "\s\.\s"
syn match lispParenError ")"
+" ---------------------------------------------------------------------
" Comments: {{{1
syn cluster lispCommentGroup contains=lispTodo,@Spell
syn match lispComment ";.*$" contains=@lispCommentGroup
@@ -471,19 +475,16 @@
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 || !exists("did_lisp_syntax_inits")
- if version < 508
- let did_lisp_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
+if version >= 508
+ command -nargs=+ HiLink hi def link <args>
HiLink lispCommentRegion lispComment
HiLink lispAtomNmbr lispNumber
@@ -508,27 +509,27 @@
if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
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
+ hi def hlLevel0 ctermfg=red guifg=red1
+ hi def hlLevel1 ctermfg=yellow 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 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
+ 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
@@ -537,4 +538,5 @@
let b:current_syntax = "lisp"
+" ---------------------------------------------------------------------
" vim: ts=8 nowrap fdm=marker