ahdl.vim 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. " Vim syn file
  2. " Language: Altera AHDL
  3. " Maintainer: John Cook <john.cook@kla-tencor.com>
  4. " Last Change: 2001 Apr 25
  5. " quit when a syntax file was already loaded
  6. if exists("b:current_syntax")
  7. finish
  8. endif
  9. "this language is oblivious to case.
  10. syn case ignore
  11. " a bunch of keywords
  12. syn keyword ahdlKeyword assert begin bidir bits buried case clique
  13. syn keyword ahdlKeyword connected_pins constant defaults define design
  14. syn keyword ahdlKeyword device else elsif end for function generate
  15. syn keyword ahdlKeyword gnd help_id if in include input is machine
  16. syn keyword ahdlKeyword node of options others output parameters
  17. syn keyword ahdlKeyword returns states subdesign table then title to
  18. syn keyword ahdlKeyword tri_state_node variable vcc when with
  19. " a bunch of types
  20. syn keyword ahdlIdentifier carry cascade dffe dff exp global
  21. syn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn
  22. syn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x
  23. syn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant
  24. syn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor
  25. syn keyword ahdlMegafunction busmux mux
  26. syn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare
  27. syn keyword ahdlMegafunction lpm_counter lpm_mult
  28. syn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff
  29. syn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io
  30. syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc
  31. syn keyword ahdlTodo contained TODO
  32. " String contstants
  33. syn region ahdlString start=+"+ skip=+\\"+ end=+"+
  34. " valid integer number formats (decimal, binary, octal, hex)
  35. syn match ahdlNumber '\<\d\+\>'
  36. syn match ahdlNumber '\<b"\(0\|1\|x\)\+"'
  37. syn match ahdlNumber '\<\(o\|q\)"\o\+"'
  38. syn match ahdlNumber '\<\(h\|x\)"\x\+"'
  39. " operators
  40. syn match ahdlOperator "[!&#$+\-<>=?:\^]"
  41. syn keyword ahdlOperator not and nand or nor xor xnor
  42. syn keyword ahdlOperator mod div log2 used ceil floor
  43. " one line and multi-line comments
  44. " (define these after ahdlOperator so -- overrides -)
  45. syn match ahdlComment "--.*" contains=ahdlNumber,ahdlTodo
  46. syn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo
  47. " other special characters
  48. syn match ahdlSpecialChar "[\[\]().,;]"
  49. syn sync minlines=1
  50. " Define the default highlighting.
  51. " Only when an item doesn't have highlighting yet
  52. " The default highlighting.
  53. hi def link ahdlNumber ahdlString
  54. hi def link ahdlMegafunction ahdlIdentifier
  55. hi def link ahdlSpecialChar SpecialChar
  56. hi def link ahdlKeyword Statement
  57. hi def link ahdlString String
  58. hi def link ahdlComment Comment
  59. hi def link ahdlIdentifier Identifier
  60. hi def link ahdlOperator Operator
  61. hi def link ahdlTodo Todo
  62. let b:current_syntax = "ahdl"
  63. " vim:ts=8