blob: a9985074d68446fd978ec4b1e953642cf683b08b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Cynlib(C++)
3" Maintainer: Phil Derrick <phild@forteds.com>
4" Last change: 2001 Sep 02
5" URL http://www.derrickp.freeserve.co.uk/vim/syntax/cynlib.vim
6"
7" Language Information
8"
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" Further information can be found from www.forteds.com
15
16
17" Remove any old syntax stuff hanging around
18" For version 5.x: Clear all syntax items
19" For version 6.x: Quit when a syntax file was already loaded
20if version < 600
21 syntax clear
22elseif exists("b:current_syntax")
23 finish
24endif
25
26
27
28" Read the C++ syntax to start with - this includes the C syntax
29if version < 600
30 source <sfile>:p:h/cpp.vim
31else
32 runtime! syntax/cpp.vim
33endif
34unlet b:current_syntax
35
36" Cynlib extensions
37
38syn keyword cynlibMacro Default CYNSCON
39syn keyword cynlibMacro Case CaseX EndCaseX
40syn keyword cynlibType CynData CynSignedData CynTime
41syn keyword cynlibType In Out InST OutST
42syn keyword cynlibType Struct
43syn keyword cynlibType Int Uint Const
44syn keyword cynlibType Long Ulong
45syn keyword cynlibType OneHot
46syn keyword cynlibType CynClock Cynclock0
47syn keyword cynlibFunction time configure my_name
48syn keyword cynlibFunction CynModule epilog execute_on
49syn keyword cynlibFunction my_name
50syn keyword cynlibFunction CynBind bind
51syn keyword cynlibFunction CynWait CynEvent
52syn keyword cynlibFunction CynSetName
53syn keyword cynlibFunction CynTick CynRun
54syn keyword cynlibFunction CynFinish
55syn keyword cynlibFunction Cynprintf CynSimTime
56syn keyword cynlibFunction CynVcdFile
57syn keyword cynlibFunction CynVcdAdd CynVcdRemove
58syn keyword cynlibFunction CynVcdOn CynVcdOff
59syn keyword cynlibFunction CynVcdScale
60syn keyword cynlibFunction CynBgnName CynEndName
61syn keyword cynlibFunction CynClock configure time
62syn keyword cynlibFunction CynRedAnd CynRedNand
63syn keyword cynlibFunction CynRedOr CynRedNor
64syn keyword cynlibFunction CynRedXor CynRedXnor
65syn keyword cynlibFunction CynVerify
66
67
68syn match cynlibOperator "<<="
69syn keyword cynlibType In Out InST OutST Int Uint Const Cynclock
70
71" Define the default highlighting.
72" For version 5.7 and earlier: only when not done already
73" For version 5.8 and later: only when an item doesn't have highlighting yet
74if version >= 508 || !exists("did_cynlib_syntax_inits")
75 if version < 508
76 let did_cynlib_syntax_inits = 1
77 command -nargs=+ HiLink hi link <args>
78 else
79 command -nargs=+ HiLink hi def link <args>
80 endif
81
82 HiLink cynlibOperator Operator
83 HiLink cynlibMacro Statement
84 HiLink cynlibFunction Statement
85 HiLink cynlibppMacro Statement
86 HiLink cynlibType Type
87
88 delcommand HiLink
89endif
90
91let b:current_syntax = "cynlib"