summaryrefslogtreecommitdiff
path: root/syntax/olang.vim
blob: 60ad95b6449063a2d9bbaf6b4e3fa05b3c3dc522 (plain)
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
" Vim syntax file
" Language: O Language
" Maintainer: Johnny Richard

if exists("b:current_syntax")
  finish
endif

hi link olangFuncName Function
hi link olangFunction Function
hi link olangKeyword Keyword
hi link olangOperator Operator
hi link olangString String
hi link olangType Type

hi link olangNumber Number
hi link olangDecNumber olangNumber

hi link olangCommentLine   Comment

syn keyword olangType u32
syn keyword olangOperator * / + - << >> <= =< %
syn keyword olangKeyword return var val let pub ns if
syn keyword olangKeyword fn nextgroup=olangFuncName skipwhite skipempty

syn match olangDecNumber "\<[[:digit:]]*\>" display
syn match olangFuncName "[[:alpha:]][[:alnum:]]*" display contained

syn region olangString start=+"+ end=+"+
syn region olangCommentLine start="#" end="$"

syn sync minlines=200
syn sync maxlines=500

let b:current_syntax = "olang"