1" Vim syntax file 2" Language: Cyn++ 3" Maintainer: Phil Derrick <phild@forteds.com> 4" Last change: 2001 Sep 02 5" 6" Language Information 7" 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. 13" 14" Cyn++ is designed to be HDL-like. 15" 16" Further information can be found from www.forteds.com 17 18 19 20 21 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 25if version < 600 26 syntax clear 27elseif exists("b:current_syntax") 28 finish 29endif 30 31" Read the Cynlib syntax to start with - this includes the C++ syntax 32if version < 600 33 source <sfile>:p:h/cynlib.vim 34else 35 runtime! syntax/cynlib.vim 36endif 37unlet b:current_syntax 38 39 40 41" Cyn++ extensions 42 43syn keyword cynppMacro Always EndAlways 44syn keyword cynppMacro Module EndModule 45syn keyword cynppMacro Initial EndInitial 46syn keyword cynppMacro Posedge Negedge Changed 47syn keyword cynppMacro At 48syn keyword cynppMacro Thread EndThread 49syn keyword cynppMacro Instantiate 50 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 54if version >= 508 || !exists("did_cynpp_syntax_inits") 55 if version < 508 56 let did_cynpp_syntax_inits = 1 57 command -nargs=+ HiLink hi link <args> 58 else 59 command -nargs=+ HiLink hi def link <args> 60 endif 61 62 HiLink cLabel Label 63 HiLink cynppMacro Statement 64 65 delcommand HiLink 66endif 67 68let b:current_syntax = "cynpp" 69