xref: /vim-8.2.3635/runtime/syntax/edif.vim (revision 89bcfda6)
1" Vim syntax file
2" Language:     EDIF (Electronic Design Interchange Format)
3" Maintainer:   Artem Zankovich <[email protected]>
4" Last Change:  Oct 14, 2002
5"
6" Supported standarts are:
7"   ANSI/EIA Standard 548-1988 (EDIF Version 2 0 0)
8"   IEC 61690-1 (EDIF Version 3 0 0)
9"   IEC 61690-2 (EDIF Version 4 0 0)
10
11" quit when a syntax file was already loaded
12if exists("b:current_syntax")
13  finish
14endif
15
16setlocal iskeyword=48-57,-,+,A-Z,a-z,_,&
17
18syn region	edifList	matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber
19
20" Strings
21syn match       edifInStringError    /%/ contained
22syn match       edifInString    /%\s*\d\+\s*%/ contained
23syn region      edifString      start=/"/ end=/"/ contains=edifInString,edifInStringError contained
24
25" Numbers
26syn match       edifNumber      "\<[-+]\=[0-9]\+\>"
27
28" Keywords
29syn match       edifKeyword     "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained
30
31syn match       edifError       ")"
32
33" synchronization
34syntax sync fromstart
35
36" Define the default highlighting.
37command -nargs=+ HiLink hi def link <args>
38
39HiLink edifInString		SpecialChar
40HiLink edifKeyword		Keyword
41HiLink edifNumber		Number
42HiLink edifInStringError	edifError
43HiLink edifError		Error
44HiLink edifString		String
45delcommand HiLink
46
47let b:current_syntax = "edif"
48