mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			188 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			188 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language: ChucK | ||
|  | " Maintainer: Andrea Callea | ||
|  | " URL: https://github.com/gacallea/chuck.vim | ||
|  | " Last Change: 2024 Jan 21 by Andrea Callea | ||
|  | 
 | ||
|  | " Sources used for this syntax | ||
|  | " https://chuck.cs.princeton.edu/doc/language/ | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | 
 | ||
|  | " HISTORY: | ||
|  | " 2024 Jan 21 - Initial revision | ||
|  | 
 | ||
|  | " quit when a syntax file was already loaded | ||
|  | if exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/language/type.html | ||
|  | syn keyword chuckPrimitiveType int float time dur void vec3 vec4 | ||
|  | syn keyword chuckComplexType complex polar | ||
|  | syn keyword chuckReferenceType Object Event UGen array string | ||
|  | syn keyword chuckBoolean true false maybe | ||
|  | syn keyword chuckBoolean null NULL | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/language/oper.html | ||
|  | syn match chuckOperator "=>" | ||
|  | syn match chuckOperator "@=>" | ||
|  | 
 | ||
|  | syn match chuckOperator "=^" | ||
|  | 
 | ||
|  | syn match chuckOperator "+" | ||
|  | syn match chuckOperator "-" | ||
|  | syn match chuckOperator "*" | ||
|  | syn match chuckOperator "/" | ||
|  | syn match chuckOperator "%" | ||
|  | syn match chuckOperator "!" | ||
|  | syn match chuckOperator "&" | ||
|  | syn match chuckOperator "|" | ||
|  | syn match chuckOperator "\^" | ||
|  | 
 | ||
|  | syn match chuckOperator "+=>" | ||
|  | syn match chuckOperator "-=>" | ||
|  | syn match chuckOperator "*=>" | ||
|  | syn match chuckOperator "/=>" | ||
|  | syn match chuckOperator "%=>" | ||
|  | syn match chuckOperator "!=>" | ||
|  | syn match chuckOperator "&=>" | ||
|  | syn match chuckOperator "|=>" | ||
|  | syn match chuckOperator "\^=>" | ||
|  | 
 | ||
|  | syn match chuckOperator "&&" | ||
|  | syn match chuckOperator "||" | ||
|  | syn match chuckOperator "==" | ||
|  | syn match chuckOperator "!=" | ||
|  | syn match chuckOperator ">" | ||
|  | syn match chuckOperator ">=" | ||
|  | syn match chuckOperator "<" | ||
|  | syn match chuckOperator "<=" | ||
|  | 
 | ||
|  | syn match chuckOperator ">>" | ||
|  | syn match chuckOperator "<<" | ||
|  | 
 | ||
|  | syn match chuckOperator "++" | ||
|  | syn match chuckOperator "--" | ||
|  | syn match chuckOperator "<<<" | ||
|  | syn match chuckOperator ">>>" | ||
|  | 
 | ||
|  | syn keyword chuckOperator new | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/language/ctrl.html | ||
|  | syn keyword chuckConditional if else | ||
|  | syn keyword chuckRepeat while do until for each | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/language/time.html | ||
|  | syn keyword chuckTimeAndDuration samp ms second minute hour day week | ||
|  | syn keyword chuckTimeAndDuration now later | ||
|  | 
 | ||
|  | " these may need some additional keywords I missed, for a future revision | ||
|  | syn keyword chuckKeyword dac adc | ||
|  | syn keyword chuckKeyword fun function | ||
|  | syn keyword chuckKeyword return | ||
|  | syn keyword chuckKeyword const | ||
|  | syn match chuckKeyword "@" | ||
|  | syn keyword chuckKeyword pi | ||
|  | syn keyword chuckKeyword me | ||
|  | syn keyword chuckKeyword repeat break continue | ||
|  | syn keyword chuckKeyword class extends public private static pure this | ||
|  | syn keyword chuckKeyword spork | ||
|  | syn keyword chuckKeyword cherr chout | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckBaseClasses Shred Math Machine Std | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckBasicUGen Gain Impulse Step SndBuf SndBuf2 | ||
|  | syn keyword chuckBasicUGen ADSR Envelope Delay DelayL DelayA Echo | ||
|  | syn keyword chuckBasicUGen Noise CNoise Osc SinOsc TriOsc SawOsc PulseOsc SqrOsc | ||
|  | syn keyword chuckBasicUGen Phasor HalfRect FullRect | ||
|  | syn keyword chuckBasicUGen Chugraph Chugen UGen_Multi UGen_Stereo Mix2 Pan2 | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckFilterUGen FilterBasic LPF HPF BPF BRF BiQuad ResonZ | ||
|  | syn keyword chuckFilterUGen OnePole OneZero TwoPole TwoZero PoleZero | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckSTKUGen JCRev NRev PRCRev | ||
|  | syn keyword chuckSTKUGen Chorus Modulate PitShift SubNoise | ||
|  | syn keyword chuckSTKUGen BLT Blit BlitSaw BlitSquare FilterStk | ||
|  | syn keyword chuckSTKUGen WvIn WaveLoop WvOut WvOut2 StkInstrument | ||
|  | syn keyword chuckSTKUGen BandedWG BlowBotl BlowHole | ||
|  | syn keyword chuckSTKUGen Bowed Brass Clarinet Flute Mandolin | ||
|  | syn keyword chuckSTKUGen ModalBar Moog Saxofony Shakers Sitar StifKarp | ||
|  | syn keyword chuckSTKUGen VoicForm KrstlChr FM BeeThree FMVoices | ||
|  | syn keyword chuckSTKUGen HevyMetl HnkyTonk FrencHrn PercFlut Rhodey TubeBell Wurley | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckAdvancedUGen LiSa LiSa2 LiSa6 LiSa8 LiSa10 | ||
|  | syn keyword chuckAdvancedUGen LiSa16 GenX Gen5 Gen7 Gen9 Gen10 Gen17 | ||
|  | syn keyword chuckAdvancedUGen CurveTable WarpTable Dyno | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckChugin ABSaturator AmbPan3 Bitcrusher Elliptic ExpDelay ExpEnv FIR | ||
|  | syn keyword chuckChugin FoldbackSaturator GVerb KasFilter MagicSine Mesh2D | ||
|  | syn keyword chuckChugin Multicomb Pan4 Pan8 Pan16 PitchTrack PowerADSR RegEx | ||
|  | syn keyword chuckChugin Sigmund Spectacle WinFuncEnv WPDiodeLadder WPKorg35 | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckUnitAnalyzer UAna UAnaBlob Windowing | ||
|  | syn keyword chuckUnitAnalyzer FFT IFFT DCT IDCT | ||
|  | syn keyword chuckUnitAnalyzer Centroid Flux RMS RollOff | ||
|  | syn keyword chuckUnitAnalyzer Flip UnFlip XCorr | ||
|  | syn keyword chuckUnitAnalyzer Chroma Kurtosis MFCC SFM ZeroX AutoCorr FeatureCollector | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckChAI MLP KNN KNN2 HMM SVM Word2Vec PCA Wekinator AI | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckInputOutput IO FileIO OscIn OscOut OscMsg | ||
|  | syn keyword chuckInputOutput Hid HidMsg KBHit SerialIO | ||
|  | syn keyword chuckInputOutput MidiIn MidiOut MidiMsg MidiFileIn | ||
|  | 
 | ||
|  | " https://chuck.cs.princeton.edu/doc/reference/ | ||
|  | syn keyword chuckUtilities CKDoc StringTokenizer ConsoleInput | ||
|  | 
 | ||
|  | " https://github.com/wilsaj/chuck.vim/blob/master/syntax/chuck.vim | ||
|  | syn match chuckNumber /\%(\i\|\$\)\@<![-]\?\d\+/ display | ||
|  | syn match chuckHex /\<0[xX]\x\+[lL]\=\>/ display | ||
|  | syn match chuckFloat /\%(\i\|\$\)\@<![-]\?\%(\d*\.\d\+\|\d\+\.\)/ display | ||
|  | 
 | ||
|  | " this may need fixing/improvements | ||
|  | syn match chuckComment "//.*$" | ||
|  | syn region chuckComment start="/\*" end="\*/" | ||
|  | syn match chuckSpecialChar contained "\\n" | ||
|  | syn match chuckSpecialChar contained "\\t" | ||
|  | syn match chuckSpecialChar contained "\\a" | ||
|  | syn match chuckSpecialChar contained /\\"/ | ||
|  | syn match chuckSpecialChar contained "\\0" | ||
|  | syn region chuckString start=/"/ end=/"/ display contains=chuckSpecialChar | ||
|  | 
 | ||
|  | hi def link chuckPrimitiveType Type | ||
|  | hi def link chuckComplexType Type | ||
|  | hi def link chuckReferenceType Type | ||
|  | hi def link chuckBoolean Boolean | ||
|  | hi def link chuckOperator Operator | ||
|  | hi def link chuckConditional Conditional | ||
|  | hi def link chuckRepeat Repeat | ||
|  | hi def link chuckTimeAndDuration Keyword | ||
|  | hi def link chuckKeyword Keyword | ||
|  | hi def link chuckBaseClasses Special | ||
|  | hi def link chuckBasicUGen Structure | ||
|  | hi def link chuckFilterUGen Structure | ||
|  | hi def link chuckSTKUGen Structure | ||
|  | hi def link chuckAdvancedUGen Structure | ||
|  | hi def link chuckChugin Structure | ||
|  | hi def link chuckUnitAnalyzer Structure | ||
|  | hi def link chuckChAI Structure | ||
|  | hi def link chuckInputOutput Special | ||
|  | hi def link chuckUtilities Special | ||
|  | hi def link chuckNumber Number | ||
|  | hi def link chuckHex Number | ||
|  | hi def link chuckFloat Float | ||
|  | hi def link chuckComment Comment | ||
|  | hi def link chuckSpecialChar SpecialChar | ||
|  | hi def link chuckString String | ||
|  | 
 | ||
|  | let b:current_syntax = "chuck" |