b17bbc976855

vim: add io
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Wed, 16 Mar 2011 10:03:58 -0400
parents ce91d22ff3b7
children ab06b293c69a
branches/tags (none)
files vim/ftdetect/io.vim vim/syntax/io.vim

Changes

--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/ftdetect/io.vim	Wed Mar 16 10:03:58 2011 -0400
@@ -0,0 +1,5 @@
+" Io
+au BufNewFile,BufRead *.io set filetype=io
+
+" Ikefile
+au BufNewFile,BufRead [iI]kefile,*.ike set filetype=io
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/syntax/io.vim	Wed Mar 16 10:03:58 2011 -0400
@@ -0,0 +1,89 @@
+" Vim Syntax File
+" Language:     Io
+" Creator:      Scott Dunlop <swdunlop@verizon.net>
+" Fixes:        Manpreet Singh <junkblocker@yahoo.com>
+"               Jonathan Wright <quaggy@gmail.com>
+"               Erik Garrison <erik.garrison@gmail.com>
+" Last Change:  2006 Nov 16
+
+if version < 600
+    syntax clear
+elseif exists("b:current_syntax")
+    finish
+endif
+
+syntax case match
+
+" equivalent to io-mode-prototype-names in io-mode.el
+syntax keyword ioType Array AudioDevice AudioMixer Block Box Buffer CFunction
+syntax keyword ioType CGI Color Curses DBM DNSResolver DOConnection DOProxy
+syntax keyword ioType DOServer Date Directory Duration DynLib Error Exception
+syntax keyword ioType FFT File Fnmatch Font Future GL GLE GLScissor GLU
+syntax keyword ioType GLUCylinder GLUQuadric GLUSphere GLUT Host Image Importer
+syntax keyword ioType LinkList List Lobby Locals MD5 MP3Decoder MP3Encoder Map
+syntax keyword ioType Message Movie Notification Number Object
+syntax keyword ioType OpenGL Point Protos Regex SGML SGMLElement SGMLParser SQLite Server Sequence
+syntax keyword ioType ShowMessage SleepyCat SleepyCatCursor Socket
+syntax keyword ioType SocketManager Sound Soup Store String Tree UDPSender
+syntax keyword ioType UPDReceiver URL User Warning WeakLink
+syntax keyword ioType true false nil Random BigNum Sequence
+
+" equivalent to io-mode-message-names in io-mode.el
+syntax keyword ioKeyword activate activeCoroCount and asString block break
+syntax keyword ioKeyword catch clone collectGarbage compileString continue
+syntax keyword ioKeyword do doFile doMessage doString else elseif exit for
+syntax keyword ioKeyword foreach forward getSlot getEnvironmentVariable hasSlot if ifFalse
+syntax keyword ioKeyword ifNil ifNilEval ifTrue isActive isNil isResumable list message
+syntax keyword ioKeyword method or parent pass pause perform
+syntax keyword ioKeyword performWithArgList print println proto raise raiseResumable
+syntax keyword ioKeyword removeSlot resend resume return
+syntax keyword ioKeyword schedulerSleepSeconds self sender
+syntax keyword ioKeyword setSchedulerSleepSeconds setSlot shallowCopy
+syntax keyword ioKeyword slotNames super system then thisBlock thisContext
+syntax keyword ioKeyword call try type uniqueId updateSlot wait while
+syntax keyword ioKeyword write yield
+
+syntax region ioOperator start=':' end='='
+syntax region ioOperator start='!' end='='
+syntax region ioOperator start='@' end='@'
+syntax region ioOperator start='@' end='[^@]'he=e-1
+syntax region ioOperator start='?' end='?'
+syntax region ioOperator start='?' end='[^?]'he=e-1
+syntax region ioOperator start=';' end=';'
+syntax region ioOperator start=';' end='[^;]'he=e-1
+syntax region ioOperator start='\.' end='\.'
+syntax region ioOperator start='\.' end='[^\.]'he=e-1
+syntax region ioOperator start='=' end='='
+syntax region ioOperator start='=' end=' 'he=e-1
+syntax region ioOperator start='[*/>=+-]' end='[ 0-9]'he=e-1
+
+syntax region ioString start=/"/ skip=/\\./ end=/"/
+syntax region ioString start=/"""/ skip=/\\./ end=/"""/
+
+syn match   ioHexNumber	"\<0[xX]\x\+[lL]\=\>" display
+syn match   ioHexNumber	"\<0[xX]\>" display
+syn match   ioNumber	"\<\d\+[lLjJ]\=\>" display
+syn match   ioFloat		"\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" display
+syn match   ioFloat		"\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
+syn match   ioFloat		"\<\d\+\.\d*\([eE][+-]\=\d\+\)\=[jJ]\=" display
+
+syn match   ioOctalError	"\<0\o*[89]\d*[lL]\=\>" display
+syn match   ioError	"\<0[xX]\X\+[lL]\=\>" display
+
+syntax region ioComment start='#' end='$' keepend
+syntax region ioComment start=/\/\*/ end=/\*\//
+syntax region ioComment start=/\/\// end=/$/ keepend
+
+highlight link ioType Type
+highlight link ioKeyword Function
+highlight link ioString String
+highlight link ioComment Comment
+highlight link ioOperator Operator
+
+highlight link ioHexNumber Number
+highlight link ioNumber Number
+highlight link ioFloat Float
+highlight link ioOctalError Error
+highlight link ioError Error
+
+let b:current_syntax = "io"
\ No newline at end of file