diff interps/c-intercal/etc/intercal.vim @ 996:859f9b4339e6

<Gregor> tar xf egobot.tar.xz
author HackBot
date Sun, 09 Dec 2012 19:30:08 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/interps/c-intercal/etc/intercal.vim	Sun Dec 09 19:30:08 2012 +0000
@@ -0,0 +1,116 @@
+" Vim syntax file
+" Language:	INTERCAL
+" Maintainer:	Stefan O'Rear <stefanor@cox.net>
+" Last Change:	2008 Nov 29
+" Remark:	Use the Power of Vim to turn your INTERCAL programs into angry
+"               fruit salad.
+"
+" How to use this:
+" * Put levdes.vim (this file) under ~/.vim/syntax (or similar directory for
+"   your system - usually C:\Program Files\Vim\vimfiles\syntax on Windows).
+" * In your .vimrc, add this line: 
+"     au BufRead,BufNewFile *.i set syntax=intercal
+" Thereafter, any .i files you edit in (g)vim will use syntax highlighting.
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+if !exists("main_syntax")
+  let main_syntax = 'ick'
+endif
+
+
+syn match ickIdentifier /DO\|PLEASE/
+
+syn region ickComment start=/\(PLEASE\s*DO\s*\|PLEASE\s*\|DO\s*\|\)N\s*['O]\s*T/ end=/\(([ 	0-9]*[0-9])\s*\)\?\(DO\|PLEASE\)/me=s-1
+
+syn match ickKeyword       /F\s*O\s*R\s*G\s*E\s*T/
+syn match ickKeyword       /G\s*I\s*V\s*E\s*U\s*P/
+syn match ickKeyword       /I\s*G\s*N\s*O\s*R\s*E/
+syn match ickKeyword       /N\s*E\s*X\s*T/
+syn match ickKeyword       /R\s*E\s*I\s*N\s*S\s*T\s*A\s*T\s*E/
+syn match ickKeyword       /R\s*E\s*M\s*E\s*M\s*B\s*E\s*R/
+syn match ickKeyword       /R\s*E\s*S\s*U\s*M\s*E/
+syn match ickKeyword       /R\s*E\s*T\s*R\s*I\s*E\s*V\s*E/
+syn match ickKeyword       /S\s*T\s*A\s*S\s*H/
+syn match ickKeyword       /W\s*R\s*I\s*T\s*E\s*I\s*N/
+syn match ickKeywordAIS    /A\s*G\s*A\s*I\s*N/
+syn match ickKeywordAIS    /G\s*O\s*A\s*H\s*E\s*A\s*D/
+syn match ickKeywordAIS    /G\s*O\s*B\s*A\s*C\s*K/
+syn match ickKeywordAIS    /M\s*A\s*Y\s*B\s*E/
+syn match ickKeywordAIS    /O\s*N\s*C\s*E/
+syn match ickKeywordAIS    /P\s*I\s*N/
+syn match ickKeywordAIS    /T\s*R\s*Y\s*A\s*G\s*A\s*I\s*N/
+syn match ickKeywordAISGrn /G\s*O\s*I\s*N\s*G\s*A\s*H\s*E\s*A\s*D/
+syn match ickKeywordAISGrn /G\s*O\s*I\s*N\s*G\s*B\s*A\s*C\s*K/
+syn match ickKeywordAISGrn /N\s*E\s*X\s*T\s*I\s*N\s*G\s*F\s*R\s*O\s*M/
+syn match ickKeywordAISGrn /P\s*I\s*N\s*N\s*I\s*N\s*G/
+syn match ickKeywordAISGrn /T\s*R\s*Y\s*I\s*N\s*G\s*A\s*G\s*A\s*I\s*N/
+syn match ickKeywordCLC    /C\s*R\s*E\s*A\s*T\s*E/
+syn match ickKeywordCLC    /N\s*E\s*X\s*T\s*F\s*R\s*O\s*M/
+syn match ickKeywordCLCExp /W\s*H\s*I\s*L\s*E/
+syn match ickKeywordCLCGrn /C\s*O\s*M\s*M\s*E\s*N\s*T/
+syn match ickKeywordCLCGrn /C\s*O\s*M\s*M\s*E\s*N\s*T\s*I\s*N\s*G/
+syn match ickKeywordCLCGrn /C\s*O\s*M\s*M\s*E\s*N\s*T\s*S/
+syn match ickKeywordCLCGrn /C\s*R\s*E\s*A\s*T\s*I\s*N\s*G/
+syn match ickKeywordCLCGrn /C\s*R\s*E\s*A\s*T\s*I\s*O\s*N/
+syn match ickKeywordCLCGrn /L\s*O\s*O\s*P\s*I\s*N\s*G/
+syn match ickKeywordCLCGrn /W\s*H\s*I\s*L\s*I\s*N\s*G/
+syn match ickKeywordESR    /C\s*O\s*M\s*E\s*F\s*R\s*O\s*M/
+syn match ickKeywordESRGrn /C\s*O\s*M\s*I\s*N\s*G\s*F\s*R\s*O\s*M/
+syn match ickKeywordExp    /B\s*Y/
+syn match ickKeywordExp    /S\s*U\s*B/
+syn match ickKeywordGrn    /R\s*E\s*M\s*E\s*M\s*B\s*E\s*R\s*I\s*N\s*G/
+syn match ickKeywordGrn    /R\s*E\s*I\s*N\s*S\s*T\s*A\s*T\s*I\s*N\s*G/
+syn match ickKeyword       /A\s*B\s*S\s*T\s*A\s*I\s*N\s*F\s*R\s*O\s*M/
+syn match ickKeywordGrn    /A\s*B\s*S\s*T\s*A\s*I\s*N\s*I\s*N\s*G/
+syn match ickKeywordGrn    /C\s*A\s*L\s*C\s*U\s*L\s*A\s*T\s*I\s*N\s*G/
+syn match ickKeywordGrn    /F\s*O\s*R\s*G\s*E\s*T\s*T\s*I\s*N\s*G/
+syn match ickKeywordGrn    /I\s*G\s*N\s*O\s*R\s*I\s*N\s*G/
+syn match ickKeywordGrn    /R\s*E\s*A\s*D\s*I\s*N\s*G\s*O\s*U\s*T/
+syn match ickKeyword       /R\s*E\s*A\s*D\s\+O\s*U\s*T/
+syn match ickKeywordGrn    /N\s*E\s*X\s*T\s*I\s*N\s*G/
+syn match ickKeywordGrn    /R\s*E\s*S\s*U\s*M\s*I\s*N\s*G/
+syn match ickKeywordGrn    /R\s*E\s*T\s*R\s*I\s*E\s*V\s*I\s*N\s*G/
+syn match ickKeywordGrn    /S\s*T\s*A\s*S\s*H\s*I\s*N\s*G/
+syn match ickKeywordGrn    /W\s*R\s*I\s*T\s*I\s*N\s*G\s*I\s*N/
+
+syn match ickKeywordExp    /<\s*-/
+
+syn match ickVariable /[!.:]\s*\(\s\|\d\)*\d/ contains=ickUnaryVar
+syn match ickArrayVar /[,;][0-9 	]*[0-9]/
+syn match ickConstant /#[0-9 	]*[0-9]/
+syn match ickUnaryVar /[&|?^]\|[2-5]\?@/ contained
+
+syn match ickLabel    /([0-9 	]*[0-9][9-9 	]*)/
+
+hi link ickLabel      Tag
+hi link ickUnaryVar   Normal
+hi link ickVariable   Identifier
+hi link ickArrayVar   Special
+hi link ickConstant   Constant
+hi link ickIdentifier PreProc
+hi link ickComment    Comment
+
+hi link ickKeywordGrn Type
+hi link ickKeywordExp Operator
+hi link ickKeyword    Keyword
+
+hi link ickKeywordAISGrn ickKeywordGrn
+hi link ickKeywordAISExp ickKeywordExp
+hi link ickKeywordAIS    ickKeyword
+
+hi link ickKeywordCLCGrn ickKeywordGrn
+hi link ickKeywordCLCExp ickKeywordExp
+hi link ickKeywordCLC    ickKeyword
+
+hi link ickKeywordESRGrn ickKeywordGrn
+hi link ickKeywordESRExp ickKeywordExp
+hi link ickKeywordESR    ickKeyword
+
+syn sync minlines=45
+
+let b:current_syntax="intercal"