3 " Maintainer: Phil Derrick <phild@forteds.com>
4 " Last change: 2001 May 10
8 " Cynpp (Cyn++) is a macro language to ease coding in Cynlib.
9 " Cynlib is a library of C++ classes to allow hardware
10 " modelling in C++. Combined with a simulation kernel,
11 " the compiled and linked executable forms a hardware
12 " simulation of the described design.
14 " Cyn++ is designed to be HDL-like.
16 " Further information can be found from www.forteds.com
22 " Remove any old syntax stuff hanging around
23 " For version 5.x: Clear all syntax items
24 " For version 6.x: Quit when a syntax file was already loaded
27 elseif exists("b:current_syntax")
31 " Read the Cynlib syntax to start with - this includes the C++ syntax
33 source <sfile>:p:h/cynlib.vim
35 runtime! syntax/cynlib.vim
37 unlet b:current_syntax
43 syn keyword cynppMacro Always EndAlways
44 syn keyword cynppMacro Module EndModule
45 syn keyword cynppMacro Initial EndInitial
46 syn keyword cynppMacro Posedge Negedge Changed
47 syn keyword cynppMacro At
48 syn keyword cynppMacro Thread EndThread
49 syn keyword cynppMacro Instantiate
51 " Define the default highlighting.
52 " For version 5.7 and earlier: only when not done already
53 " For version 5.8 and later: only when an item doesn't have highlighting yet
54 if version >= 508 || !exists("did_cynpp_syntax_inits")
56 let did_cynpp_syntax_inits = 1
57 command -nargs=+ HiLink hi link <args>
59 command -nargs=+ HiLink hi def link <args>
63 HiLink cynppMacro Statement
68 let b:current_syntax = "cynpp"