Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 |
| 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 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 11 | " quit when a syntax file was already loaded |
| 12 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 13 | finish |
| 14 | endif |
| 15 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 16 | setlocal iskeyword=48-57,-,+,A-Z,a-z,_,& |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 17 | |
| 18 | syn region edifList matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber |
| 19 | |
| 20 | " Strings |
| 21 | syn match edifInStringError /%/ contained |
| 22 | syn match edifInString /%\s*\d\+\s*%/ contained |
| 23 | syn region edifString start=/"/ end=/"/ contains=edifInString,edifInStringError contained |
| 24 | |
| 25 | " Numbers |
| 26 | syn match edifNumber "\<[-+]\=[0-9]\+\>" |
| 27 | |
| 28 | " Keywords |
| 29 | syn match edifKeyword "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained |
| 30 | |
| 31 | syn match edifError ")" |
| 32 | |
| 33 | " synchronization |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 34 | syntax sync fromstart |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 35 | |
| 36 | " Define the default highlighting. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 37 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 38 | hi def link edifInString SpecialChar |
| 39 | hi def link edifKeyword Keyword |
| 40 | hi def link edifNumber Number |
| 41 | hi def link edifInStringError edifError |
| 42 | hi def link edifError Error |
| 43 | hi def link edifString String |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 44 | |
| 45 | let b:current_syntax = "edif" |