{"version":3,"file":"csharp.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/csharp.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/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n  const BUILT_IN_KEYWORDS = [\n    'bool',\n    'byte',\n    'char',\n    'decimal',\n    'delegate',\n    'double',\n    'dynamic',\n    'enum',\n    'float',\n    'int',\n    'long',\n    'nint',\n    'nuint',\n    'object',\n    'sbyte',\n    'short',\n    'string',\n    'ulong',\n    'uint',\n    'ushort'\n  ];\n  const FUNCTION_MODIFIERS = [\n    'public',\n    'private',\n    'protected',\n    'static',\n    'internal',\n    'protected',\n    'abstract',\n    'async',\n    'extern',\n    'override',\n    'unsafe',\n    'virtual',\n    'new',\n    'sealed',\n    'partial'\n  ];\n  const LITERAL_KEYWORDS = [\n    'default',\n    'false',\n    'null',\n    'true'\n  ];\n  const NORMAL_KEYWORDS = [\n    'abstract',\n    'as',\n    'base',\n    'break',\n    'case',\n    'catch',\n    'class',\n    'const',\n    'continue',\n    'do',\n    'else',\n    'event',\n    'explicit',\n    'extern',\n    'finally',\n    'fixed',\n    'for',\n    'foreach',\n    'goto',\n    'if',\n    'implicit',\n    'in',\n    'interface',\n    'internal',\n    'is',\n    'lock',\n    'namespace',\n    'new',\n    'operator',\n    'out',\n    'override',\n    'params',\n    'private',\n    'protected',\n    'public',\n    'readonly',\n    'record',\n    'ref',\n    'return',\n    'scoped',\n    'sealed',\n    'sizeof',\n    'stackalloc',\n    'static',\n    'struct',\n    'switch',\n    'this',\n    'throw',\n    'try',\n    'typeof',\n    'unchecked',\n    'unsafe',\n    'using',\n    'virtual',\n    'void',\n    'volatile',\n    'while'\n  ];\n  const CONTEXTUAL_KEYWORDS = [\n    'add',\n    'alias',\n    'and',\n    'ascending',\n    'async',\n    'await',\n    'by',\n    'descending',\n    'equals',\n    'from',\n    'get',\n    'global',\n    'group',\n    'init',\n    'into',\n    'join',\n    'let',\n    'nameof',\n    'not',\n    'notnull',\n    'on',\n    'or',\n    'orderby',\n    'partial',\n    'remove',\n    'select',\n    'set',\n    'unmanaged',\n    'value|0',\n    'var',\n    'when',\n    'where',\n    'with',\n    'yield'\n  ];\n\n  const KEYWORDS = {\n    keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n    built_in: BUILT_IN_KEYWORDS,\n    literal: LITERAL_KEYWORDS\n  };\n  const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n  const NUMBERS = {\n    className: 'number',\n    variants: [\n      { begin: '\\\\b(0b[01\\']+)' },\n      { begin: '(-?)\\\\b([\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)(u|U|l|L|ul|UL|f|F|b|B)' },\n      { begin: '(-?)(\\\\b0[xX][a-fA-F0-9\\']+|(\\\\b[\\\\d\\']+(\\\\.[\\\\d\\']*)?|\\\\.[\\\\d\\']+)([eE][-+]?[\\\\d\\']+)?)' }\n    ],\n    relevance: 0\n  };\n  const RAW_STRING = {\n    className: 'string',\n    begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n    relevance: 1\n  };\n  const VERBATIM_STRING = {\n    className: 'string',\n    begin: '@\"',\n    end: '\"',\n    contains: [ { begin: '\"\"' } ]\n  };\n  const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n  const SUBST = {\n    className: 'subst',\n    begin: /\\{/,\n    end: /\\}/,\n    keywords: KEYWORDS\n  };\n  const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n  const INTERPOLATED_STRING = {\n    className: 'string',\n    begin: /\\$\"/,\n    end: '\"',\n    illegal: /\\n/,\n    contains: [\n      { begin: /\\{\\{/ },\n      { begin: /\\}\\}/ },\n      hljs.BACKSLASH_ESCAPE,\n      SUBST_NO_LF\n    ]\n  };\n  const INTERPOLATED_VERBATIM_STRING = {\n    className: 'string',\n    begin: /\\$@\"/,\n    end: '\"',\n    contains: [\n      { begin: /\\{\\{/ },\n      { begin: /\\}\\}/ },\n      { begin: '\"\"' },\n      SUBST\n    ]\n  };\n  const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n    illegal: /\\n/,\n    contains: [\n      { begin: /\\{\\{/ },\n      { begin: /\\}\\}/ },\n      { begin: '\"\"' },\n      SUBST_NO_LF\n    ]\n  });\n  SUBST.contains = [\n    INTERPOLATED_VERBATIM_STRING,\n    INTERPOLATED_STRING,\n    VERBATIM_STRING,\n    hljs.APOS_STRING_MODE,\n    hljs.QUOTE_STRING_MODE,\n    NUMBERS,\n    hljs.C_BLOCK_COMMENT_MODE\n  ];\n  SUBST_NO_LF.contains = [\n    INTERPOLATED_VERBATIM_STRING_NO_LF,\n    INTERPOLATED_STRING,\n    VERBATIM_STRING_NO_LF,\n    hljs.APOS_STRING_MODE,\n    hljs.QUOTE_STRING_MODE,\n    NUMBERS,\n    hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n  ];\n  const STRING = { variants: [\n    RAW_STRING,\n    INTERPOLATED_VERBATIM_STRING,\n    INTERPOLATED_STRING,\n    VERBATIM_STRING,\n    hljs.APOS_STRING_MODE,\n    hljs.QUOTE_STRING_MODE\n  ] };\n\n  const GENERIC_MODIFIER = {\n    begin: \"<\",\n    end: \">\",\n    contains: [\n      { beginKeywords: \"in out\" },\n      TITLE_MODE\n    ]\n  };\n  const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n  const 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\n  return {\n    name: 'C#',\n    aliases: [\n      'cs',\n      'c#'\n    ],\n    keywords: KEYWORDS,\n    illegal: /::/,\n    contains: [\n      hljs.COMMENT(\n        '///',\n        '$',\n        {\n          returnBegin: true,\n          contains: [\n            {\n              className: 'doctag',\n              variants: [\n                {\n                  begin: '///',\n                  relevance: 0\n                },\n                { begin: '<!--|-->' },\n                {\n                  begin: '</?',\n                  end: '>'\n                }\n              ]\n            }\n          ]\n        }\n      ),\n      hljs.C_LINE_COMMENT_MODE,\n      hljs.C_BLOCK_COMMENT_MODE,\n      {\n        className: 'meta',\n        begin: '#',\n        end: '$',\n        keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n      },\n      STRING,\n      NUMBERS,\n      {\n        beginKeywords: 'class interface',\n        relevance: 0,\n        end: /[{;=]/,\n        illegal: /[^\\s:,]/,\n        contains: [\n          { beginKeywords: \"where class\" },\n          TITLE_MODE,\n          GENERIC_MODIFIER,\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      {\n        beginKeywords: 'namespace',\n        relevance: 0,\n        end: /[{;=]/,\n        illegal: /[^\\s:]/,\n        contains: [\n          TITLE_MODE,\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      {\n        beginKeywords: 'record',\n        relevance: 0,\n        end: /[{;=]/,\n        illegal: /[^\\s:]/,\n        contains: [\n          TITLE_MODE,\n          GENERIC_MODIFIER,\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      {\n        // [Attributes(\"\")]\n        className: 'meta',\n        begin: '^\\\\s*\\\\[(?=[\\\\w])',\n        excludeBegin: true,\n        end: '\\\\]',\n        excludeEnd: true,\n        contains: [\n          {\n            className: 'string',\n            begin: /\"/,\n            end: /\"/\n          }\n        ]\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      {\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: [\n          // prevents these from being highlighted `title`\n          {\n            beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n            relevance: 0\n          },\n          {\n            begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n            returnBegin: true,\n            contains: [\n              hljs.TITLE_MODE,\n              GENERIC_MODIFIER\n            ],\n            relevance: 0\n          },\n          { match: /\\(\\)/ },\n          {\n            className: 'params',\n            begin: /\\(/,\n            end: /\\)/,\n            excludeBegin: true,\n            excludeEnd: true,\n            keywords: KEYWORDS,\n            relevance: 0,\n            contains: [\n              STRING,\n              NUMBERS,\n              hljs.C_BLOCK_COMMENT_MODE\n            ]\n          },\n          hljs.C_LINE_COMMENT_MODE,\n          hljs.C_BLOCK_COMMENT_MODE\n        ]\n      },\n      AT_IDENTIFIER\n    ]\n  };\n}\n\nmodule.exports = csharp;\n"],"names":["csharp","hljs","BUILT_IN_KEYWORDS","FUNCTION_MODIFIERS","LITERAL_KEYWORDS","NORMAL_KEYWORDS","CONTEXTUAL_KEYWORDS","KEYWORDS","TITLE_MODE","NUMBERS","RAW_STRING","VERBATIM_STRING","VERBATIM_STRING_NO_LF","SUBST","SUBST_NO_LF","INTERPOLATED_STRING","INTERPOLATED_VERBATIM_STRING","INTERPOLATED_VERBATIM_STRING_NO_LF","STRING","GENERIC_MODIFIER","TYPE_IDENT_RE","AT_IDENTIFIER","csharp_1"],"mappings":";;;;AASA,WAASA,EAAOC,GAAM;AACpB,UAAMC,IAAoB;AAAA,MACxB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GACQC,IAAqB;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GACQC,IAAmB;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GACQC,IAAkB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GACQC,IAAsB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAA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","x_google_ignoreList":[0]}