home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / verilog.vim < prev    next >
Encoding:
Text File  |  2003-05-11  |  4.2 KB  |  114 lines

  1. " Vim syntax file
  2. " Language:    Verilog
  3. " Maintainer:    Mun Johl <mun_johl@sierralogic.com>
  4. " Last Update:  Mon Jun 17 13:00:58 PDT 2002
  5.  
  6. " For version 5.x: Clear all syntax items
  7. " For version 6.x: Quit when a syntax file was already loaded
  8. if version < 600
  9.    syntax clear
  10. elseif exists("b:current_syntax")
  11.    finish
  12. endif
  13.  
  14. " Set the local value of the 'iskeyword' option
  15. if version >= 600
  16.    setlocal iskeyword=@,48-57,_,192-255
  17. else
  18.    set iskeyword=@,48-57,_,192-255
  19. endif
  20.  
  21. " A bunch of useful Verilog keywords
  22. syn keyword verilogStatement   disable assign deassign force release
  23. syn keyword verilogStatement   parameter function endfunction
  24. syn keyword verilogStatement   always initial module endmodule or
  25. syn keyword verilogStatement   task endtask
  26. syn keyword verilogStatement   input output inout reg wire
  27. syn keyword verilogStatement   posedge negedge wait
  28. syn keyword verilogStatement   buf pullup pull0 pull1 pulldown
  29. syn keyword verilogStatement   tri0 tri1 tri trireg
  30. syn keyword verilogStatement   wand wor triand trior
  31. syn keyword verilogStatement   defparam
  32. syn keyword verilogStatement   integer real
  33. syn keyword verilogStatement   time
  34. syn keyword verilogStatement   and bufif0 bufif1 cmos edge event endprimitive
  35. syn keyword verilogStatement   endspecify endtable highz0 highz1 large
  36. syn keyword verilogStatement   macromodule medium nand nmos nor not notif0
  37. syn keyword verilogStatement   notif1 pmos primitive rcmos rnmos rpmos
  38. syn keyword verilogStatement   rtran rtranif0 rtranif1 scalared small specify
  39. syn keyword verilogStatement   specparam strong0 strong1 supply0 supply1
  40. syn keyword verilogStatement   table tran tranif0 tranif1 weak0 weak1
  41. syn keyword verilogStatement   xnor xor
  42. syn keyword verilogLabel       begin end fork join
  43. syn keyword verilogConditional if else case casex casez default endcase
  44. syn keyword verilogRepeat      forever repeat while for
  45.  
  46. syn keyword verilogTodo contained TODO
  47.  
  48. syn match   verilogOperator "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"
  49.  
  50. syn region  verilogComment start="/\*" end="\*/" contains=verilogTodo
  51. syn match   verilogComment "//.*" contains=verilogTodo
  52.  
  53. syn match   verilogGlobal "`[a-zA-Z0-9_]\+\>"
  54. syn match   verilogGlobal "$[a-zA-Z0-9_]\+\>"
  55.  
  56. syn match   verilogConstant "\<[A-Z][A-Z0-9_]\+\>"
  57.  
  58. syn match   verilogNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>"
  59. syn match   verilogNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>"
  60. syn match   verilogNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>"
  61. syn match   verilogNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>"
  62. syn match   verilogNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)\>"
  63.  
  64. syn region  verilogString start=+"+ skip=+\\"+ end=+"+ contains=verilogEscape
  65. syn match   verilogEscape +\\[nt"\\]+ contained
  66. syn match   verilogEscape "\\\o\o\=\o\=" contained
  67.  
  68. " Directives
  69. syn match   verilogDirective   "//\s*synopsys\>.*$"
  70. syn region  verilogDirective   start="/\*\s*synopsys\>" end="\*/"
  71. syn region  verilogDirective   start="//\s*synopsys dc_script_begin\>" end="//\s*synopsys dc_script_end\>"
  72.  
  73. syn match   verilogDirective   "//\s*\$s\>.*$"
  74. syn region  verilogDirective   start="/\*\s*\$s\>" end="\*/"
  75. syn region  verilogDirective   start="//\s*\$s dc_script_begin\>" end="//\s*\$s dc_script_end\>"
  76.  
  77. "Modify the following as needed.  The trade-off is performance versus
  78. "functionality.
  79. syn sync lines=50
  80.  
  81. " Define the default highlighting.
  82. " For version 5.7 and earlier: only when not done already
  83. " For version 5.8 and later: only when an item doesn't have highlighting yet
  84. if version >= 508 || !exists("did_verilog_syn_inits")
  85.    if version < 508
  86.       let did_verilog_syn_inits = 1
  87.       command -nargs=+ HiLink hi link <args>
  88.    else
  89.       command -nargs=+ HiLink hi def link <args>
  90.    endif
  91.  
  92.    " The default highlighting.
  93.    HiLink verilogCharacter     Character
  94.    HiLink verilogConditional     Conditional
  95.    HiLink verilogRepeat         Repeat
  96.    HiLink verilogString         String
  97.    HiLink verilogTodo         Todo
  98.    HiLink verilogComment     Comment
  99.    HiLink verilogConstant     Constant
  100.    HiLink verilogLabel         Label
  101.    HiLink verilogNumber         Number
  102.    HiLink verilogOperator     Special
  103.    HiLink verilogStatement     Statement
  104.    HiLink verilogGlobal         Define
  105.    HiLink verilogDirective     SpecialComment
  106.    HiLink verilogEscape         Special
  107.  
  108.    delcommand HiLink
  109. endif
  110.  
  111. let b:current_syntax = "verilog"
  112.  
  113. " vim: ts=8
  114.