blob: 0c17834947bf09bb8e3c74abdb337657eb4c5f72 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: EDIF (Electronic Design Interchange Format)
3" Maintainer: Artem Zankovich <z_artem@hotbox.ru>
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 version < 600
13 syntax clear
14elseif exists("b:current_syntax")
15 finish
16endif
17
18if version >= 600
19 setlocal iskeyword=48-57,-,+,A-Z,a-z,_,&
20else
21 set iskeyword=A-Z,a-z,_,&
22endif
23
24syn region edifList matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber
25
26" Strings
27syn match edifInStringError /%/ contained
28syn match edifInString /%\s*\d\+\s*%/ contained
29syn region edifString start=/"/ end=/"/ contains=edifInString,edifInStringError contained
30
31" Numbers
32syn match edifNumber "\<[-+]\=[0-9]\+\>"
33
34" Keywords
35syn match edifKeyword "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained
36
37syn match edifError ")"
38
39" synchronization
40if version < 600
41 syntax sync maxlines=250
42else
43 syntax sync fromstart
44endif
45
46" Define the default highlighting.
47if version >= 508 || !exists("did_edif_syntax_inits")
48 if version < 508
49 let did_edif_syntax_inits = 1
50 command -nargs=+ HiLink hi link <args>
51 else
52 command -nargs=+ HiLink hi def link <args>
53 endif
54
55 HiLink edifInString SpecialChar
56 HiLink edifKeyword Keyword
57 HiLink edifNumber Number
58 HiLink edifInStringError edifError
59 HiLink edifError Error
60 HiLink edifString String
61 delcommand HiLink
62endif
63
64let b:current_syntax = "edif"