updated for version 7.0001
diff --git a/runtime/syntax/abel.vim b/runtime/syntax/abel.vim
new file mode 100644
index 0000000..fde9be3
--- /dev/null
+++ b/runtime/syntax/abel.vim
@@ -0,0 +1,167 @@
+" Vim syntax file
+" Language:	ABEL
+" Maintainer:	John Cook <john.cook@kla-tencor.com>
+" Last Change:	2001 Sep 2
+
+" 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
+
+" this language is oblivious to case
+syn case ignore
+
+" A bunch of keywords
+syn keyword abelHeader		module title device options
+syn keyword abelSection		declarations equations test_vectors end
+syn keyword abelDeclaration	state truth_table state_diagram property
+syn keyword abelType		pin node attribute constant macro library
+
+syn keyword abelTypeId		com reg neg pos buffer dc reg_d reg_t contained
+syn keyword abelTypeId		reg_sr reg_jk reg_g retain xor invert contained
+
+syn keyword abelStatement	when then else if with endwith case endcase
+syn keyword abelStatement	fuses expr trace
+
+" option to omit obsolete statements
+if exists("abel_obsolete_ok")
+  syn keyword abelStatement enable flag in
+else
+  syn keyword abelError enable flag in
+endif
+
+" directives
+syn match abelDirective "@alternate"
+syn match abelDirective "@standard"
+syn match abelDirective "@const"
+syn match abelDirective "@dcset"
+syn match abelDirective "@include"
+syn match abelDirective "@page"
+syn match abelDirective "@radix"
+syn match abelDirective "@repeat"
+syn match abelDirective "@irp"
+syn match abelDirective "@expr"
+syn match abelDirective "@if"
+syn match abelDirective "@ifb"
+syn match abelDirective "@ifnb"
+syn match abelDirective "@ifdef"
+syn match abelDirective "@ifndef"
+syn match abelDirective "@ifiden"
+syn match abelDirective "@ifniden"
+
+syn keyword abelTodo contained TODO XXX FIXME
+
+" wrap up type identifiers to differentiate them from normal strings
+syn region abelSpecifier start='istype' end=';' contains=abelTypeIdChar,abelTypeId,abelTypeIdEnd keepend
+syn match  abelTypeIdChar "[,']" contained
+syn match  abelTypeIdEnd  ";" contained
+
+" string contstants and special characters within them
+syn match  abelSpecial contained "\\['\\]"
+syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial
+
+" valid integer number formats (decimal, binary, octal, hex)
+syn match abelNumber "\<[-+]\=[0-9]\+\>"
+syn match abelNumber "\^d[0-9]\+\>"
+syn match abelNumber "\^b[01]\+\>"
+syn match abelNumber "\^o[0-7]\+\>"
+syn match abelNumber "\^h[0-9a-f]\+\>"
+
+" special characters
+" (define these after abelOperator so ?= overrides ?)
+syn match abelSpecialChar "[\[\](){},;:?]"
+
+" operators
+syn match abelLogicalOperator "[!#&$]"
+syn match abelRangeOperator "\.\."
+syn match abelAlternateOperator "[/*+]"
+syn match abelAlternateOperator ":[+*]:"
+syn match abelArithmeticOperator "[-%]"
+syn match abelArithmeticOperator "<<"
+syn match abelArithmeticOperator ">>"
+syn match abelRelationalOperator "[<>!=]="
+syn match abelRelationalOperator "[<>]"
+syn match abelAssignmentOperator "[:?]\=="
+syn match abelAssignmentOperator "?:="
+syn match abelTruthTableOperator "->"
+
+" signal extensions
+syn match abelExtension "\.aclr\>"
+syn match abelExtension "\.aset\>"
+syn match abelExtension "\.clk\>"
+syn match abelExtension "\.clr\>"
+syn match abelExtension "\.com\>"
+syn match abelExtension "\.fb\>"
+syn match abelExtension "\.[co]e\>"
+syn match abelExtension "\.l[eh]\>"
+syn match abelExtension "\.fc\>"
+syn match abelExtension "\.pin\>"
+syn match abelExtension "\.set\>"
+syn match abelExtension "\.[djksrtq]\>"
+syn match abelExtension "\.pr\>"
+syn match abelExtension "\.re\>"
+syn match abelExtension "\.a[pr]\>"
+syn match abelExtension "\.s[pr]\>"
+
+" special constants
+syn match abelConstant "\.[ckudfpxz]\."
+syn match abelConstant "\.sv[2-9]\."
+
+" one-line comments
+syn region abelComment start=+"+ end=+"\|$+ contains=abelNumber,abelTodo
+" option to prevent C++ style comments
+if !exists("abel_cpp_comments_illegal")
+  syn region abelComment start=+//+ end=+$+ contains=abelNumber,abelTodo
+endif
+
+syn sync minlines=1
+
+" 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_abel_syn_inits")
+  if version < 508
+    let did_abel_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " The default highlighting.
+  HiLink abelHeader		abelStatement
+  HiLink abelSection		abelStatement
+  HiLink abelDeclaration	abelStatement
+  HiLink abelLogicalOperator	abelOperator
+  HiLink abelRangeOperator	abelOperator
+  HiLink abelAlternateOperator	abelOperator
+  HiLink abelArithmeticOperator	abelOperator
+  HiLink abelRelationalOperator	abelOperator
+  HiLink abelAssignmentOperator	abelOperator
+  HiLink abelTruthTableOperator	abelOperator
+  HiLink abelSpecifier		abelStatement
+  HiLink abelOperator		abelStatement
+  HiLink abelStatement		Statement
+  HiLink abelIdentifier		Identifier
+  HiLink abelTypeId		abelType
+  HiLink abelTypeIdChar		abelType
+  HiLink abelType		Type
+  HiLink abelNumber		abelString
+  HiLink abelString		String
+  HiLink abelConstant		Constant
+  HiLink abelComment		Comment
+  HiLink abelExtension		abelSpecial
+  HiLink abelSpecialChar	abelSpecial
+  HiLink abelTypeIdEnd		abelSpecial
+  HiLink abelSpecial		Special
+  HiLink abelDirective		PreProc
+  HiLink abelTodo		Todo
+  HiLink abelError		Error
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "abel"
+" vim:ts=8