{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/powershell.js"],"names":["module","exports","hljs","KEYWORDS","$pattern","keyword","built_in","BACKTICK_ESCAPE","begin","relevance","VAR","className","variants","QUOTE_STRING","end","contains","APOS_STRING","PS_COMMENT","inherit","COMMENT","CMDLETS","concat","PS_CLASS","beginKeywords","excludeEnd","TITLE_MODE","PS_FUNCTION","returnBegin","PS_USING","PS_ARGUMENTS","PS_METHODS","toString","replace","endsParent","GENTLEMANS_SET","NUMBER_MODE","PS_TYPE","excludeBegin","join","unshift","name","aliases","case_insensitive","keywords"],"mappings":"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","file":"react-syntax-highlighter_languages_highlight_powershell-5daa9a8bd5a1b3f5c4ba.js","sourcesContent":["/*\nLanguage: PowerShell\nDescription: PowerShell is a task-based command-line shell and scripting language built on .NET.\nAuthor: David Mohundro <david@mohundro.com>\nContributors: Nicholas Blumhardt <nblumhardt@nblumhardt.com>, Victor Zhou <OiCMudkips@users.noreply.github.com>, Nicolas Le Gall <contact@nlegall.fr>\nWebsite: https://docs.microsoft.com/en-us/powershell/\n*/\nfunction powershell(hljs) {\n  var TYPES = [\"string\", \"char\", \"byte\", \"int\", \"long\", \"bool\", \"decimal\", \"single\", \"double\", \"DateTime\", \"xml\", \"array\", \"hashtable\", \"void\"]; // https://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx\n\n  var VALID_VERBS = 'Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|' + 'Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|' + 'Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|' + 'Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|' + 'ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|' + 'Limit|Merge|New|Out|Publish|Restore|Save|Sync|Unpublish|Update|' + 'Approve|Assert|Complete|Confirm|Deny|Disable|Enable|Install|Invoke|Register|' + 'Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|' + 'Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|' + 'Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|' + 'Unprotect|Use|ForEach|Sort|Tee|Where';\n  var COMPARISON_OPERATORS = '-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|' + '-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|' + '-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|' + '-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|' + '-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|' + '-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|' + '-split|-wildcard|-xor';\n  var KEYWORDS = {\n    $pattern: /-?[A-z\\.\\-]+\\b/,\n    keyword: 'if else foreach return do while until elseif begin for trap data dynamicparam ' + 'end break throw param continue finally in switch exit filter try process catch ' + 'hidden static parameter',\n    // \"echo\" relevance has been set to 0 to avoid auto-detect conflicts with shell transcripts\n    built_in: 'ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp ' + 'cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx ' + 'fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group ' + 'gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi ' + 'iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh ' + 'popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp ' + 'rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp ' + 'spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write' // TODO: 'validate[A-Z]+' can't work in keywords\n\n  };\n  var TITLE_NAME_RE = /\\w[\\w\\d]*((-)[\\w\\d]+)*/;\n  var BACKTICK_ESCAPE = {\n    begin: '`[\\\\s\\\\S]',\n    relevance: 0\n  };\n  var VAR = {\n    className: 'variable',\n    variants: [{\n      begin: /\\$\\B/\n    }, {\n      className: 'keyword',\n      begin: /\\$this/\n    }, {\n      begin: /\\$[\\w\\d][\\w\\d_:]*/\n    }]\n  };\n  var LITERAL = {\n    className: 'literal',\n    begin: /\\$(null|true|false)\\b/\n  };\n  var QUOTE_STRING = {\n    className: \"string\",\n    variants: [{\n      begin: /\"/,\n      end: /\"/\n    }, {\n      begin: /@\"/,\n      end: /^\"@/\n    }],\n    contains: [BACKTICK_ESCAPE, VAR, {\n      className: 'variable',\n      begin: /\\$[A-z]/,\n      end: /[^A-z]/\n    }]\n  };\n  var APOS_STRING = {\n    className: 'string',\n    variants: [{\n      begin: /'/,\n      end: /'/\n    }, {\n      begin: /@'/,\n      end: /^'@/\n    }]\n  };\n  var PS_HELPTAGS = {\n    className: \"doctag\",\n    variants: [\n    /* no paramater help tags */\n    {\n      begin: /\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/\n    },\n    /* one parameter help tags */\n    {\n      begin: /\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/\n    }]\n  };\n  var PS_COMMENT = hljs.inherit(hljs.COMMENT(null, null), {\n    variants: [\n    /* single-line comment */\n    {\n      begin: /#/,\n      end: /$/\n    },\n    /* multi-line comment */\n    {\n      begin: /<#/,\n      end: /#>/\n    }],\n    contains: [PS_HELPTAGS]\n  });\n  var CMDLETS = {\n    className: 'built_in',\n    variants: [{\n      begin: '('.concat(VALID_VERBS, ')+(-)[\\\\w\\\\d]+')\n    }]\n  };\n  var PS_CLASS = {\n    className: 'class',\n    beginKeywords: 'class enum',\n    end: /\\s*[{]/,\n    excludeEnd: true,\n    relevance: 0,\n    contains: [hljs.TITLE_MODE]\n  };\n  var PS_FUNCTION = {\n    className: 'function',\n    begin: /function\\s+/,\n    end: /\\s*\\{|$/,\n    excludeEnd: true,\n    returnBegin: true,\n    relevance: 0,\n    contains: [{\n      begin: \"function\",\n      relevance: 0,\n      className: \"keyword\"\n    }, {\n      className: \"title\",\n      begin: TITLE_NAME_RE,\n      relevance: 0\n    }, {\n      begin: /\\(/,\n      end: /\\)/,\n      className: \"params\",\n      relevance: 0,\n      contains: [VAR]\n    } // CMDLETS\n    ]\n  }; // Using statment, plus type, plus assembly name.\n\n  var PS_USING = {\n    begin: /using\\s/,\n    end: /$/,\n    returnBegin: true,\n    contains: [QUOTE_STRING, APOS_STRING, {\n      className: 'keyword',\n      begin: /(using|assembly|command|module|namespace|type)/\n    }]\n  }; // Comperison operators & function named parameters.\n\n  var PS_ARGUMENTS = {\n    variants: [// PS literals are pretty verbose so it's a good idea to accent them a bit.\n    {\n      className: 'operator',\n      begin: '('.concat(COMPARISON_OPERATORS, ')\\\\b')\n    }, {\n      className: 'literal',\n      begin: /(-)[\\w\\d]+/,\n      relevance: 0\n    }]\n  };\n  var HASH_SIGNS = {\n    className: 'selector-tag',\n    begin: /\\@\\B/,\n    relevance: 0\n  }; // It's a very general rule so I'll narrow it a bit with some strict boundaries\n  // to avoid any possible false-positive collisions!\n\n  var PS_METHODS = {\n    className: 'function',\n    begin: /\\[.*\\]\\s*[\\w]+[ ]??\\(/,\n    end: /$/,\n    returnBegin: true,\n    relevance: 0,\n    contains: [{\n      className: 'keyword',\n      begin: '('.concat(KEYWORDS.keyword.toString().replace(/\\s/g, '|'), ')\\\\b'),\n      endsParent: true,\n      relevance: 0\n    }, hljs.inherit(hljs.TITLE_MODE, {\n      endsParent: true\n    })]\n  };\n  var GENTLEMANS_SET = [// STATIC_MEMBER,\n  PS_METHODS, PS_COMMENT, BACKTICK_ESCAPE, hljs.NUMBER_MODE, QUOTE_STRING, APOS_STRING, // PS_NEW_OBJECT_TYPE,\n  CMDLETS, VAR, LITERAL, HASH_SIGNS];\n  var PS_TYPE = {\n    begin: /\\[/,\n    end: /\\]/,\n    excludeBegin: true,\n    excludeEnd: true,\n    relevance: 0,\n    contains: [].concat('self', GENTLEMANS_SET, {\n      begin: \"(\" + TYPES.join(\"|\") + \")\",\n      className: \"built_in\",\n      relevance: 0\n    }, {\n      className: 'type',\n      begin: /[\\.\\w\\d]+/,\n      relevance: 0\n    })\n  };\n  PS_METHODS.contains.unshift(PS_TYPE);\n  return {\n    name: 'PowerShell',\n    aliases: [\"ps\", \"ps1\"],\n    case_insensitive: true,\n    keywords: KEYWORDS,\n    contains: GENTLEMANS_SET.concat(PS_CLASS, PS_FUNCTION, PS_USING, PS_ARGUMENTS, PS_TYPE)\n  };\n}\n\nmodule.exports = powershell;"],"sourceRoot":""}