edif.vim 1.2 KB

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