about summary refs log tree commit diff stats
path: root/mu.vim
blob: a51386e959f07dcbce9a78cf7fc518b941ea0a4b (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
36
37
38
39
40
" Vim syntax file
" Language:    mu
" Maintainer:  Kartik Agaram <mu@akkartik.com>
" URL:         http://github.com/akkartik/mu
" License:     public domain
"
" Copy this into your ftplugin directory, and add the following to your vimrc:
"   autocmd BufReadPost,BufNewFile *.mu,*.test set filetype=mu

let s:save_cpo = &cpo
set cpo&vim

" todo: why does this periodically lose syntax, like on file reload?
"   $ vim x.mu
"   :e
"? if exists("b:syntax")
"?   finish
"? endif
"? let b:syntax = "mu"

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

syntax match muComment /;.*$/
highlight link muComment Comment
syntax match muSalientComment /;;.*$/
highlight link muSalientComment SalientComment
set comments-=:;
set comments+=n:;
syntax match CommentedCode ";? .*"
let b:cmt_head = ";? "

syntax region muString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell
highlight link muString String

syntax match muDelimiter "[{}\[\]]" | highlight link muDelimiter Delimiter
syntax match muAssign "<-" | highlight link muAssign SpecialChar
syntax match muAssign "\<raw\>"
syntax keyword muFunc next-input input reply jump jump-if jump-unless loop loop-if loop-unless break-if break-unless | highlight link muFunc Function

let &cpo = s:save_cpo