aboutsummaryrefslogtreecommitdiff
path: root/contrib/vim-fuspel/syntax/fuspel.vim
blob: d1171a1cbf61abf0058f685757709e73b55b1fc7 (plain) (blame)
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
" Fuspel syntax file
" Language:     Fuspel functional programing language
" Author:       Camil Staps <info@camilstaps.nl>
" License:      This file is placed in the public domain.

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn keyword fuspelKeyword    code main import

syn keyword fuspelTodo       TODO FIXME XXX BUG NB contained containedin=fuspelComment
syn region  fuspelComment    start="//" end="$" contains=@Spell oneline display

syn match   fuspelInteger    /\d\+/ display

syn match   fuspelDelimiter  /\v[\[\]\(\):;=,]/ display

syn match   fuspelIdentifier /^[_a-zA-Z]\+/ display

hi def link fuspelKeyword    Keyword
hi def link fuspelInteger    Number
hi def link fuspelDelimiter  Delimiter
hi def link fuspelIdentifier Identifier
hi def link fuspelTodo       Todo
hi def link fuspelComment    Comment

syntax sync ccomment fuspelComment
setlocal foldmethod=syntax

let b:current_syntax = 'fuspel'

let &cpo = s:cpo_save
unlet s:cpo_save