{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/purebasic.js"],"names":["module","exports","hljs","name","aliases","keywords","contains","COMMENT","relevance","className","begin","end","excludeEnd","returnBegin","UNDERSCORE_TITLE_MODE","illegal"],"mappings":"8EA4EAA,EAAOC,QApEP,SAAmBC,GAcjB,MAAO,CACLC,KAAM,YACNC,QAAS,CAAC,KAAM,OAChBC,SAEA,6iCACAC,SAAU,CACVJ,EAAKK,QAAQ,IAAK,IAAK,CACrBC,UAAW,IACT,CAEFC,UAAW,WACXC,MAAO,yCACPC,IAAK,MACLC,YAAY,EACZC,aAAa,EACbP,SAAU,CAAC,CAETG,UAAW,UACXC,MAAO,mCACPE,YAAY,GACX,CAEDH,UAAW,OACXC,MAAO,WAENR,EAAKY,wBAvCE,CAEZL,UAAW,SACXC,MAAO,QACPC,IAAK,IACLI,QAAS,OAEK,CAGdN,UAAW,SACXC,MAAO","file":"react-syntax-highlighter_languages_highlight_purebasic-e647019990f2cb67e833.js","sourcesContent":["/*\nLanguage: PureBASIC\nAuthor: Tristano Ajmone <tajmone@gmail.com>\nDescription: Syntax highlighting for PureBASIC (v.5.00-5.60). No inline ASM highlighting. (v.1.2, May 2017)\nCredits: I've taken inspiration from the PureBasic language file for GeSHi, created by Gustavo Julio Fiorenza (GuShH).\nWebsite: https://www.purebasic.com\n*/\n// Base deafult colors in PB IDE: background: #FFFFDF; foreground: #000000;\nfunction purebasic(hljs) {\n  var STRINGS = {\n    // PB IDE color: #0080FF (Azure Radiance)\n    className: 'string',\n    begin: '(~)?\"',\n    end: '\"',\n    illegal: '\\\\n'\n  };\n  var CONSTANTS = {\n    // PB IDE color: #924B72 (Cannon Pink)\n    //  \"#\" + a letter or underscore + letters, digits or underscores + (optional) \"$\"\n    className: 'symbol',\n    begin: '#[a-zA-Z_]\\\\w*\\\\$?'\n  };\n  return {\n    name: 'PureBASIC',\n    aliases: ['pb', 'pbi'],\n    keywords: // PB IDE color: #006666 (Blue Stone) + Bold\n    // Keywords from all version of PureBASIC 5.00 upward ...\n    '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',\n    contains: [// COMMENTS | PB IDE color: #00AAAA (Persian Green)\n    hljs.COMMENT(';', '$', {\n      relevance: 0\n    }), {\n      // PROCEDURES DEFINITIONS\n      className: 'function',\n      begin: '\\\\b(Procedure|Declare)(C|CDLL|DLL)?\\\\b',\n      end: '\\\\(',\n      excludeEnd: true,\n      returnBegin: true,\n      contains: [{\n        // PROCEDURE KEYWORDS | PB IDE color: #006666 (Blue Stone) + Bold\n        className: 'keyword',\n        begin: '(Procedure|Declare)(C|CDLL|DLL)?',\n        excludeEnd: true\n      }, {\n        // PROCEDURE RETURN TYPE SETTING | PB IDE color: #000000 (Black)\n        className: 'type',\n        begin: '\\\\.\\\\w*' // end: ' ',\n\n      }, hljs.UNDERSCORE_TITLE_MODE // PROCEDURE NAME | PB IDE color: #006666 (Blue Stone)\n      ]\n    }, STRINGS, CONSTANTS]\n  };\n}\n/*  ==============================================================================\n                                      CHANGELOG\n    ==============================================================================\n    - v.1.2 (2017-05-12)\n        -- BUG-FIX: Some keywords were accidentally joyned together. Now fixed.\n    - v.1.1 (2017-04-30)\n        -- Updated to PureBASIC 5.60.\n        -- Keywords list now built by extracting them from the PureBASIC SDK's\n           \"SyntaxHilighting.dll\" (from each PureBASIC version). Tokens from each\n           version are added to the list, and renamed or removed tokens are kept\n           for the sake of covering all versions of the language from PureBASIC\n           v5.00 upward. (NOTE: currently, there are no renamed or deprecated\n           tokens in the keywords list). For more info, see:\n           -- http://www.purebasic.fr/english/viewtopic.php?&p=506269\n           -- https://github.com/tajmone/purebasic-archives/tree/master/syntax-highlighting/guidelines\n    - v.1.0 (April 2016)\n        -- First release\n        -- Keywords list taken and adapted from GuShH's (Gustavo Julio Fiorenza)\n           PureBasic language file for GeSHi:\n           -- https://github.com/easybook/geshi/blob/master/geshi/purebasic.php\n*/\n\n\nmodule.exports = purebasic;"],"sourceRoot":""}