neovim/runtime/syntax/art.vim

51 lines
1.3 KiB
VimL

" Vim syntax file
" Language: ART-IM and ART*Enterprise
" Maintainer: Dorai Sitaram <ds26@gte.com>
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: 2011 Dec 28 by Thilo Six
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
syn keyword artspform => and assert bind
syn keyword artspform declare def-art-fun deffacts defglobal defrule defschema do
syn keyword artspform else for if in$ not or
syn keyword artspform progn retract salience schema test then while
syn match artvariable "?[^ \t";()|&~]\+"
syn match artglobalvar "?\*[^ \t";()|&~]\+\*"
syn match artinstance "![^ \t";()|&~]\+"
syn match delimiter "[()|&~]"
syn region string start=/"/ skip=/\\[\\"]/ end=/"/
syn match number "\<[-+]\=\([0-9]\+\(\.[0-9]*\)\=\|\.[0-9]\+\)\>"
syn match comment ";.*$"
syn match comment "#+:\=ignore" nextgroup=artignore skipwhite skipnl
syn region artignore start="(" end=")" contained contains=artignore,comment
syn region artignore start=/"/ skip=/\\[\\"]/ end=/"/ contained
hi def link artinstance type
hi def link artglobalvar preproc
hi def link artignore comment
hi def link artspform statement
hi def link artvariable function
let b:current_syntax = "art"
let &cpo = s:cpo_save
unlet s:cpo_save