44 lines
1.3 KiB
VimL
44 lines
1.3 KiB
VimL
" Vim syntax file
|
|
setlocal iskeyword+=:
|
|
" Language: Jack
|
|
" Maintainer: Michael Schroeder
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
setlocal iskeyword+=-
|
|
setlocal iskeyword+=?
|
|
setlocal iskeyword+=!
|
|
|
|
set tabstop=4
|
|
|
|
let b:current_syntax = "jack"
|
|
|
|
syn keyword jackTodo class method constructor function
|
|
syn region jackComment start="\/\*" end="\*\/"
|
|
syn region jackComment start="\/\/" end="\n"
|
|
syn keyword jackConstant null
|
|
syn keyword jackBoolean true false
|
|
syn region jackString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=jackSpecial,@Spell
|
|
syn match jackNumber "\<0\>"
|
|
syn match jackNumber "\<[1-9][0-9]*\>"
|
|
syn keyword jackType void int boolean String char Array
|
|
syn keyword jackConditional if else
|
|
syn keyword jackRepeat while
|
|
syn keyword jackKeyword var field static
|
|
syn keyword jackFunction return let do
|
|
|
|
|
|
highlight link jackTodo Todo
|
|
highlight link jackComment Comment
|
|
highlight link jackConstant Constant
|
|
highlight link jackBoolean Boolean
|
|
highlight link jackString String
|
|
highlight link jackNumber Number
|
|
highlight link jackType Type
|
|
highlight link jackConditional Conditional
|
|
highlight link jackRepeat Repeat
|
|
highlight link jackKeyword Keyword
|
|
highlight link jackFunction Function
|