diff --git a/runtime/syntax/specman.vim b/runtime/syntax/specman.vim
new file mode 100644
index 0000000..3fb77a2
--- /dev/null
+++ b/runtime/syntax/specman.vim
@@ -0,0 +1,182 @@
+" Vim syntax file
+" Language:	SPECMAN E-LANGUAGE
+" Maintainer:	Or Freund <or@mobilian.com ;omf@gmx.co.uk; OrMeir@yahoo.com>
+" Last Update: Wed Oct 24 2001
+
+"---------------------------------------------------------
+"| If anyone found an error or fix the parenthesis part  |
+"| I will be happy to hear about it			 |
+"| Thanks Or.						 |
+"---------------------------------------------------------
+
+" 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
+
+syn keyword  specmanTodo	contained TODO todo ToDo FIXME XXX
+
+syn keyword specmanStatement   var instance on compute start event expect check that routine
+syn keyword specmanStatement   specman is also first only with like
+syn keyword specmanStatement   list of all radix hex dec bin ignore illegal
+syn keyword specmanStatement   traceable untraceable
+syn keyword specmanStatement   cover using count_only trace_only at_least transition item ranges
+syn keyword specmanStatement   cross text call task within
+
+syn keyword specmanMethod      initialize non_terminal testgroup delayed exit finish
+syn keyword specmanMethod      out append print outf appendf
+syn keyword specmanMethod      post_generate pre_generate setup_test finalize_test extract_test
+syn keyword specmanMethod      init run copy as_a set_config dut_error add clear lock quit
+syn keyword specmanMethod      lock unlock release swap quit to_string value stop_run
+syn keyword specmanMethod      crc_8 crc_32 crc_32_flip get_config add0 all_indices and_all
+syn keyword specmanMethod      apply average count delete exists first_index get_indices
+syn keyword specmanMethod      has insert is_a_permutation is_empty key key_exists key_index
+syn keyword specmanMethod      last last_index max max_index max_value min min_index
+syn keyword specmanMethod      min_value or_all pop pop0 push push0 product resize reverse
+syn keyword specmanMethod      sort split sum top top0 unique clear is_all_iterations
+syn keyword specmanMethod      get_enclosing_unit hdl_path exec deep_compare deep_compare_physical
+syn keyword specmanMethod      pack unpack warning error fatal
+syn match   specmanMethod      "size()"
+syn keyword specmanPacking     packing low high
+syn keyword specmanType        locker address
+syn keyword specmanType        body code vec chars
+syn keyword specmanType        integer real bool int long uint byte bits bit time string
+syn keyword specmanType        byte_array external_pointer
+syn keyword specmanBoolean     TRUE FALSE
+syn keyword specmanPreCondit   #ifdef #ifndef #else
+
+syn keyword specmanConditional choose matches
+syn keyword specmanConditional if then else when try
+
+
+
+syn keyword specmanLabel  case casex casez default
+
+syn keyword specmanLogical     and or not xor
+
+syn keyword specmanRepeat      until repeat while for from to step each do break continue
+syn keyword specmanRepeat      before next sequence always -kind network
+syn keyword specmanRepeat      index it me in new return result select
+
+syn keyword specmanTemporal    cycle sample events forever
+syn keyword specmanTemporal    wait  change  negedge rise fall delay sync sim true detach eventually emit
+
+syn keyword specmanConstant    MAX_INT MIN_INT NULL UNDEF
+
+syn keyword specmanDefine       define as computed type extend
+syn keyword specmanDefine       verilog vhdl variable global sys
+syn keyword specmanStructure    struct unit
+syn keyword specmanInclude     import
+syn keyword specmanConstraint  gen keep keeping soft	before
+
+syn keyword specmanSpecial     untyped symtab ECHO DOECHO
+syn keyword specmanFile        files load module ntv source_ref script read write
+syn keyword specmanFSM	       initial idle others posedge clock cycles
+
+
+syn match   specmanOperator    "[&|~><!)(*%@+/=?:;}{,.\^\-\[\]]"
+syn match   specmanOperator    "+="
+syn match   specmanOperator    "-="
+syn match   specmanOperator    "*="
+
+syn match   specmanComment     "//.*"  contains=specmanTodo
+syn match   specmanComment     "--.*"
+syn region  specmanComment     start="^'>"hs=s+2 end="^<'"he=e-2
+
+syn match   specmanHDL	       "'[`.a-zA-Z0-9_@\[\]]\+\>'"
+
+
+syn match   specmanCompare    "=="
+syn match   specmanCompare    "!==="
+syn match   specmanCompare    "==="
+syn match   specmanCompare    "!="
+syn match   specmanCompare    ">="
+syn match   specmanCompare    "<="
+syn match   specmanNumber "[0-9]:[0-9]"
+syn match   specmanNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>"
+syn match   specmanNumber "0[bB]\s*[0-1_xXzZ?]\+\>"
+syn match   specmanNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>"
+syn match   specmanNumber "0[oO]\s*[0-9a-fA-F_xXzZ?]\+\>"
+syn match   specmanNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>"
+syn match   specmanNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>"
+syn match   specmanNumber "0[xX]\s*[0-9a-fA-F_xXzZ?]\+\>"
+syn match   specmanNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)\>"
+
+syn region  specmanString start=+"+  end=+"+
+
+
+
+"**********************************************************************
+" I took this section from c.vim but I didnt succeded to make it work
+" ANY one who dare jumping to this deep watter is more than welocome!
+"**********************************************************************
+""catch errors caused by wrong parenthesis and brackets
+
+"syn cluster     specmanParenGroup     contains=specmanParenError
+"" ,specmanNumbera,specmanComment
+"if exists("specman_no_bracket_error")
+"syn region    specmanParen	     transparent start='(' end=')' contains=ALLBUT,@specmanParenGroup
+"syn match     specmanParenError     ")"
+"syn match     specmanErrInParen     contained "[{}]"
+"else
+"syn region    specmanParen	     transparent start='(' end=')' contains=ALLBUT,@specmanParenGroup,specmanErrInBracket
+"syn match     specmanParenError     "[\])]"
+"syn match     specmanErrInParen     contained "[\]{}]"
+"syn region    specmanBracket	     transparent start='\[' end=']' contains=ALLBUT,@specmanParenGroup,specmanErrInParen
+"syn match     specmanErrInBracket   contained "[);{}]"
+"endif
+"
+
+"Modify the following as needed.  The trade-off is performance versus
+"functionality.
+
+syn sync lines=50
+
+" 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_specman_syn_inits")
+  if version < 508
+    let did_specman_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+  " The default methods for highlighting.  Can be overridden later
+	HiLink	specmanConditional	Conditional
+	HiLink	specmanConstraint	Conditional
+	HiLink	specmanRepeat		Repeat
+	HiLink	specmanString		String
+	HiLink	specmanComment		Comment
+	HiLink	specmanConstant		Macro
+	HiLink	specmanNumber		Number
+	HiLink	specmanCompare		Operator
+	HiLink	specmanOperator		Operator
+	HiLink	specmanLogical		Operator
+	HiLink	specmanStatement	Statement
+	HiLink	specmanHDL		SpecialChar
+	HiLink	specmanMethod		Function
+	HiLink	specmanInclude		Include
+	HiLink	specmanStructure	Structure
+	HiLink	specmanBoolean		Boolean
+	HiLink	specmanFSM		Label
+	HiLink	specmanSpecial		Special
+	HiLink	specmanType		Type
+	HiLink	specmanTemporal		Type
+	HiLink	specmanFile		Include
+	HiLink	specmanPreCondit	Include
+	HiLink	specmanDefine		Typedef
+	HiLink	specmanLabel		Label
+	HiLink	specmanPacking		keyword
+	HiLink	specmanTodo		Todo
+	HiLink	specmanParenError	Error
+	HiLink	specmanErrInParen	Error
+	HiLink	specmanErrInBracket	Error
+	delcommand	HiLink
+endif
+
+let b:current_syntax = "specman"
