209 lines
3.4 KiB
VimL
209 lines
3.4 KiB
VimL
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syntax case match
|
|
|
|
"syntax region foxdotInstrument start=/(/ skip=/\\(\\)/ end=/)/
|
|
"syntax region foxdotArray start=/[/ end=/]/
|
|
|
|
syn keyword foxdotSynths
|
|
\ loop
|
|
\ gsynth
|
|
\ play
|
|
\ play1
|
|
\ play2
|
|
\ audioin
|
|
\ noise
|
|
\ dab
|
|
\ varsaw
|
|
\ lazer
|
|
\ growl
|
|
\ bass
|
|
\ dirt
|
|
\ crunch
|
|
\ rave
|
|
\ jbass
|
|
\ scatter
|
|
\ charm
|
|
\ bell
|
|
\ gong
|
|
\ soprano
|
|
\ dub
|
|
\ viola
|
|
\ scratch
|
|
\ klank
|
|
\ feel
|
|
\ glass
|
|
\ soft
|
|
\ quin
|
|
\ pluck
|
|
\ spark
|
|
\ blip
|
|
\ ripple
|
|
\ creep
|
|
\ orient
|
|
\ zap
|
|
\ marimba
|
|
\ fuzz
|
|
\ bug
|
|
\ pulse
|
|
\ saw
|
|
\ snick
|
|
\ twang
|
|
\ karp
|
|
\ arpy
|
|
\ nylon
|
|
\ donk
|
|
\ squish
|
|
\ swell
|
|
\ razz
|
|
\ sitar
|
|
\ star
|
|
\ piano
|
|
\ sawbass
|
|
\ prophet
|
|
\ pads
|
|
\ pasha
|
|
\ ambi
|
|
\ space
|
|
\ keys
|
|
\ dbass
|
|
\ sinepad
|
|
\ Clock
|
|
\ Group
|
|
\ Master
|
|
|
|
syn keyword foxdotAttribs
|
|
\ degree
|
|
\ oct
|
|
\ freq
|
|
\ dur
|
|
\ delay
|
|
\ buf
|
|
\ blur
|
|
\ amplify
|
|
\ scale
|
|
\ bpm
|
|
\ sample
|
|
\ env
|
|
\ fmod
|
|
\ pan
|
|
\ rate
|
|
\ amp
|
|
\ midinote
|
|
\ channel
|
|
\ vib
|
|
\ vibdepth
|
|
\ slide
|
|
\ sus
|
|
\ slidedelay
|
|
\ slidefrom
|
|
\ bend
|
|
\ benddelay
|
|
\ coarse
|
|
\ striate
|
|
\ pshift
|
|
\ hpf
|
|
\ hpr
|
|
\ lpf
|
|
\ lpr
|
|
\ bpf
|
|
\ bpr
|
|
\ bpnoise
|
|
\ bits
|
|
\ amp
|
|
\ crush
|
|
\ dist
|
|
\ tmp
|
|
\ chop
|
|
\ tremolo
|
|
\ beat_dur
|
|
\ echo
|
|
\ spin
|
|
\ cut
|
|
\ room
|
|
\ mix
|
|
\ formant
|
|
\ shape
|
|
\ drive
|
|
|
|
syn keyword foxdotVars
|
|
\ var
|
|
\ linvar
|
|
\ now
|
|
\ pitch
|
|
\ follow
|
|
\ PDur
|
|
\ PWalk
|
|
\ PStep
|
|
\ stop
|
|
\ sometimes
|
|
\ often
|
|
\ every
|
|
\ clear
|
|
|
|
syn keyword foxdotScales
|
|
\ aeolian
|
|
\ chinese
|
|
\ chromatic
|
|
\ custom
|
|
\ default
|
|
\ diminished
|
|
\ dorian
|
|
\ dorian2
|
|
\ egyptian
|
|
\ freq
|
|
\ harmonicMajor
|
|
\ harmonicMinor
|
|
\ indian
|
|
\ justMajor
|
|
\ justMinor
|
|
\ locrian
|
|
\ locrianMajor
|
|
\ lydian
|
|
\ lydianMinor
|
|
\ major
|
|
\ majorPentatonic
|
|
\ melodicMajor
|
|
\ melodicMinor
|
|
\ minor
|
|
\ minorPentatonic
|
|
\ mixolydian
|
|
\ phrygian
|
|
\ prometheus
|
|
\ romanianMinor
|
|
\ yu
|
|
\ zhi
|
|
|
|
syn match foxdotOperator '\V=\|-\|+\|*\|@\|/\|%\|&\||\|^\|~\|<\|>\|!='
|
|
"syn match foxdotError '[$?]\|\([-+@%&|^~]\)\1\{1,}\|\([=*/<>]\)\2\{2,}\|\([+@/%&|^~<>]\)\3\@![-+*@/%&|^~<>]\|\*\*[*@/%&|^<>]\|=[*@/%&|^<>]\|-[+*@/%&|^~<]\|[<!>]\+=\{2,}\|!\{2,}=\+' display
|
|
syn match foxdotError '\<\d\+[^0-9[:space:]]\+\>' display
|
|
syn match foxdotComment "\v#.*$"
|
|
syn match foxdotNumberError '\<\d[_0-9]*\D\>' display
|
|
syn match foxdotNumberError '\<0[_0-9]\+\>' display
|
|
syn match foxdotNumberError '\<0_x\S*\>' display
|
|
syn match foxdotNumberError '\<0[bBxXoO][_0-9a-fA-F]*_\>' display
|
|
syn match foxdotNumberError '\<\d[_0-9]*_\>' display
|
|
syn match foxdotNumber '\<\d\>' display
|
|
syn match foxdotNumber '\<[1-9][_0-9]*\d\>' display
|
|
syn match foxdotNumber '\<\d[jJ]\>' display
|
|
syn match foxdotNumber '\<[1-9][_0-9]*\d[jJ]\>' display
|
|
syn match foxdotFloat '\.\d\%([_0-9]*\d\)\=\%([eE][+-]\=\d\%([_0-9]*\d\)\=\)\=[jJ]\=\>' display
|
|
syn match foxdotFloat '\<\d\%([_0-9]*\d\)\=[eE][+-]\=\d\%([_0-9]*\d\)\=[jJ]\=\>' display
|
|
syn match foxdotFloat '\<\d\%([_0-9]*\d\)\=\.\d\%([_0-9]*\d\)\=\%([eE][+-]\=\d\%([_0-9]*\d\)\=\)\=[jJ]\=' display
|
|
|
|
hi def link foxdotSynths Function
|
|
hi def link foxdotNumber Number
|
|
hi def link foxdotFloat Number
|
|
hi def link foxdotScales Keyword
|
|
hi def link foxdotAttribs Label
|
|
hi def link foxdotVars Conditional
|
|
hi def link foxdotComment Comment
|
|
hi def link foxdotError Error
|
|
hi def link foxdotNumberError Error
|
|
hi def link foxdotOperator Operator
|
|
|
|
let b:current_syntax = "foxdot"
|