dgy
/
hexagons
Archived
1
0
Fork 0
This repository has been archived on 2021-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
hexagons/.config/nvim/syntax/foxdot.vim

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"