about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--subx/ex1.subx (renamed from subx/ex1.hex)4
-rw-r--r--subx/subx.vim22
2 files changed, 26 insertions, 0 deletions
diff --git a/subx/ex1.hex b/subx/ex1.subx
index 5a6317bd..f326d231 100644
--- a/subx/ex1.hex
+++ b/subx/ex1.subx
@@ -1,6 +1,10 @@
+## first program: same as https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
+
 # opcode        ModR/M                    SIB                   displacement    immediate
 # instruction   mod, reg, Reg/Mem bits    scale, index, base
 # 1-3 bytes     0/1 byte                  0/1 byte              0/1/2/4 bytes   0/1/2/4 bytes
   bb                                                                            2a 00 00 00  # copy 0x2a (42) to EBX
   05                                                                            01 00 00 00  # copy 1 to EAX
   cd                                                                            80           # int 80h
+
+# vim:ft=subx
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 = "#? "