xref: /vim-8.2.3635/runtime/syntax/art.vim (revision b6b046b2)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:      ART-IM and ART*Enterprise
3071d4279SBram Moolenaar" Maintainer:    Dorai Sitaram <[email protected]>
4071d4279SBram Moolenaar" URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
5*b6b046b2SBram Moolenaar" Last Change:   2011 Dec 28 by Thilo Six
6071d4279SBram Moolenaar
7071d4279SBram Moolenaarif exists("b:current_syntax")
8071d4279SBram Moolenaar  finish
9071d4279SBram Moolenaarendif
10071d4279SBram Moolenaar
11*b6b046b2SBram Moolenaarlet s:cpo_save = &cpo
12*b6b046b2SBram Moolenaarset cpo&vim
13*b6b046b2SBram Moolenaar
14071d4279SBram Moolenaarsyn case ignore
15071d4279SBram Moolenaar
16071d4279SBram Moolenaarsyn keyword artspform => and assert bind
17071d4279SBram Moolenaarsyn keyword artspform declare def-art-fun deffacts defglobal defrule defschema do
18071d4279SBram Moolenaarsyn keyword artspform else for if in$ not or
19071d4279SBram Moolenaarsyn keyword artspform progn retract salience schema test then while
20071d4279SBram Moolenaar
21071d4279SBram Moolenaarsyn match artvariable "?[^ \t";()|&~]\+"
22071d4279SBram Moolenaar
23071d4279SBram Moolenaarsyn match artglobalvar "?\*[^ \t";()|&~]\+\*"
24071d4279SBram Moolenaar
25071d4279SBram Moolenaarsyn match artinstance "![^ \t";()|&~]\+"
26071d4279SBram Moolenaar
27071d4279SBram Moolenaarsyn match delimiter "[()|&~]"
28071d4279SBram Moolenaar
29071d4279SBram Moolenaarsyn region string start=/"/ skip=/\\[\\"]/ end=/"/
30071d4279SBram Moolenaar
31071d4279SBram Moolenaarsyn match number "\<[-+]\=\([0-9]\+\(\.[0-9]*\)\=\|\.[0-9]\+\)\>"
32071d4279SBram Moolenaar
33071d4279SBram Moolenaarsyn match comment ";.*$"
34071d4279SBram Moolenaar
35071d4279SBram Moolenaarsyn match comment "#+:\=ignore" nextgroup=artignore skipwhite skipnl
36071d4279SBram Moolenaar
37071d4279SBram Moolenaarsyn region artignore start="(" end=")" contained contains=artignore,comment
38071d4279SBram Moolenaar
39071d4279SBram Moolenaarsyn region artignore start=/"/ skip=/\\[\\"]/ end=/"/ contained
40071d4279SBram Moolenaar
41071d4279SBram Moolenaarhi def link artinstance type
42071d4279SBram Moolenaarhi def link artglobalvar preproc
43071d4279SBram Moolenaarhi def link artignore comment
44071d4279SBram Moolenaarhi def link artspform statement
45071d4279SBram Moolenaarhi def link artvariable function
46071d4279SBram Moolenaar
47071d4279SBram Moolenaarlet b:current_syntax = "art"
48*b6b046b2SBram Moolenaar
49*b6b046b2SBram Moolenaarlet &cpo = s:cpo_save
50*b6b046b2SBram Moolenaarunlet s:cpo_save
51