{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/csharp.js"],"names":["module","exports","hljs","KEYWORDS","keyword","concat","join","built_in","literal","TITLE_MODE","inherit","begin","NUMBERS","className","variants","relevance","VERBATIM_STRING","end","contains","VERBATIM_STRING_NO_LF","illegal","SUBST","keywords","SUBST_NO_LF","INTERPOLATED_STRING","BACKSLASH_ESCAPE","INTERPOLATED_VERBATIM_STRING","INTERPOLATED_VERBATIM_STRING_NO_LF","APOS_STRING_MODE","QUOTE_STRING_MODE","C_BLOCK_COMMENT_MODE","STRING","GENERIC_MODIFIER","beginKeywords","TYPE_IDENT_RE","IDENT_RE","AT_IDENTIFIER","name","aliases","COMMENT","returnBegin","C_LINE_COMMENT_MODE","excludeBegin","excludeEnd"],"mappings":"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","file":"react-syntax-highlighter_languages_highlight_csharp-cad394d75b587bf068ff.js","sourcesContent":["/*\nLanguage: C#\nAuthor: Jason Diamond <jason@diamond.name>\nContributor: Nicolas LLOBERA <nllobera@gmail.com>, Pieter Vantorre <pietervantorre@gmail.com>, David Pine <david.pine@microsoft.com>\nWebsite: https://docs.microsoft.com/en-us/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n  var BUILT_IN_KEYWORDS = ['bool', 'byte', 'char', 'decimal', 'delegate', 'double', 'dynamic', 'enum', 'float', 'int', 'long', 'nint', 'nuint', 'object', 'sbyte', 'short', 'string', 'ulong', 'unit', 'ushort'];\n  var FUNCTION_MODIFIERS = ['public', 'private', 'protected', 'static', 'internal', 'protected', 'abstract', 'async', 'extern', 'override', 'unsafe', 'virtual', 'new', 'sealed', 'partial'];\n  var LITERAL_KEYWORDS = ['default', 'false', 'null', 'true'];\n  var NORMAL_KEYWORDS = ['abstract', 'as', 'base', 'break', 'case', 'class', 'const', 'continue', 'do', 'else', 'event', 'explicit', 'extern', 'finally', 'fixed', 'for', 'foreach', 'goto', 'if', 'implicit', 'in', 'interface', 'internal', 'is', 'lock', 'namespace', 'new', 'operator', 'out', 'override', 'params', 'private', 'protected', 'public', 'readonly', 'record', 'ref', 'return', 'sealed', 'sizeof', 'stackalloc', 'static', 'struct', 'switch', 'this', 'throw', 'try', 'typeof', 'unchecked', 'unsafe', 'using', 'virtual', 'void', 'volatile', 'while'];\n  var CONTEXTUAL_KEYWORDS = ['add', 'alias', 'and', 'ascending', 'async', 'await', 'by', 'descending', 'equals', 'from', 'get', 'global', 'group', 'init', 'into', 'join', 'let', 'nameof', 'not', 'notnull', 'on', 'or', 'orderby', 'partial', 'remove', 'select', 'set', 'unmanaged', 'value', 'var', 'when', 'where', 'with', 'yield'];\n  var KEYWORDS = {\n    keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS).join(' '),\n    built_in: BUILT_IN_KEYWORDS.join(' '),\n    literal: LITERAL_KEYWORDS.join(' ')\n  };\n  var TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, {\n    begin: '[a-zA-Z](\\\\.?\\\\w)*'\n  });\n  var NUMBERS = {\n    className: 'number',\n    variants: [{\n      begin: '\\\\b(0b[01\\']+)'\n    }, {\n      begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)'\n    }, {\n      begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)'\n    }],\n    relevance: 0\n  };\n  var VERBATIM_STRING = {\n    className: 'string',\n    begin: '@\"',\n    end: '\"',\n    contains: [{\n      begin: '\"\"'\n    }]\n  };\n  var VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, {\n    illegal: /\\n/\n  });\n  var SUBST = {\n    className: 'subst',\n    begin: '{',\n    end: '}',\n    keywords: KEYWORDS\n  };\n  var SUBST_NO_LF = hljs.inherit(SUBST, {\n    illegal: /\\n/\n  });\n  var INTERPOLATED_STRING = {\n    className: 'string',\n    begin: /\\$\"/,\n    end: '\"',\n    illegal: /\\n/,\n    contains: [{\n      begin: '{{'\n    }, {\n      begin: '}}'\n    }, hljs.BACKSLASH_ESCAPE, SUBST_NO_LF]\n  };\n  var INTERPOLATED_VERBATIM_STRING = {\n    className: 'string',\n    begin: /\\$@\"/,\n    end: '\"',\n    contains: [{\n      begin: '{{'\n    }, {\n      begin: '}}'\n    }, {\n      begin: '\"\"'\n    }, SUBST]\n  };\n  var INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n    illegal: /\\n/,\n    contains: [{\n      begin: '{{'\n    }, {\n      begin: '}}'\n    }, {\n      begin: '\"\"'\n    }, SUBST_NO_LF]\n  });\n  SUBST.contains = [INTERPOLATED_VERBATIM_STRING, INTERPOLATED_STRING, VERBATIM_STRING, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, NUMBERS, hljs.C_BLOCK_COMMENT_MODE];\n  SUBST_NO_LF.contains = [INTERPOLATED_VERBATIM_STRING_NO_LF, INTERPOLATED_STRING, VERBATIM_STRING_NO_LF, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, NUMBERS, hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, {\n    illegal: /\\n/\n  })];\n  var STRING = {\n    variants: [INTERPOLATED_VERBATIM_STRING, INTERPOLATED_STRING, VERBATIM_STRING, hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE]\n  };\n  var GENERIC_MODIFIER = {\n    begin: \"<\",\n    end: \">\",\n    contains: [{\n      beginKeywords: \"in out\"\n    }, TITLE_MODE]\n  };\n  var TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n  var AT_IDENTIFIER = {\n    // prevents expressions like `@class` from incorrect flagging\n    // `class` as a keyword\n    begin: \"@\" + hljs.IDENT_RE,\n    relevance: 0\n  };\n  return {\n    name: 'C#',\n    aliases: ['cs', 'c#'],\n    keywords: KEYWORDS,\n    illegal: /::/,\n    contains: [hljs.COMMENT('///', '$', {\n      returnBegin: true,\n      contains: [{\n        className: 'doctag',\n        variants: [{\n          begin: '///',\n          relevance: 0\n        }, {\n          begin: '<!--|-->'\n        }, {\n          begin: '</?',\n          end: '>'\n        }]\n      }]\n    }), hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, {\n      className: 'meta',\n      begin: '#',\n      end: '$',\n      keywords: {\n        'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum'\n      }\n    }, STRING, NUMBERS, {\n      beginKeywords: 'class interface',\n      end: /[{;=]/,\n      illegal: /[^\\s:,]/,\n      contains: [{\n        beginKeywords: \"where class\"\n      }, TITLE_MODE, GENERIC_MODIFIER, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE]\n    }, {\n      beginKeywords: 'namespace',\n      end: /[{;=]/,\n      illegal: /[^\\s:]/,\n      contains: [TITLE_MODE, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE]\n    }, {\n      beginKeywords: 'record',\n      end: /[{;=]/,\n      illegal: /[^\\s:]/,\n      contains: [TITLE_MODE, GENERIC_MODIFIER, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE]\n    }, {\n      // [Attributes(\"\")]\n      className: 'meta',\n      begin: '^\\\\s*\\\\[',\n      excludeBegin: true,\n      end: '\\\\]',\n      excludeEnd: true,\n      contains: [{\n        className: 'meta-string',\n        begin: /\"/,\n        end: /\"/\n      }]\n    }, {\n      // Expression keywords prevent 'keyword Name(...)' from being\n      // recognized as a function definition\n      beginKeywords: 'new return throw await else',\n      relevance: 0\n    }, {\n      className: 'function',\n      begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(\\\\<.+\\\\>)?\\\\s*\\\\(',\n      returnBegin: true,\n      end: /\\s*[{;=]/,\n      excludeEnd: true,\n      keywords: KEYWORDS,\n      contains: [// prevents these from being highlighted `title`\n      {\n        beginKeywords: FUNCTION_MODIFIERS.join(\" \")\n      }, {\n        begin: hljs.IDENT_RE + '\\\\s*(\\\\<.+\\\\>)?\\\\s*\\\\(',\n        returnBegin: true,\n        contains: [hljs.TITLE_MODE, GENERIC_MODIFIER],\n        relevance: 0\n      }, {\n        className: 'params',\n        begin: /\\(/,\n        end: /\\)/,\n        excludeBegin: true,\n        excludeEnd: true,\n        keywords: KEYWORDS,\n        relevance: 0,\n        contains: [STRING, NUMBERS, hljs.C_BLOCK_COMMENT_MODE]\n      }, hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE]\n    }, AT_IDENTIFIER]\n  };\n}\n\nmodule.exports = csharp;"],"sourceRoot":""}