diff --git a/runtime/syntax/atlas.vim b/runtime/syntax/atlas.vim
new file mode 100644
index 0000000..b8fe435
--- /dev/null
+++ b/runtime/syntax/atlas.vim
@@ -0,0 +1,98 @@
+" Vim syntax file
+" Language:	ATLAS
+" Maintainer:	Inaki Saez <jisaez@sfe.indra.es>
+" Last Change:	2001 May 09
+
+" 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 case ignore
+
+syn keyword atlasStatement	begin terminate
+syn keyword atlasStatement	fill calculate compare
+syn keyword atlasStatement	setup connect close open disconnect reset
+syn keyword atlasStatement	initiate read fetch
+syn keyword atlasStatement	apply measure verify remove
+syn keyword atlasStatement	perform leave finish output delay
+syn keyword atlasStatement	prepare execute
+syn keyword atlasStatement	do
+syn match atlasStatement	"\<go[	 ]\+to\>"
+syn match atlasStatement	"\<wait[	 ]\+for\>"
+
+syn keyword atlasInclude	include
+syn keyword atlasDefine		define require declare identify
+
+"syn keyword atlasReserved	true false go nogo hi lo via
+syn keyword atlasReserved	true false
+
+syn keyword atlasStorageClass	external global
+
+syn keyword atlasConditional	if then else end
+syn keyword atlasRepeat		while for thru
+
+" Flags BEF and statement number
+syn match atlasSpecial		"^[BE ][ 0-9]\{,6}\>"
+
+" Number formats
+syn match atlasHexNumber	"\<X'[0-9A-F]\+'"
+syn match atlasOctalNumber	"\<O'[0-7]\+'"
+syn match atlasBinNumber	"\<B'[01]\+'"
+syn match atlasNumber		"\<\d\+\>"
+"Floating point number part only
+syn match atlasDecimalNumber	"\.\d\+\([eE][-+]\=\d\)\=\>"
+
+syn region atlasFormatString	start=+((+	end=+\())\)\|\()[	 ]*\$\)+me=e-1
+syn region atlasString		start=+\<C'+	end=+'+   oneline
+
+syn region atlasComment		start=+^C+	end=+\$+
+syn region atlasComment2	start=+\$.\++ms=s+1	end=+$+ oneline
+
+syn match  atlasIdentifier	"'[A-Za-z0-9 ._-]\+'"
+
+"Synchronization with Statement terminator $
+syn sync match atlasTerminator	grouphere atlasComment "^C"
+syn sync match atlasTerminator	groupthere NONE "\$"
+syn sync maxlines=100
+
+
+" 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_atlas_syntax_inits")
+  if version < 508
+    let did_atlas_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink atlasConditional	Conditional
+  HiLink atlasRepeat		Repeat
+  HiLink atlasStatement	Statement
+  HiLink atlasNumber		Number
+  HiLink atlasHexNumber	Number
+  HiLink atlasOctalNumber	Number
+  HiLink atlasBinNumber	Number
+  HiLink atlasDecimalNumber	Float
+  HiLink atlasFormatString	String
+  HiLink atlasString		String
+  HiLink atlasComment		Comment
+  HiLink atlasComment2		Comment
+  HiLink atlasInclude		Include
+  HiLink atlasDefine		Macro
+  HiLink atlasReserved		PreCondit
+  HiLink atlasStorageClass	StorageClass
+  HiLink atlasIdentifier	NONE
+  HiLink atlasSpecial		Special
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "atlas"
+
+" vim: ts=8
