#######################################
# Syntax Coloring Map for microInput
#######################################

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

DigitalSource	KEYWORD1
AnalogSource	KEYWORD1
EventQueue	KEYWORD1
PublishResult	KEYWORD1
EventBus	KEYWORD1
InputManager	KEYWORD1
DebounceUpdate	KEYWORD1
StableIntervalDebouncer	KEYWORD1
InterruptDigitalInput	KEYWORD1
InterruptButton	KEYWORD1
RawTransition	KEYWORD1
CriticalSection	KEYWORD1
IsrTransitionQueue	KEYWORD1
TransitionQueue	KEYWORD1
RawEncoderTransition	KEYWORD1
InterruptEncoder	KEYWORD1
AnalogInputConfig	KEYWORD1
AnalogInput	KEYWORD1
ComboConfig	KEYWORD1
Combo	KEYWORD1
EventCallback	KEYWORD1
SubscriptionToken	KEYWORD1
SubscriptionResult	KEYWORD1
CallbackDispatcher	KEYWORD1
Clock	KEYWORD1
InputId	KEYWORD1
Timestamp	KEYWORD1
Duration	KEYWORD1
EventType	KEYWORD1
EventFlags	KEYWORD1
Event	KEYWORD1
Status	KEYWORD1
EventSink	KEYWORD1
StartupPolicy	KEYWORD1
DigitalInputConfig	KEYWORD1
DigitalInput	KEYWORD1
EncoderStepMode	KEYWORD1
EncoderConfig	KEYWORD1
Encoder	KEYWORD1
ThresholdDirection	KEYWORD1
ThresholdStartup	KEYWORD1
AnalogThresholdConfig	KEYWORD1
AnalogThreshold	KEYWORD1
JoystickDeadZoneMode	KEYWORD1
JoystickDirection	KEYWORD1
JoystickConfig	KEYWORD1
Joystick	KEYWORD1
SequenceStep	KEYWORD1
SequenceTimeoutMode	KEYWORD1
SequenceConfig	KEYWORD1
Sequence	KEYWORD1
RecognizerRef	KEYWORD1
RecognizerChain	KEYWORD1
ButtonTiming	KEYWORD1
ButtonConfig	KEYWORD1
Button	KEYWORD1
GpioDigitalSource	KEYWORD1
AdcAnalogSource	KEYWORD1
AvrCriticalSectionState	KEYWORD1

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

read	KEYWORD2
readDigitalSource	KEYWORD2
makeDigitalSource	KEYWORD2
readAnalogSource	KEYWORD2
makeAnalogSource	KEYWORD2
makeAvrCriticalSection	KEYWORD2
begin	KEYWORD2
source	KEYWORD2
push	KEYWORD2
publish	KEYWORD2
pop	KEYWORD2
front	KEYWORD2
empty	KEYWORD2
full	KEYWORD2
size	KEYWORD2
capacity	KEYWORD2
dropped	KEYWORD2
highWaterMark	KEYWORD2
clear	KEYWORD2
resetDiagnostics	KEYWORD2
sink	KEYWORD2
queue	KEYWORD2
callbacks	KEYWORD2
add	KEYWORD2
update	KEYWORD2
reset	KEYWORD2
setInterval	KEYWORD2
initialized	KEYWORD2
stableActive	KEYWORD2
interval	KEYWORD2
pending	KEYWORD2
nextDeadline	KEYWORD2
start	KEYWORD2
captureFromIsr	KEYWORD2
hasWork	KEYWORD2
droppedTransitions	KEYWORD2
transitionHighWaterMark	KEYWORD2
active	KEYWORD2
status	KEYWORD2
reconfigure	KEYWORD2
configured	KEYWORD2
makeNoopCriticalSection	KEYWORD2
popForeground	KEYWORD2
pendingForeground	KEYWORD2
droppedForeground	KEYWORD2
highWaterMarkForeground	KEYWORD2
synchronizationConfigured	KEYWORD2
invalidTransitions	KEYWORD2
validateAnalogInputConfig	KEYWORD2
value	KEYWORD2
filteredValue	KEYWORD2
id	KEYWORD2
eventPending	KEYWORD2
config	KEYWORD2
process	KEYWORD2
cancel	KEYWORD2
valid	KEYWORD2
subscribe	KEYWORD2
unsubscribe	KEYWORD2
dispatch	KEYWORD2
subscriptionCount	KEYWORD2
elapsed	KEYWORD2
isValidDuration	KEYWORD2
intervalElapsed	KEYWORD2
deadlineReached	KEYWORD2
now	KEYWORD2
isValidInputId	KEYWORD2
hasFlag	KEYWORD2
emit	KEYWORD2
makeEventSink	KEYWORD2
synchronize	KEYWORD2
partialStep	KEYWORD2
validateAnalogThresholdConfig	KEYWORD2
validateJoystickConfig	KEYWORD2
packJoystickPosition	KEYWORD2
unpackJoystickX	KEYWORD2
unpackJoystickY	KEYWORD2
x	KEYWORD2
y	KEYWORD2
direction	KEYWORD2
progress	KEYWORD2
makeRecognizerRef	KEYWORD2
validateButtonConfig	KEYWORD2

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

MICROINPUT_VERSION_MAJOR	LITERAL1
MICROINPUT_VERSION_MINOR	LITERAL1
MICROINPUT_VERSION_PATCH	LITERAL1
MICROINPUT_VERSION_STRING	LITERAL1
versionMajor	LITERAL1
versionMinor	LITERAL1
versionPatch	LITERAL1
versionString	LITERAL1
analogNormalizedMinimum	LITERAL1
analogNormalizedCenter	LITERAL1
analogNormalizedMaximum	LITERAL1
maximumSafeDuration	LITERAL1
invalidInputId	LITERAL1

# EventType
Pressed	LITERAL1
Released	LITERAL1
Click	LITERAL1
DoubleClick	LITERAL1
TripleClick	LITERAL1
LongPressStarted	LITERAL1
LongPressEnded	LITERAL1
Repeat	LITERAL1
RotatedClockwise	LITERAL1
RotatedCounterClockwise	LITERAL1
ValueChanged	LITERAL1
ThresholdEntered	LITERAL1
ThresholdExited	LITERAL1
ComboStarted	LITERAL1
ComboEnded	LITERAL1
SequenceMatched	LITERAL1
JoystickMoved	LITERAL1
JoystickDirectionChanged	LITERAL1

# EventFlags
None	LITERAL1
Coalesced	LITERAL1

# Status
Ok	LITERAL1
InvalidArgument	LITERAL1
Full	LITERAL1
NotFound	LITERAL1
Busy	LITERAL1
Duplicate	LITERAL1

# StartupPolicy / ThresholdStartup
Silent	LITERAL1
EmitActive	LITERAL1

# EncoderStepMode
Half	LITERAL1

# ThresholdDirection
Above	LITERAL1
Below	LITERAL1

# JoystickDeadZoneMode
Axial	LITERAL1
Radial	LITERAL1

# JoystickDirection
Center	LITERAL1
Up	LITERAL1
UpRight	LITERAL1
Right	LITERAL1
DownRight	LITERAL1
Down	LITERAL1
DownLeft	LITERAL1
Left	LITERAL1
UpLeft	LITERAL1

# SequenceTimeoutMode
PerStep	LITERAL1
WholeSequence	LITERAL1
