# IDL mode - Don Mahurin

colorize IDL {
    SyntaxParser = 'C';

    color {
        { 'Normal',        'Editor_Default' },
        { 'Number',        'Lang_DecimalNumber' },
        { 'HexNumber',     'Lang_HexNumber' },
        { 'Punctuation',   'Lang_Punctuation' },
        { 'String',        'Lang_String' },
        { 'Comment',       'Lang_Comment' },
        { 'CPreprocessor', 'Lang_Preprocessor' },
        { 'Function',      'Lang_Function' },
        { 'Label',         'Lang_Label' },
    };

    keyword 'Editor_Keywords'
    {
       'struct', 'typedef', 'int', 'enum', 'char', 'void', 'long',
       'const', 'float',
       'short', 'union',
       'double',
       'public',
       'signed',
       'static',
       'private',  'virtual',
       'unsigned',
       'bool',
    };
}

mode IDL: C {      # IDL Mode
    FileNameRx          = /\.\c{IDL}$/;
    HilitOn             = 1;
    Colorizer           = 'IDL';
    AutoIndent          = 1;
    IndentMode          = 'C';
    MatchCase           = 1;
    Trim                = 1;
    MultiLineHilit      = 1;
    AutoHilitParen      = 1;

    RoutineRegexp       = /^\w[\w_:*&~]+[\w\\s_:*&~]@\(.*\){\s*\{}?\s*$/;

    SaveFolds           = 2;      # save fold info at end of line
    CommentStart        = ' /*';
    CommentEnd          = '*/';
}
