about summary refs log tree commit diff stats
path: root/subx/subx.vim
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-06-30 21:40:14 -0700
committerKartik Agaram <vc@akkartik.com>2018-06-30 21:57:49 -0700
commit2c6a077f2913d7f04382b8d06760552606a64ac8 (patch)
treeaefbbb946f65c2c6d3f946e0aebcf3f76a2de0de /subx/subx.vim
parent672e0a7e5fe7ab7b5f1e454dbc61c1617867a7a9 (diff)
downloadmu-2c6a077f2913d7f04382b8d06760552606a64ac8.tar.gz
4292 - start a Vim syntax file for our 'language'
As we add high-level constructs we'll start labeling low-level
constructs as unsafe, and highlighting them in red in our editor.
Diffstat (limited to 'subx/subx.vim')
-rw-r--r--subx/subx.vim22
1 files changed, 22 insertions, 0 deletions
diff --git a/subx/subx.vim b/subx/subx.vim
new file mode 100644
index 00000000..342db05e
--- /dev/null
+++ b/subx/subx.vim
@@ -0,0 +1,22 @@
+" SubX syntax file
+" Language:    SubX
+" 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
+" or to .vim/ftdetect/subx.vim:
+"   autocmd BufReadPost,BufNewFile *.subx set filetype=subx
+
+let s:save_cpo = &cpo
+set cpo&vim
+
+" setlocal iskeyword=@,48-57,?,!,_,$,-
+setlocal formatoptions-=t  " allow long lines
+setlocal formatoptions+=c  " but comments should still wrap
+
+syntax match subxComment /# .*$/  | highlight link subxComment Comment
+syntax match subxSalientComment /##.*$/  | highlight link subxSalientComment SalientComment
+set comments+=n:#
+syntax match subxCommentedCode "#? .*"  | highlight link subxCommentedCode CommentedCode
+let b:cmt_head = "#? "