{"version":3,"file":"yaml.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/yaml.js"],"sourcesContent":["/*\nLanguage: YAML\nDescription: Yet Another Markdown Language\nAuthor: Stefan Wienert <stwienert@gmail.com>\nContributors: Carl Baxter <carl@cbax.tech>\nRequires: ruby.js\nWebsite: https://yaml.org\nCategory: common, config\n*/\nfunction yaml(hljs) {\n  const LITERALS = 'true false yes no null';\n\n  // YAML spec allows non-reserved URI characters in tags.\n  const URI_CHARACTERS = '[\\\\w#;/?:@&=+$,.~*\\'()[\\\\]]+';\n\n  // Define keys as starting with a word character\n  // ...containing word chars, spaces, colons, forward-slashes, hyphens and periods\n  // ...and ending with a colon followed immediately by a space, tab or newline.\n  // The YAML spec allows for much more than this, but this covers most use-cases.\n  const KEY = {\n    className: 'attr',\n    variants: [\n      // added brackets support \n      { begin: /\\w[\\w :()\\./-]*:(?=[ \\t]|$)/ },\n      { // double quoted keys - with brackets\n        begin: /\"\\w[\\w :()\\./-]*\":(?=[ \\t]|$)/ },\n      { // single quoted keys - with brackets\n        begin: /'\\w[\\w :()\\./-]*':(?=[ \\t]|$)/ },\n    ]\n  };\n\n  const TEMPLATE_VARIABLES = {\n    className: 'template-variable',\n    variants: [\n      { // jinja templates Ansible\n        begin: /\\{\\{/,\n        end: /\\}\\}/\n      },\n      { // Ruby i18n\n        begin: /%\\{/,\n        end: /\\}/\n      }\n    ]\n  };\n  const STRING = {\n    className: 'string',\n    relevance: 0,\n    variants: [\n      {\n        begin: /'/,\n        end: /'/\n      },\n      {\n        begin: /\"/,\n        end: /\"/\n      },\n      { begin: /\\S+/ }\n    ],\n    contains: [\n      hljs.BACKSLASH_ESCAPE,\n      TEMPLATE_VARIABLES\n    ]\n  };\n\n  // Strings inside of value containers (objects) can't contain braces,\n  // brackets, or commas\n  const CONTAINER_STRING = hljs.inherit(STRING, { variants: [\n    {\n      begin: /'/,\n      end: /'/\n    },\n    {\n      begin: /\"/,\n      end: /\"/\n    },\n    { begin: /[^\\s,{}[\\]]+/ }\n  ] });\n\n  const DATE_RE = '[0-9]{4}(-[0-9][0-9]){0,2}';\n  const TIME_RE = '([Tt \\\\t][0-9][0-9]?(:[0-9][0-9]){2})?';\n  const FRACTION_RE = '(\\\\.[0-9]*)?';\n  const ZONE_RE = '([ \\\\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?';\n  const TIMESTAMP = {\n    className: 'number',\n    begin: '\\\\b' + DATE_RE + TIME_RE + FRACTION_RE + ZONE_RE + '\\\\b'\n  };\n\n  const VALUE_CONTAINER = {\n    end: ',',\n    endsWithParent: true,\n    excludeEnd: true,\n    keywords: LITERALS,\n    relevance: 0\n  };\n  const OBJECT = {\n    begin: /\\{/,\n    end: /\\}/,\n    contains: [ VALUE_CONTAINER ],\n    illegal: '\\\\n',\n    relevance: 0\n  };\n  const ARRAY = {\n    begin: '\\\\[',\n    end: '\\\\]',\n    contains: [ VALUE_CONTAINER ],\n    illegal: '\\\\n',\n    relevance: 0\n  };\n\n  const MODES = [\n    KEY,\n    {\n      className: 'meta',\n      begin: '^---\\\\s*$',\n      relevance: 10\n    },\n    { // multi line string\n      // Blocks start with a | or > followed by a newline\n      //\n      // Indentation of subsequent lines must be the same to\n      // be considered part of the block\n      className: 'string',\n      begin: '[\\\\|>]([1-9]?[+-])?[ ]*\\\\n( +)[^ ][^\\\\n]*\\\\n(\\\\2[^\\\\n]+\\\\n?)*'\n    },\n    { // Ruby/Rails erb\n      begin: '<%[%=-]?',\n      end: '[%-]?%>',\n      subLanguage: 'ruby',\n      excludeBegin: true,\n      excludeEnd: true,\n      relevance: 0\n    },\n    { // named tags\n      className: 'type',\n      begin: '!\\\\w+!' + URI_CHARACTERS\n    },\n    // https://yaml.org/spec/1.2/spec.html#id2784064\n    { // verbatim tags\n      className: 'type',\n      begin: '!<' + URI_CHARACTERS + \">\"\n    },\n    { // primary tags\n      className: 'type',\n      begin: '!' + URI_CHARACTERS\n    },\n    { // secondary tags\n      className: 'type',\n      begin: '!!' + URI_CHARACTERS\n    },\n    { // fragment id &ref\n      className: 'meta',\n      begin: '&' + hljs.UNDERSCORE_IDENT_RE + '$'\n    },\n    { // fragment reference *ref\n      className: 'meta',\n      begin: '\\\\*' + hljs.UNDERSCORE_IDENT_RE + '$'\n    },\n    { // array listing\n      className: 'bullet',\n      // TODO: remove |$ hack when we have proper look-ahead support\n      begin: '-(?=[ ]|$)',\n      relevance: 0\n    },\n    hljs.HASH_COMMENT_MODE,\n    {\n      beginKeywords: LITERALS,\n      keywords: { literal: LITERALS }\n    },\n    TIMESTAMP,\n    // numbers are any valid C-style number that\n    // sit isolated from other words\n    {\n      className: 'number',\n      begin: hljs.C_NUMBER_RE + '\\\\b',\n      relevance: 0\n    },\n    OBJECT,\n    ARRAY,\n    STRING\n  ];\n\n  const VALUE_MODES = [ ...MODES ];\n  VALUE_MODES.pop();\n  VALUE_MODES.push(CONTAINER_STRING);\n  VALUE_CONTAINER.contains = VALUE_MODES;\n\n  return {\n    name: 'YAML',\n    case_insensitive: true,\n    aliases: [ 'yml' ],\n    contains: MODES\n  };\n}\n\nmodule.exports = yaml;\n"],"names":["yaml","hljs","LITERALS","URI_CHARACTERS","KEY","TEMPLATE_VARIABLES","STRING","CONTAINER_STRING","TIMESTAMP","VALUE_CONTAINER","OBJECT","ARRAY","MODES","VALUE_MODES","yaml_1"],"mappings":"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","x_google_ignoreList":[0]}