#######################################
# Syntax Coloring Map For Plaquette
#######################################

#######################################
# Datatypes (KEYWORD1)
#######################################

Plaquette	KEYWORD1

AnalogIn	KEYWORD1
DigitalIn	KEYWORD1
AnalogOut	KEYWORD1
DigitalOut	KEYWORD1

SineWave	KEYWORD1
SquareWave	KEYWORD1
TriangleWave	KEYWORD1

Alarm	KEYWORD1
Chronometer KEYWORD1
Metronome	KEYWORD1
Ramp	KEYWORD1

MinMaxScaler	KEYWORD1
Normalizer	KEYWORD1
PeakDetector	KEYWORD1
Smoother	KEYWORD1

ServoOut	KEYWORD1
ContinuousServoOut	KEYWORD1

StreamIn	KEYWORD1
StreamOut	KEYWORD1


#######################################
# Methods and Functions (KEYWORD2)
#######################################

# Core
begin	KEYWORD2
step	KEYWORD2

autoSampleRate  KEYWORD2
enableAutoSampleRate  KEYWORD2
sampleRate  KEYWORD2
samplePeriod  KEYWORD2
seconds  KEYWORD2
beginSerial KEYWORD2

# Utils
mapFloat	KEYWORD2
mapFrom01	KEYWORD2
mapTo01 KEYWORD2
randomFloat	KEYWORD2
wrap	KEYWORD2

# Node
put	KEYWORD2
get	KEYWORD2

# AnalogNode
mapTo	KEYWORD2

# DigitalNode
on	KEYWORD2
off	KEYWORD2
toggle	KEYWORD2
putOn	KEYWORD2
isOn	KEYWORD2
isOff	KEYWORD2
getInt	KEYWORD2

# DigitalSource
fell  KEYWORD2
rose  KEYWORD2
changed  KEYWORD2

# PinUnit
pin	KEYWORD2
mode	KEYWORD2

# Smoothable
smooth	KEYWORD2
noSmooth	KEYWORD2

# Debounceable
debounce  KEYWORD2
noDebounce  KEYWORD2
debounceMode  KEYWORD2

# Window-based
infiniteTimeWindow	KEYWORD2
timeWindow	KEYWORD2
cutoff	KEYWORD2
pauseCalibrating  KEYWORD2
resumeCalibrating KEYWORD2
toggleCalibrating	KEYWORD2
isCalibrating KEYWORD2

# Oscillators
period  KEYWORD2
frequency  KEYWORD2
width  KEYWORD2
phase  KEYWORD2
amplitude  KEYWORD2
shiftBy  KEYWORD2
timeToPhase  KEYWORD2
setTime KEYWORD2

# Ramp
duration  KEYWORD2
speed  KEYWORD2
fromTo  KEYWORD2
to  KEYWORD2
go  KEYWORD2
easing  KEYWORD2
noEasing  KEYWORD2

# Normalizer
targetMean	KEYWORD2
targetStdDev	KEYWORD2
mean    KEYWORD2
stdDev    KEYWORD2
var    KEYWORD2
normalize    KEYWORD2
isOutlier    KEYWORD2
isHighOutlier    KEYWORD2
isLowOutlier    KEYWORD2
highOutlierThreshold    KEYWORD2
lowOutlierThreshold    KEYWORD2
clamp    KEYWORD2
noClamp    KEYWORD2
isClamped    KEYWORD2

# AbstractChronometer
start  KEYWORD2
stop	KEYWORD2
pause	KEYWORD2
resume	KEYWORD2
togglePause	KEYWORD2
elapsed KEYWORD2
add	KEYWORD2
isRunning KEYWORD2
hasPassed	KEYWORD2

# AbstractTimer
finished	KEYWORD2
isFinished	KEYWORD2
progress	KEYWORD2

# Stream
precision  KEYWORD2

# PeakDetector
reloadThreshold	KEYWORD2
triggerThreshold	KEYWORD2
fallbackTolerance	KEYWORD2
modeInverted	KEYWORD2
modeCrossing	KEYWORD2
modeApex	KEYWORD2

# Easing functions
easeOutSine	KEYWORD2
easeInOutSine	KEYWORD2
easeInQuad	KEYWORD2
easeOutQuad	KEYWORD2
easeInOutQuad	KEYWORD2
easeInCubic	KEYWORD2
easeOutCubic	KEYWORD2
easeInOutCubic	KEYWORD2
easeInQuart	KEYWORD2
easeOutQuart	KEYWORD2
easeInOutQuart	KEYWORD2
easeInQuint	KEYWORD2
easeOutQuint	KEYWORD2
easeInOutQuint	KEYWORD2
easeInExpo	KEYWORD2
easeOutExpo	KEYWORD2
easeInOutExpo	KEYWORD2
easeInCirc	KEYWORD2
easeOutCirc	KEYWORD2
easeInOutCirc	KEYWORD2
easeInBack	KEYWORD2
easeOutBack	KEYWORD2
easeInOutBack	KEYWORD2
easeInElastic	KEYWORD2
easeOutElastic	KEYWORD2
easeInOutElastic	KEYWORD2
easeInBounce	KEYWORD2
easeOutBounce	KEYWORD2
easeInOutBounce	KEYWORD2

# Events
onBang	KEYWORD2
onRise	KEYWORD2
onFall	KEYWORD2
onChange	KEYWORD2
onFinish	KEYWORD2
clearEvents	KEYWORD2

#######################################
# Instances (KEYWORD2)
#######################################

#######################################
# Constants (LITERAL1)
#######################################

DEFAULT LITERAL1
INVERTED  LITERAL1
INTERNAL_PULLUP LITERAL1
SOURCE	LITERAL1
SINK	LITERAL1

UNCONSTRAIN	LITERAL1
CONSTRAIN	LITERAL1
WRAP	LITERAL1

DEBOUNCE_STABLE  LITERAL1
DEBOUNCE_LOCK_OUT  LITERAL1
DEBOUNCE_PROMPT_DETECT  LITERAL1

PEAK_RISING	LITERAL1
PEAK_FALLING	LITERAL1
PEAK_MAX	LITERAL1
PEAK_MIN	LITERAL1

RAMP_DURATION	LITERAL1
RAMP_SPEED	LITERAL1
