{
    "aliases": [
        "pb",
        "pbi"
    ],
    "keywords": "Align And Array As Break CallDebugger Case CompilerCase CompilerDefault CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount Map Module NewList NewMap Next Not Or Procedure ProcedureC ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim Read Repeat Restore Return Runtime Select Shared Static Step Structure StructureUnion Swap Threaded To UndefineMacro Until Until  UnuseModule UseModule Wend While With XIncludeFile XOr",
    "contains": [
        {
            "className": "comment",
            "begin": ";",
            "end": "$",
            "contains": [
                {
                    "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
                },
                {
                    "className": "doctag",
                    "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
                    "relevance": 0
                }
            ],
            "relevance": 0
        },
        {
            "className": "function",
            "begin": "\\b(Procedure|Declare)(C|CDLL|DLL)?\\b",
            "end": "\\(",
            "excludeEnd": true,
            "returnBegin": true,
            "contains": [
                {
                    "className": "keyword",
                    "begin": "(Procedure|Declare)(C|CDLL|DLL)?",
                    "excludeEnd": true
                },
                {
                    "className": "type",
                    "begin": "\\.\\w*"
                },
                {
                    "className": "title",
                    "begin": "[a-zA-Z_]\\w*",
                    "relevance": 0
                }
            ]
        },
        {
            "className": "string",
            "begin": "(~)?\"",
            "end": "\"",
            "illegal": "\\n"
        },
        {
            "className": "symbol",
            "begin": "#[a-zA-Z_]\\w*\\$?"
        }
    ]
}
