{"version":3,"file":"markdown.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/markdown.js"],"sourcesContent":["/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi <john.crepezzi@gmail.com>\nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n  const regex = hljs.regex;\n  const INLINE_HTML = {\n    begin: /<\\/?[A-Za-z_]/,\n    end: '>',\n    subLanguage: 'xml',\n    relevance: 0\n  };\n  const HORIZONTAL_RULE = {\n    begin: '^[-\\\\*]{3,}',\n    end: '$'\n  };\n  const CODE = {\n    className: 'code',\n    variants: [\n      // TODO: fix to allow these to work with sublanguage also\n      { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n      { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n      // needed to allow markdown as a sublanguage to work\n      {\n        begin: '```',\n        end: '```+[ ]*$'\n      },\n      {\n        begin: '~~~',\n        end: '~~~+[ ]*$'\n      },\n      { begin: '`.+?`' },\n      {\n        begin: '(?=^( {4}|\\\\t))',\n        // use contains to gobble up multiple lines to allow the block to be whatever size\n        // but only have a single open/close tag vs one per line\n        contains: [\n          {\n            begin: '^( {4}|\\\\t)',\n            end: '(\\\\n)$'\n          }\n        ],\n        relevance: 0\n      }\n    ]\n  };\n  const LIST = {\n    className: 'bullet',\n    begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n    end: '\\\\s+',\n    excludeEnd: true\n  };\n  const LINK_REFERENCE = {\n    begin: /^\\[[^\\n]+\\]:/,\n    returnBegin: true,\n    contains: [\n      {\n        className: 'symbol',\n        begin: /\\[/,\n        end: /\\]/,\n        excludeBegin: true,\n        excludeEnd: true\n      },\n      {\n        className: 'link',\n        begin: /:\\s*/,\n        end: /$/,\n        excludeBegin: true\n      }\n    ]\n  };\n  const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n  const LINK = {\n    variants: [\n      // too much like nested array access in so many languages\n      // to have any real relevance\n      {\n        begin: /\\[.+?\\]\\[.*?\\]/,\n        relevance: 0\n      },\n      // popular internet URLs\n      {\n        begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n        relevance: 2\n      },\n      {\n        begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n        relevance: 2\n      },\n      // relative urls\n      {\n        begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n        relevance: 1\n      },\n      // whatever else, lower relevance (might not be a link at all)\n      {\n        begin: /\\[.*?\\]\\(.*?\\)/,\n        relevance: 0\n      }\n    ],\n    returnBegin: true,\n    contains: [\n      {\n        // empty strings for alt or link text\n        match: /\\[(?=\\])/ },\n      {\n        className: 'string',\n        relevance: 0,\n        begin: '\\\\[',\n        end: '\\\\]',\n        excludeBegin: true,\n        returnEnd: true\n      },\n      {\n        className: 'link',\n        relevance: 0,\n        begin: '\\\\]\\\\(',\n        end: '\\\\)',\n        excludeBegin: true,\n        excludeEnd: true\n      },\n      {\n        className: 'symbol',\n        relevance: 0,\n        begin: '\\\\]\\\\[',\n        end: '\\\\]',\n        excludeBegin: true,\n        excludeEnd: true\n      }\n    ]\n  };\n  const BOLD = {\n    className: 'strong',\n    contains: [], // defined later\n    variants: [\n      {\n        begin: /_{2}(?!\\s)/,\n        end: /_{2}/\n      },\n      {\n        begin: /\\*{2}(?!\\s)/,\n        end: /\\*{2}/\n      }\n    ]\n  };\n  const ITALIC = {\n    className: 'emphasis',\n    contains: [], // defined later\n    variants: [\n      {\n        begin: /\\*(?![*\\s])/,\n        end: /\\*/\n      },\n      {\n        begin: /_(?![_\\s])/,\n        end: /_/,\n        relevance: 0\n      }\n    ]\n  };\n\n  // 3 level deep nesting is not allowed because it would create confusion\n  // in cases like `***testing***` because where we don't know if the last\n  // `***` is starting a new bold/italic or finishing the last one\n  const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n  const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n  BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n  ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n  let CONTAINABLE = [\n    INLINE_HTML,\n    LINK\n  ];\n\n  [\n    BOLD,\n    ITALIC,\n    BOLD_WITHOUT_ITALIC,\n    ITALIC_WITHOUT_BOLD\n  ].forEach(m => {\n    m.contains = m.contains.concat(CONTAINABLE);\n  });\n\n  CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n  const HEADER = {\n    className: 'section',\n    variants: [\n      {\n        begin: '^#{1,6}',\n        end: '$',\n        contains: CONTAINABLE\n      },\n      {\n        begin: '(?=^.+?\\\\n[=-]{2,}$)',\n        contains: [\n          { begin: '^[=-]*$' },\n          {\n            begin: '^',\n            end: \"\\\\n\",\n            contains: CONTAINABLE\n          }\n        ]\n      }\n    ]\n  };\n\n  const BLOCKQUOTE = {\n    className: 'quote',\n    begin: '^>\\\\s+',\n    contains: CONTAINABLE,\n    end: '$'\n  };\n\n  const ENTITY = {\n    //https://spec.commonmark.org/0.31.2/#entity-references\n    scope: 'literal',\n    match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n  };\n\n  return {\n    name: 'Markdown',\n    aliases: [\n      'md',\n      'mkdown',\n      'mkd'\n    ],\n    contains: [\n      HEADER,\n      INLINE_HTML,\n      LIST,\n      BOLD,\n      ITALIC,\n      BLOCKQUOTE,\n      CODE,\n      HORIZONTAL_RULE,\n      LINK,\n      LINK_REFERENCE,\n      ENTITY\n    ]\n  };\n}\n\nmodule.exports = markdown;\n"],"names":["markdown","hljs","regex","INLINE_HTML","HORIZONTAL_RULE","CODE","LIST","LINK_REFERENCE","URL_SCHEME","LINK","BOLD","ITALIC","BOLD_WITHOUT_ITALIC","ITALIC_WITHOUT_BOLD","CONTAINABLE","m","markdown_1"],"mappings":"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","x_google_ignoreList":[0]}