Skip to content

Commit

Permalink
add syntax file for io
Browse files Browse the repository at this point in the history
  • Loading branch information
lilydjwg committed Dec 31, 2012
1 parent 8eedb7e commit 9347da1
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 0 deletions.
1 change: 1 addition & 0 deletions filetype.vim
Expand Up @@ -52,4 +52,5 @@ augroup filetypedetect
au BufNewFile,BufRead *.pxi setf pyrex
au BufRead $HOME/.cabal/config setf cabal
au BufNewFile,BufRead *.stp setf stap
au BufNewFile,BufRead *.io setf io
augroup END
4 changes: 4 additions & 0 deletions scripts.vim
Expand Up @@ -26,3 +26,7 @@ if getline(1) =~ '^#!\s*/usr/bin/sage\s\+-python'
setfiletype python
finish
endif
if getline(1) =~ '^#!.*\<io'
setfiletype io
finish
endif
67 changes: 67 additions & 0 deletions syntax/io.vim
@@ -0,0 +1,67 @@
" 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 xType Array AudioDevice AudioMixer Block Box Buffer CFunction
syntax keyword xType CGI Color Curses DBM DNSResolver DOConnection DOProxy
syntax keyword xType DOServer Date Directory Duration DynLib Error Exception
syntax keyword xType FFT File Fnmatch Font Future GL GLE GLScissor GLU
syntax keyword xType GLUCylinder GLUQuadric GLUSphere GLUT Host Image Importer
syntax keyword xType LinkList List Lobby Locals MD5 MP3Decoder MP3Encoder Map
syntax keyword xType Message Movie Notification Number Object
syntax keyword xType OpenGL Point Protos Regex SGML SGMLElement SGMLParser SQLite Server Sequence
syntax keyword xType ShowMessage SleepyCat SleepyCatCursor Socket
syntax keyword xType SocketManager Sound Soup Store String Tree UDPSender
syntax keyword xType UPDReceiver URL User Warning WeakLink
syntax keyword xType true false nil Random BigNum Sequence

" equivalent to io-mode-message-names in io-mode.el
syntax keyword xKeyword activate activeCoroCount and asString block break
syntax keyword xKeyword catch clone collectGarbage compileString continue
syntax keyword xKeyword do doFile doMessage doString else elseif exit for
syntax keyword xKeyword foreach forward getSlot getenv hasSlot if ifFalse
syntax keyword xKeyword ifNil ifNilEval ifTrue isActive isNil isResumable list message
syntax keyword xKeyword method or parent pass pause perform
syntax keyword xKeyword performWithArgList print println proto raise raiseResumable
syntax keyword xKeyword removeSlot resend resume return
syntax keyword xKeyword schedulerSleepSeconds self sender
syntax keyword xKeyword setSchedulerSleepSeconds setSlot shallowCopy
syntax keyword xKeyword slotNames super system then thisBlock thisContext
syntax keyword xKeyword call try type uniqueId updateSlot wait while
syntax keyword xKeyword write yield

syntax region xOperator start=':' end='='
syntax region xOperator start='!' end='='
syntax region xOperator start='\.' end='\.'
syntax region xOperator start='\.' end='[^\.]'he=e-1
syntax region xOperator start='=' end='='
syntax region xOperator start='=' end=' 'he=e-1
syntax region xOperator start='[*>=+-]' end='[ 0-9]'he=e-1

syntax region xString start=/"/ skip=/\\./ end=/"/
syntax region xString start=/"""/ skip=/\\./ end=/"""/

syntax region xComment start='#' end='$' keepend
syntax region xComment start=/\/\*/ end=/\*\//
syntax region xComment start=/\/\// end=/$/ keepend

highlight link xType Type
highlight link xKeyword Keyword
highlight link xString String
highlight link xComment Comment
highlight link xOperator Operator

let b:current_syntax = "io"

0 comments on commit 9347da1

Please sign in to comment.