neovim

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

ahdl.vim (2770B)


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