minim.vim
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
" Vim syntax file
" Language: MiNiM
" Maintainer: Fabio Cevasco
" Last Change: 11 November 2016
" Version: 0.3.0
if exists("b:current_syntax")
finish
endif
setl iskeyword=@,36-39,+,-,/,*,.,:,~,!,48-57,60-65,94-95,192-255
setl iskeyword+=^
syntax keyword minimDefaultSymbol ! != $ & ' * + # - % ^ -> . .. / : < <= == => =~ > >= @ ROOT aes and append ask at atime b bind bool bool? bury1 bury2 bury3 c call call! capitalize case cd chmod choose clear-stack column-print concat confirm cons cp cpu crypto ctime datetime ddel debug decode decrypt define delete dget dictionary? dig1 dig2 dig3 dip dir? dirname div dprint dprint! dset dump-stack dup dupd encode encrypt env? error eval even? exit fappend fatal file? filename filter first float float? foreach fperms fread from-json format-error fs fsize fstats ftype fwrite gets get-stack getenv hardlink hidden? ifte import indent info inspect int int? interpolate interval io join k keys length linrec load load-symbol logic loglevel loglevel? lowercase ls ls-r map match md5 mkdir mod module mtime mv newline not notice now num number? odd? os password pop popd pred print print! prompt publish puts puts! putenv q quotation? quote quote-bind quote-define raise regex remove-symbol repeat replace rest rm rmdir run save-symbol scope scope? seal search set-stack sha1 sha224 sha256 sha384 sha512 sigils sip sleep sort source split startup stored-symbols str string string? strip succ swap swapd swons symbols symlink symlink? sys system take tformat time timeinfo times timestamp titleize to-json try unquote uppercase unzip values version warn which while with xor zip contains
syntax match minimDefaultSigil ;\<[:@'~!$%&$=<>#^*#+/]; contained
syntax match minimSpecialSymbols ;[:@'~!$%&$=<>#^*#+/]; contained
syntax match minimQuote ;\<['];
syntax match minimQuotedBinding ;#;
syntax match minimBinding ;@;
syntax keyword minimCommentTodo TODO FIXME XXX TBD contained
syntax match minimComment /;.*$/ contains=minimCommentTodo
syntax match minimNumber ;[-+]\=\d\+\(\.\d*\)\=;
syntax keyword minimBoolean true false
syntax region minimString start=+"+ skip=+\\\\\|\\$"+ end=+"+
syntax region minimSigilSymbol start=;\<[:@'~!$%&$=<>^*#+/]; end=;\>; contains=minimDefaultSigil
syntax region minimQuotedSymbol start=;\<[']; end=;\>; contains=minimQuote
syntax region minimBoundSymbol start=;@; end=;\>; contains=minimBinding
syntax region minimQuotedBoundSymbol start=;#; end=;\>; contains=minimQuotedBinding
syntax match minimSymbol ;[a-zA-Z0-9+._-][a-zA-Z0-9/!?+*._-]*;
syntax match minimParen ;(\|);
" Highlighting
hi default link minimComment Comment
hi default link minimCommentTodo Todo
hi default link minimString String
hi default link minimSigilSymbol String
hi default link minimNumber Number
hi default link minimBoolean Boolean
hi default link minimDefaultSymbol Statement
hi default link minimQuote Delimiter
hi default link minimBinding Delimiter
hi default link minimQuotedBinding Delimiter
hi default link minimDefaultSigil Delimiter
hi default link minimSymbol Identifier
hi default link minimQuotedSymbol Special
hi default link minimBoundSymbol Special
hi default link minimQuotedBoundSymbol Special
hi default link minimParen Special
let b:current_syntax = "minim"
|