###################################################################################
# (GNU) SmallTalk syntax highlighting by Carlos Rodrigues <a9566@lei.di.fct.unl.pt> #
###################################################################################

# I guess this is not very syntax strict, but it makes the code
# a lot more readable.

context default
    keyword whole methodsFor yellow
    keyword whole subclass yellow
    keyword whole class yellow
    keyword whole nil yellow
    keyword whole self yellow
    keyword whole instanceVariableNames yellow
    keyword whole classVariableNames yellow
    keyword whole poolDictionaries yellow
    keyword whole category yellow
    keyword whole super yellow
    keyword whole category yellow
    keyword whole variableSubclass yellow
    keyword whole variableByteSubclass yellow
    keyword whole variableWordSubclass yellow
    keyword whole superclass yellow

    keyword whole not brightmagenta
    keyword whole comment brightmagenta
    keyword whole error brightmagenta
    keyword whole at brightmagenta
    keyword whole put brightmagenta
    keyword whole add brightmagenta
    keyword whole remove brightmagenta
    keyword whole new brightmagenta
    keyword whole ifTrue brightmagenta
    keyword whole ifFalse brightmagenta
    keyword whole whileTrue brightmagenta
    keyword whole whileFalse brightmagenta
    keyword whole ifAbsent brightmagenta
    keyword whole init brightmagenta
    keyword whole do brightmagenta
    keyword whole from brightmagenta
    keyword whole with brightmagenta
    keyword whole do brightmagenta
    keyword whole true brightmagenta
    keyword whole false brightmagenta
    keyword whole or brightmagenta
    keyword whole and brightmagenta
    keyword whole to brightmagenta
    keyword whole by brightmagenta

    keyword whole Smalltalk brightgreen
    keyword whole Object brightgreen
    keyword whole Autoload brightgreen
    keyword whole Behavior brightgreen
    keyword whole ClassDescription brightgreen
    keyword whole Class brightgreen
    keyword whole MetaClass brightgreen
    keyword whole BlockContext brightgreen
    keyword whole Boolean brightgreen
    keyword whole False brightgreen
    keyword whole True brightgreen
    keyword whole CFunctionDescriptor brightgreen
    keyword whole CObject brightgreen
    keyword whole Collection brightgreen
    keyword whole Bag brightgreen
    keyword whole MappedCollection brightgreen
    keyword whole SequenceableCollection brightgreen
    keyword whole ArrayedCollection brightgreen
    keyword whole Array brightgreen
    keyword whole ByteArray brightgreen
    keyword whole CompiledCollection brightgreen
    keyword whole String brightgreen
    keyword whole Symbol brightgreen
    keyword whole Interval brightgreen
    keyword whole LinkedList brightgreen
    keyword whole Semaphore brightgreen
    keyword whole OrderedCollection brightgreen
    keyword whole SortedCollection brightgreen
    keyword whole Set brightgreen
    keyword whole Dictionary brightgreen
    keyword whole IdentityDictionary brightgreen
    keyword whole SystemDictionary brightgreen
    keyword whole Delay brightgreen
    keyword whole FileSegment brightgreen
    keyword whole Link brightgreen
    keyword whole Process brightgreen
    keyword whole SymLink brightgreen
    keyword whole Magnitude brightgreen
    keyword whole Character brightgreen
    keyword whole Date brightgreen
    keyword whole LookupKey brightgreen
    keyword whole Association brightgreen
    keyword whole Number brightgreen
    keyword whole Float brightgreen
    keyword whole Integer brightgreen
    keyword whole Time brightgreen
    keyword whole Memory brightgreen
    keyword whole ByteMemory brightgreen
    keyword whole WordMemory brightgreen
    keyword whole Message brightgreen
    keyword whole MethodContext brightgreen
    keyword whole MethodInfo brightgreen
    keyword whole ProcessorScheduler brightgreen
    keyword whole SharedQueue brightgreen
    keyword whole Stream brightgreen
    keyword whole PositionableStream brightgreen
    keyword whole ReadStream brightgreen
    keyword whole WriteStream brightgreen
    keyword whole ReadWriteStream brightgreen
    keyword whole FileStream brightgreen
    keyword whole Random brightgreen
    keyword whole TokenStream brightgreen
    keyword whole UndefinedObject brightgreen

    keyword wholeright !! brightred
    keyword wholeright ! brightred
    keyword wholeleft ! brightred
    keyword wholeright . brightred

    keyword > cyan
    keyword <> cyan
    keyword < cyan
    keyword \+ cyan
    keyword - cyan
    keyword \* cyan
    keyword / cyan
    keyword % cyan
    keyword = cyan
    keyword | cyan
    keyword # cyan
    keyword @ cyan
    keyword ^ cyan
    keyword { cyan
    keyword } cyan
    keyword ( cyan
    keyword ) cyan
    keyword [ cyan
    keyword ] cyan
    keyword , cyan
    keyword : cyan
    keyword & cyan
    keyword $ cyan
    keyword . cyan
    keyword ! cyan
    keyword ; cyan
    keyword _ cyan
    keyword ~ cyan
    keyword ? cyan

context $ ; cyan

context " " brown

context ' ' brightcyan

    keyword \\\n brightmagenta
    keyword \\" brightmagenta
    keyword \\\\ brightmagenta
    keyword \\' brightmagenta
