Merge branch 'vim-with-runtime' into feat/quickfix-title
[vim_extended.git] / runtime / syntax / edif.vim
blob0c17834947bf09bb8e3c74abdb337657eb4c5f72
1 " Vim syntax file
2 " Language:     EDIF (Electronic Design Interchange Format)
3 " Maintainer:   Artem Zankovich <z_artem@hotbox.ru>
4 " Last Change:  Oct 14, 2002
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)
11 " Quit when a syntax file was already loaded
12 if version < 600
13   syntax clear
14 elseif exists("b:current_syntax")
15   finish
16 endif
18 if version >= 600
19  setlocal iskeyword=48-57,-,+,A-Z,a-z,_,&
20 else
21  set iskeyword=A-Z,a-z,_,&
22 endif
24 syn region      edifList        matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber
26 " Strings
27 syn match       edifInStringError    /%/ contained
28 syn match       edifInString    /%\s*\d\+\s*%/ contained
29 syn region      edifString      start=/"/ end=/"/ contains=edifInString,edifInStringError contained
31 " Numbers
32 syn match       edifNumber      "\<[-+]\=[0-9]\+\>"
34 " Keywords
35 syn match       edifKeyword     "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained
37 syn match       edifError       ")"
39 " synchronization
40 if version < 600
41   syntax sync maxlines=250
42 else
43   syntax sync fromstart
44 endif
46 " Define the default highlighting.
47 if 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
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
62 endif
64 let b:current_syntax = "edif"