about summary refs log tree commit diff stats
path: root/editor/mulisp.vim
blob: e84bf090cb2437811b8370670d7cf64a668ee3f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
" Vim syntax file
" Language:    Mu Lisp
" Maintainer:  Kartik Agaram <mu@akkartik.com>
" URL:         http://github.com/akkartik/mu
" License:     public domain
"
" Copy this file into your ftplugin directory, and add the following to your
" vimrc or to .vim/ftdetect/mulisp.vim:
"   autocmd BufReadPost,BufNewFile *.limg set filetype=mulisp

let s:save_cpo = &cpo
set cpo&vim

setlocal iskeyword=@,48-57,?,!,_,$

" Hack: I define new syntax groups here, and I don't know how to distribute
" colorscheme-independent color suggestions for them.
highlight Normal ctermfg=245
highlight muLispNormal ctermfg=0
highlight muLispOuterKeyword ctermfg=160
highlight link muLispKeyword Type

syntax region String   start=+"+  skip=+\\"+  end=+"+

syntax region muLispNormal matchgroup=Normal start=/\[/ end=/\]/ contains=muLispLiteral,muLispComment,muLispDelimiter,muLispKeyword

syntax match muLispComment /#.*/ contained | highlight link muLispComment Comment
syntax match muLispLiteral /\<[0-9]\+\>/ contained | highlight link muLispLiteral Constant
syntax match muLispLiteral /\[[^\]]*\]/ contained
syntax match muLispDelimiter /[(),@`]/ contained | highlight link muLispDelimiter Delimiter

syntax keyword muLispOuterKeyword globals sandbox
syntax keyword muLispKeyword fn def mac let if while for

let &cpo = s:save_cpo