neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

verilogams.vim (6083B)


      1 " Vim syntax file
      2 " Language:    Verilog-AMS
      3 " Maintainer:  S. Myles Prather <smprather@gmail.com>
      4 "
      5 " Version 1.1  S. Myles Prather <smprather@gmail.com>
      6 "              Moved some keywords to the type category.
      7 "              Added the metrix suffixes to the number matcher.
      8 " Version 1.2  Prasanna Tamhankar <pratam@gmail.com>
      9 "              Minor reserved keyword updates.
     10 " Last Update: Thursday September 15 15:36:03 CST 2005 
     11 
     12 " quit when a syntax file was already loaded
     13 if exists("b:current_syntax")
     14   finish
     15 endif
     16 
     17 " Set the local value of the 'iskeyword' option
     18 setlocal iskeyword=@,48-57,_,192-255
     19 
     20 " Annex B.1 'All keywords'
     21 syn keyword verilogamsStatement above abs absdelay acos acosh ac_stim
     22 syn keyword verilogamsStatement always analog analysis and asin
     23 syn keyword verilogamsStatement asinh assign atan atan2 atanh
     24 syn keyword verilogamsStatement buf bufif0 bufif1 ceil cmos connectmodule
     25 syn keyword verilogamsStatement connectrules cos cosh cross ddt ddx deassign
     26 syn keyword verilogamsStatement defparam disable discipline
     27 syn keyword verilogamsStatement driver_update edge enddiscipline
     28 syn keyword verilogamsStatement endconnectrules endmodule endfunction endgenerate
     29 syn keyword verilogamsStatement endnature endparamset endprimitive endspecify
     30 syn keyword verilogamsStatement endtable endtask event exp final_step
     31 syn keyword verilogamsStatement flicker_noise floor flow force fork
     32 syn keyword verilogamsStatement function generate highz0
     33 syn keyword verilogamsStatement highz1 hypot idt idtmod if ifnone inf initial
     34 syn keyword verilogamsStatement initial_step inout input join
     35 syn keyword verilogamsStatement laplace_nd laplace_np laplace_zd laplace_zp
     36 syn keyword verilogamsStatement large last_crossing limexp ln localparam log
     37 syn keyword verilogamsStatement macromodule max medium min module nand nature
     38 syn keyword verilogamsStatement negedge net_resolution nmos noise_table nor not
     39 syn keyword verilogamsStatement notif0 notif1 or output paramset pmos
     40 syn keyword verilogamsType      parameter real integer electrical input output
     41 syn keyword verilogamsType      inout reg tri tri0 tri1 triand trior trireg
     42 syn keyword verilogamsType      string from exclude aliasparam ground genvar
     43 syn keyword verilogamsType      branch time realtime
     44 syn keyword verilogamsStatement posedge potential pow primitive pull0 pull1
     45 syn keyword verilogamsStatement pullup pulldown rcmos release
     46 syn keyword verilogamsStatement rnmos rpmos rtran rtranif0 rtranif1
     47 syn keyword verilogamsStatement scalared sin sinh slew small specify specparam
     48 syn keyword verilogamsStatement sqrt strong0 strong1 supply0 supply1
     49 syn keyword verilogamsStatement table tan tanh task timer tran tranif0
     50 syn keyword verilogamsStatement tranif1 transition
     51 syn keyword verilogamsStatement vectored wait wand weak0 weak1
     52 syn keyword verilogamsStatement white_noise wire wor wreal xnor xor zi_nd
     53 syn keyword verilogamsStatement zi_np zi_zd zi_zp
     54 syn keyword verilogamsRepeat    forever repeat while for
     55 syn keyword verilogamsLabel     begin end
     56 syn keyword verilogamsConditional if else case casex casez default endcase
     57 syn match   verilogamsConstant  ":inf"lc=1
     58 syn match   verilogamsConstant  "-inf"lc=1
     59 " Annex B.2 Discipline/nature
     60 syn keyword verilogamsStatement abstol access continuous ddt_nature discrete
     61 syn keyword verilogamsStatement domain idt_nature units 
     62 " Annex B.3 Connect Rules
     63 syn keyword verilogamsStatement connect merged resolveto split
     64 
     65 syn match   verilogamsOperator  "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"
     66 syn match   verilogamsOperator  "<+"
     67 syn match   verilogamsStatement "[vV]("me=e-1
     68 syn match   verilogamsStatement "[iI]("me=e-1
     69 
     70 syn keyword verilogamsTodo contained TODO
     71 syn region  verilogamsComment start="/\*" end="\*/" contains=verilogamsTodo
     72 syn match   verilogamsComment "//.*" contains=verilogamsTodo
     73 
     74 syn match verilogamsGlobal "`celldefine"
     75 syn match verilogamsGlobal "`default_nettype"
     76 syn match verilogamsGlobal "`define"
     77 syn match verilogamsGlobal "`else"
     78 syn match verilogamsGlobal "`elsif"
     79 syn match verilogamsGlobal "`endcelldefine"
     80 syn match verilogamsGlobal "`endif"
     81 syn match verilogamsGlobal "`ifdef"
     82 syn match verilogamsGlobal "`ifndef"
     83 syn match verilogamsGlobal "`include"
     84 syn match verilogamsGlobal "`line"
     85 syn match verilogamsGlobal "`nounconnected_drive"
     86 syn match verilogamsGlobal "`resetall"
     87 syn match verilogamsGlobal "`timescale"
     88 syn match verilogamsGlobal "`unconnected_drive"
     89 syn match verilogamsGlobal "`undef"
     90 syn match verilogamsSystask "$[a-zA-Z0-9_]\+\>"
     91 
     92 syn match verilogamsConstant "\<[A-Z][A-Z0-9_]\+\>"
     93 
     94 syn match   verilogamsNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>"
     95 syn match   verilogamsNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>"
     96 syn match   verilogamsNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>"
     97 syn match   verilogamsNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>"
     98 syn match   verilogamsNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)[TGMKkmunpfa]\=\>"
     99 
    100 syn region  verilogamsString start=+"+ skip=+\\"+ end=+"+ contains=verilogamsEscape
    101 syn match   verilogamsEscape +\\[nt"\\]+ contained
    102 syn match   verilogamsEscape "\\\o\o\=\o\=" contained
    103 
    104 "Modify the following as needed.  The trade-off is performance versus
    105 "functionality.
    106 syn sync lines=50
    107 
    108 " Define the default highlighting.
    109 " Only when an item doesn't have highlighting yet
    110 
    111 " The default highlighting.
    112 hi def link verilogamsCharacter    Character
    113 hi def link verilogamsConditional  Conditional
    114 hi def link verilogamsRepeat       Repeat
    115 hi def link verilogamsString       String
    116 hi def link verilogamsTodo         Todo
    117 hi def link verilogamsComment      Comment
    118 hi def link verilogamsConstant     Constant
    119 hi def link verilogamsLabel        Label
    120 hi def link verilogamsNumber       Number
    121 hi def link verilogamsOperator     Special
    122 hi def link verilogamsStatement    Statement
    123 hi def link verilogamsGlobal       Define
    124 hi def link verilogamsDirective    SpecialComment
    125 hi def link verilogamsEscape       Special
    126 hi def link verilogamsType         Type
    127 hi def link verilogamsSystask      Function
    128 
    129 
    130 let b:current_syntax = "verilogams"
    131 
    132 " vim: ts=8