38 lines
943 B
VimL
38 lines
943 B
VimL
|
" Vim syntax file
|
||
|
" Language: Paret
|
||
|
" Maintainer: Kalle Struik
|
||
|
" Latest Revision: 17 March 2022
|
||
|
|
||
|
if exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
" Binary builtins
|
||
|
syn keyword paretBinaryBuiltins '+' '*' '-' and or num= num< num> cons
|
||
|
" Unary builtins
|
||
|
syn keyword paretBinaryBuiltins not head tail is-nil is-list
|
||
|
" Variable size builtins
|
||
|
syn keyword paretVariableBuiltins list
|
||
|
" Misc builtins
|
||
|
syn keyword paretMiscBuiltins if lambda let letrec
|
||
|
|
||
|
|
||
|
" Number constants
|
||
|
syn match paretNumber '\d\+'
|
||
|
" Boolean constants
|
||
|
syn keyword paretBoolean true false
|
||
|
" Nil constants
|
||
|
syn keyword paretNil nil
|
||
|
|
||
|
|
||
|
let b:current_syntax = "paret"
|
||
|
|
||
|
hi def link paretBinaryBuiltins Statement
|
||
|
hi def link paretUnaryBuiltins Statement
|
||
|
hi def link paretVariableBuiltins Statement
|
||
|
hi def link paretMiscBuiltins Statement
|
||
|
|
||
|
hi def link paretNumber Constant
|
||
|
hi def link paretBoolean Constant
|
||
|
hi def link paretNil Constant
|