//////////////////////////////////////////////////////////////////////////////
//
// GameMonkey highlighter written by Matthew Riek and Greg Douglas
//
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
// language name

Language:               GameMonkey Script


//////////////////////////////////////////////////////////////////////////////
// default file filter
// note: if more than one extension is associated, eg:
// C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp

Filter:                 GameMonkey Script files (*.gm)|*.gm


//////////////////////////////////////////////////////////////////////////////
// help file which will be invokend when F1 is pressed

HelpFile:


//////////////////////////////////////////////////////////////////////////////
// language case sensitivity
//                      0  - no
//                      1  - yes

CaseSensitive:          1


//////////////////////////////////////////////////////////////////////////////
// comment type: LineComment - comment to the end of line
// BlockCommentBeg - block comment begin, it could be
// multiline
// BlockCommentEnd - block comment end

LineComment:            //
BlockCommentBeg:        /*
BlockCommentEnd:        */


//////////////////////////////////////////////////////////////////////////////
// identifier characters
// note: characters shouldn't be delimited, except arrays
// array of chars could be defined as from_char..to_char

IdentifierBegChars:     a..z A..Z _
IdentifierChars:        a..z A..Z _ 0..9

//////////////////////////////////////////////////////////////////////////////
// numeric constants begin characters
// note: characters shouldn't be delimited, except arrays
// array of chars could be defined as from_char..to_char
// number always starts with 0..9 except when NumConstBeg
// defines other

NumConstBegChars:       0..9


//////////////////////////////////////////////////////////////////////////////
// numeric constants characters
// note: characters shouldn't be delimited, except arrays
// array of chars could be defined as from_char..to_char
// number always starts with 0..9 except when NumConstBeg
// defines other

NumConstChars:          0..9 abcdefxABCDEFX .


//////////////////////////////////////////////////////////////////////////////
// escape character

EscapeChar:


//////////////////////////////////////////////////////////////////////////////
// keyword table
// note: delimited with spaces, lines could be wrapped
// you may divide keywords into two groups which can be
// highlighted differently

// op codes

KeyWords1:  if 
            else 
            for 
            foreach 
            in 
            and 
            or 
            while 
            dowhile 
            function
            return 
            continue 
            break 
            null 
            global 
            local 
            member 
            table
            true 
            false 
            this

KeyWords2:

KeyWords3:
            debug 
            typeId 
            typeName 
            typeRegisterOperator 
            typeRegisterVariable 
            sysCollectGarbage 
            sysGetMemoryUsage 
            sysGetDesiredMemoryUsageHard 
            sysGetDesiredMemoryUsageSoft 
            sysSetDesiredMemoryUsageHard 
            sysSetDesiredMemoryUsageSoft 
            sysSetDesiredMemoryUsageAuto 
            sysTime 
            doString 
            globals 
            threadTime 
            threadId 
            threadAllIds 
            threadKill 
            threadKillAll 
            thread 
            yield 
            exit 
            assert 
            sleep 
            signal 
            block 
            stateSet 
            stateSetOnThread 
            stateGet 
            stateGetLast 
            stateSetExitFunction 
            tableCount 
            tableDuplicate 
            print 
            format 

//////////////////////////////////////////////////////////////////////////////
// string delimiter: StringBegChar - string begin char
// StringEndChar - string end char
// MultilineStrings - enables multiline strings, as perl
// has it

StringBegChar:          "`'
StringEndChar:          "`'
MultilineStrings:       0


//////////////////////////////////////////////////////////////////////////////
// use preprocessor: 0 - no
// 1 - yes
// note: if yes, '#' and statements after it will be
// highlighted with Preprocessor defined colors

UsePreprocessor:        0


//////////////////////////////////////////////////////////////////////////////
// highlight line: 0 - no
// 1 - yes
// note: if yes, current line will be highlighted

CurrLineHighlighted:    0


//////////////////////////////////////////////////////////////////////////////
// colors
// note:                first value is foreground, second is background color
//                        and third (optional) represents font attribute:
//                        B - bold
//                        I - italic
//                        U - underline
//                        S - strike out
//                        attributes can be combined: eg. B or BI
//                      as value, it could be used any standard windows color:
//                        clBlack, clMaroon, clGreen, clOlive, clNavy,
//                        clPurple, clTeal, clGray, clSilver, clRed, clLime,
//                        clYellow, clBlue, clFuchsia, clAqua, clLtGray,
//                        clDkGray, clWhite, clScrollBar, clBackground,
//                        clActiveCaption, clInactiveCaption, clMenu, clWindow,
//                        clWindowFrame, clMenuText, clWindowText, clCaptionText,
//                        clActiveBorder, clInactiveBorder, clAppWorkSpace,
//                        clHighlight, clHighlightText, clBtnFace, clBtnShadow,
//                        clGrayText, clBtnText, clInactiveCaptionText,
//                        clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText,
//                        clInfoBk
//                      as value, it could be used hex numeric constant too:
//                        $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00

SpaceCol:               $00D0D0D0 clNavy
Keyword1Col:            clYellow clNavy
Keyword2Col:            clYellow clNavy
Keyword3Col:            $00FFC0C0 clNavy
IdentifierCol:          $00D0D0D0 clNavy
CommentCol:             $00C0C000 clNavy
NumberCol:              clLime clNavy
StringCol:              clLime clNavy
SymbolCol:              clWhite clNavy
PreprocessorCol:        $00FFFF40 clNavy
SelectionCol:           clNavy $00D0D0D0
CurrentLineCol:         clBlack clYellow

OverrideTxtFgColor:     0
BlockAutoindent:        0
BlockBegStr:
BlockEndStr:
MatchedBracesCol:       $008080FF clNavy
