diff --git a/runtime/syntax/cynlib.vim b/runtime/syntax/cynlib.vim
new file mode 100644
index 0000000..a998507
--- /dev/null
+++ b/runtime/syntax/cynlib.vim
@@ -0,0 +1,91 @@
+" Vim syntax file
+" Language:     Cynlib(C++)
+" Maintainer:   Phil Derrick <phild@forteds.com>
+" Last change:  2001 Sep 02
+" URL http://www.derrickp.freeserve.co.uk/vim/syntax/cynlib.vim
+"
+" Language Information
+"
+"		Cynlib is a library of C++ classes to allow hardware
+"		modelling in C++. Combined with a simulation kernel,
+"		the compiled and linked executable forms a hardware
+"		simulation of the described design.
+"
+"		Further information can be found from www.forteds.com
+
+
+" Remove any old syntax stuff hanging around
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+
+
+" Read the C++ syntax to start with - this includes the C syntax
+if version < 600
+  source <sfile>:p:h/cpp.vim
+else
+  runtime! syntax/cpp.vim
+endif
+unlet b:current_syntax
+
+" Cynlib extensions
+
+syn keyword	cynlibMacro	   Default CYNSCON
+syn keyword	cynlibMacro	   Case CaseX EndCaseX
+syn keyword	cynlibType	   CynData CynSignedData CynTime
+syn keyword	cynlibType	   In Out InST OutST
+syn keyword	cynlibType	   Struct
+syn keyword	cynlibType	   Int Uint Const
+syn keyword	cynlibType	   Long Ulong
+syn keyword	cynlibType	   OneHot
+syn keyword	cynlibType	   CynClock Cynclock0
+syn keyword     cynlibFunction     time configure my_name
+syn keyword     cynlibFunction     CynModule epilog execute_on
+syn keyword     cynlibFunction     my_name
+syn keyword     cynlibFunction     CynBind bind
+syn keyword     cynlibFunction     CynWait CynEvent
+syn keyword     cynlibFunction     CynSetName
+syn keyword     cynlibFunction     CynTick CynRun
+syn keyword     cynlibFunction     CynFinish
+syn keyword     cynlibFunction     Cynprintf CynSimTime
+syn keyword     cynlibFunction     CynVcdFile
+syn keyword     cynlibFunction     CynVcdAdd CynVcdRemove
+syn keyword     cynlibFunction     CynVcdOn CynVcdOff
+syn keyword     cynlibFunction     CynVcdScale
+syn keyword     cynlibFunction     CynBgnName CynEndName
+syn keyword     cynlibFunction     CynClock configure time
+syn keyword     cynlibFunction     CynRedAnd CynRedNand
+syn keyword     cynlibFunction     CynRedOr CynRedNor
+syn keyword     cynlibFunction     CynRedXor CynRedXnor
+syn keyword     cynlibFunction     CynVerify
+
+
+syn match       cynlibOperator     "<<="
+syn keyword	cynlibType	   In Out InST OutST Int Uint Const Cynclock
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_cynlib_syntax_inits")
+  if version < 508
+    let did_cynlib_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink cynlibOperator   Operator
+  HiLink cynlibMacro      Statement
+  HiLink cynlibFunction   Statement
+  HiLink cynlibppMacro      Statement
+  HiLink cynlibType       Type
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "cynlib"
