1 line
10 KiB
Plaintext
1 line
10 KiB
Plaintext
{"version":3,"file":"nix-DDHFhCQH.chunk.mjs","sources":["../node_modules/highlight.js/lib/languages/nix.js"],"sourcesContent":["/*\nLanguage: Nix\nAuthor: Domen Kožar <domen@dev.si>\nDescription: Nix functional language\nWebsite: http://nixos.org/nix\nCategory: system\n*/\n\n/** @type LanguageFn */\nfunction nix(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = {\n keyword: [\n \"assert\",\n \"else\",\n \"if\",\n \"in\",\n \"inherit\",\n \"let\",\n \"or\",\n \"rec\",\n \"then\",\n \"with\",\n ],\n literal: [\n \"true\",\n \"false\",\n \"null\",\n ],\n built_in: [\n // toplevel builtins\n \"abort\",\n \"baseNameOf\",\n \"builtins\",\n \"derivation\",\n \"derivationStrict\",\n \"dirOf\",\n \"fetchGit\",\n \"fetchMercurial\",\n \"fetchTarball\",\n \"fetchTree\",\n \"fromTOML\",\n \"import\",\n \"isNull\",\n \"map\",\n \"placeholder\",\n \"removeAttrs\",\n \"scopedImport\",\n \"throw\",\n \"toString\",\n ],\n };\n\n const BUILTINS = {\n scope: 'built_in',\n match: regex.either(...[\n \"abort\",\n \"add\",\n \"addDrvOutputDependencies\",\n \"addErrorContext\",\n \"all\",\n \"any\",\n \"appendContext\",\n \"attrNames\",\n \"attrValues\",\n \"baseNameOf\",\n \"bitAnd\",\n \"bitOr\",\n \"bitXor\",\n \"break\",\n \"builtins\",\n \"catAttrs\",\n \"ceil\",\n \"compareVersions\",\n \"concatLists\",\n \"concatMap\",\n \"concatStringsSep\",\n \"convertHash\",\n \"currentSystem\",\n \"currentTime\",\n \"deepSeq\",\n \"derivation\",\n \"derivationStrict\",\n \"dirOf\",\n \"div\",\n \"elem\",\n \"elemAt\",\n \"false\",\n \"fetchGit\",\n \"fetchMercurial\",\n \"fetchTarball\",\n \"fetchTree\",\n \"fetchurl\",\n \"filter\",\n \"filterSource\",\n \"findFile\",\n \"flakeRefToString\",\n \"floor\",\n \"foldl'\",\n \"fromJSON\",\n \"fromTOML\",\n \"functionArgs\",\n \"genList\",\n \"genericClosure\",\n \"getAttr\",\n \"getContext\",\n \"getEnv\",\n \"getFlake\",\n \"groupBy\",\n \"hasAttr\",\n \"hasContext\",\n \"hashFile\",\n \"hashString\",\n \"head\",\n \"import\",\n \"intersectAttrs\",\n \"isAttrs\",\n \"isBool\",\n \"isFloat\",\n \"isFunction\",\n \"isInt\",\n \"isList\",\n \"isNull\",\n \"isPath\",\n \"isString\",\n \"langVersion\",\n \"length\",\n \"lessThan\",\n \"listToAttrs\",\n \"map\",\n \"mapAttrs\",\n \"match\",\n \"mul\",\n \"nixPath\",\n \"nixVersion\",\n \"null\",\n \"parseDrvName\",\n \"parseFlakeRef\",\n \"partition\",\n \"path\",\n \"pathExists\",\n \"placeholder\",\n \"readDir\",\n \"readFile\",\n \"readFileType\",\n \"removeAttrs\",\n \"replaceStrings\",\n \"scopedImport\",\n \"seq\",\n \"sort\",\n \"split\",\n \"splitVersion\",\n \"storeDir\",\n \"storePath\",\n \"stringLength\",\n \"sub\",\n \"substring\",\n \"tail\",\n \"throw\",\n \"toFile\",\n \"toJSON\",\n \"toPath\",\n \"toString\",\n \"toXML\",\n \"trace\",\n \"traceVerbose\",\n \"true\",\n \"tryEval\",\n \"typeOf\",\n \"unsafeDiscardOutputDependency\",\n \"unsafeDiscardStringContext\",\n \"unsafeGetAttrPos\",\n \"warn\",\n \"zipAttrsWith\",\n ].map(b => `builtins\\\\.${b}`)),\n relevance: 10,\n };\n\n const IDENTIFIER_REGEX = '[A-Za-z_][A-Za-z0-9_\\'-]*';\n\n const LOOKUP_PATH = {\n scope: 'symbol',\n match: new RegExp(`<${IDENTIFIER_REGEX}(/${IDENTIFIER_REGEX})*>`),\n };\n\n const PATH_PIECE = \"[A-Za-z0-9_\\\\+\\\\.-]+\";\n const PATH = {\n scope: 'symbol',\n match: new RegExp(`(\\\\.\\\\.|\\\\.|~)?/(${PATH_PIECE})?(/${PATH_PIECE})*(?=[\\\\s;])`),\n };\n\n const OPERATOR_WITHOUT_MINUS_REGEX = regex.either(...[\n '==',\n '=',\n '\\\\+\\\\+',\n '\\\\+',\n '<=',\n '<\\\\|',\n '<',\n '>=',\n '>',\n '->',\n '//',\n '/',\n '!=',\n '!',\n '\\\\|\\\\|',\n '\\\\|>',\n '\\\\?',\n '\\\\*',\n '&&',\n ]);\n\n const OPERATOR = {\n scope: 'operator',\n match: regex.concat(OPERATOR_WITHOUT_MINUS_REGEX, /(?!-)/),\n relevance: 0,\n };\n\n // '-' is being handled by itself to ensure we are able to tell the difference\n // between a dash in an identifier and a minus operator\n const NUMBER = {\n scope: 'number',\n match: new RegExp(`${hljs.NUMBER_RE}(?!-)`),\n relevance: 0,\n };\n const MINUS_OPERATOR = {\n variants: [\n {\n scope: 'operator',\n beforeMatch: /\\s/,\n // The (?!>) is used to ensure this doesn't collide with the '->' operator\n begin: /-(?!>)/,\n },\n {\n begin: [\n new RegExp(`${hljs.NUMBER_RE}`),\n /-/,\n /(?!>)/,\n ],\n beginScope: {\n 1: 'number',\n 2: 'operator'\n },\n },\n {\n begin: [\n OPERATOR_WITHOUT_MINUS_REGEX,\n /-/,\n /(?!>)/,\n ],\n beginScope: {\n 1: 'operator',\n 2: 'operator'\n },\n },\n ],\n relevance: 0,\n };\n\n const ATTRS = {\n beforeMatch: /(^|\\{|;)\\s*/,\n begin: new RegExp(`${IDENTIFIER_REGEX}(\\\\.${IDENTIFIER_REGEX})*\\\\s*=(?!=)`),\n returnBegin: true,\n relevance: 0,\n contains: [\n {\n scope: 'attr',\n match: new RegExp(`${IDENTIFIER_REGEX}(\\\\.${IDENTIFIER_REGEX})*(?=\\\\s*=)`),\n relevance: 0.2,\n }\n ],\n };\n\n const NORMAL_ESCAPED_DOLLAR = {\n scope: 'char.escape',\n match: /\\\\\\$/,\n };\n const INDENTED_ESCAPED_DOLLAR = {\n scope: 'char.escape',\n match: /''\\$/,\n };\n const ANTIQUOTE = {\n scope: 'subst',\n begin: /\\$\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n };\n const ESCAPED_DOUBLEQUOTE = {\n scope: 'char.escape',\n match: /'''/,\n };\n const ESCAPED_LITERAL = {\n scope: 'char.escape',\n match: /\\\\(?!\\$)./,\n };\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: \"''\",\n end: \"''\",\n contains: [\n INDENTED_ESCAPED_DOLLAR,\n ANTIQUOTE,\n ESCAPED_DOUBLEQUOTE,\n ESCAPED_LITERAL,\n ],\n },\n {\n begin: '\"',\n end: '\"',\n contains: [\n NORMAL_ESCAPED_DOLLAR,\n ANTIQUOTE,\n ESCAPED_LITERAL,\n ],\n },\n ],\n };\n\n const FUNCTION_PARAMS = {\n scope: 'params',\n match: new RegExp(`${IDENTIFIER_REGEX}\\\\s*:(?=\\\\s)`),\n };\n\n const EXPRESSIONS = [\n NUMBER,\n hljs.HASH_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n /\\*\\//,\n {\n subLanguage: 'markdown',\n relevance: 0\n }\n ),\n BUILTINS,\n STRING,\n LOOKUP_PATH,\n PATH,\n FUNCTION_PARAMS,\n ATTRS,\n MINUS_OPERATOR,\n OPERATOR,\n ];\n\n ANTIQUOTE.contains = EXPRESSIONS;\n\n const REPL = [\n {\n scope: 'meta.prompt',\n match: /^nix-repl>(?=\\s)/,\n relevance: 10,\n },\n {\n scope: 'meta',\n beforeMatch: /\\s+/,\n begin: /:([a-z]+|\\?)/,\n },\n ];\n\n return {\n name: 'Nix',\n aliases: [ \"nixos\" ],\n keywords: KEYWORDS,\n contains: EXPRESSIONS.concat(REPL),\n };\n}\n\nmodule.exports = nix;\n"],"names":["nix","hljs","regex","KEYWORDS","BUILTINS","b","IDENTIFIER_REGEX","LOOKUP_PATH","PATH_PIECE","PATH","OPERATOR_WITHOUT_MINUS_REGEX","OPERATOR","NUMBER","MINUS_OPERATOR","ATTRS","NORMAL_ESCAPED_DOLLAR","INDENTED_ESCAPED_DOLLAR","ANTIQUOTE","ESCAPED_DOUBLEQUOTE","ESCAPED_LITERAL","STRING","FUNCTION_PARAMS","EXPRESSIONS","REPL","nix_1"],"mappings":"uCASA,SAASA,EAAIC,EAAM,CACjB,MAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,QAAS,CACP,SACA,OACA,KACA,KACA,UACA,MACA,KACA,MACA,OACA,QAEF,QAAS,CACP,OACA,QACA,QAEF,SAAU,CAER,QACA,aACA,WACA,aACA,mBACA,QACA,WACA,iBACA,eACA,YACA,WACA,SACA,SACA,MACA,cACA,cACA,eACA,QACA,aAIEC,EAAW,CACf,MAAO,WACP,MAAOF,EAAM,OAAO,GAAG,CACrB,QACA,MACA,2BACA,kBACA,MACA,MACA,gBACA,YACA,aACA,aACA,SACA,QACA,SACA,QACA,WACA,WACA,OACA,kBACA,cACA,YACA,mBACA,cACA,gBACA,cACA,UACA,aACA,mBACA,QACA,MACA,OACA,SACA,QACA,WACA,iBACA,eACA,YACA,WACA,SACA,eACA,WACA,mBACA,QACA,SACA,WACA,WACA,eACA,UACA,iBACA,UACA,aACA,SACA,WACA,UACA,UACA,aACA,WACA,aACA,OACA,SACA,iBACA,UACA,SACA,UACA,aACA,QACA,SACA,SACA,SACA,WACA,cACA,SACA,WACA,cACA,MACA,WACA,QACA,MACA,UACA,aACA,OACA,eACA,gBACA,YACA,OACA,aACA,cACA,UACA,WACA,eACA,cACA,iBACA,eACA,MACA,OACA,QACA,eACA,WACA,YACA,eACA,MACA,YACA,OACA,QACA,SACA,SACA,SACA,WACA,QACA,QACA,eACA,OACA,UACA,SACA,gCACA,6BACA,mBACA,OACA,cACN,EAAM,IAAIG,GAAK,cAAcA,CAAC,EAAE,CAAC,EAC7B,UAAW,IAGPC,EAAmB,2BAEnBC,EAAc,CAClB,MAAO,SACP,MAAO,IAAI,OAAO,IAAID,CAAgB,KAAKA,CAAgB,KAAK,GAG5DE,EAAa,uBACbC,EAAO,CACX,MAAO,SACP,MAAO,IAAI,OAAO,oBAAoBD,CAAU,OAAOA,CAAU,cAAc,GAG3EE,EAA+BR,EAAM,OACzC,KACA,IACA,SACA,MACA,KACA,OACA,IACA,KACA,IACA,KACA,KACA,IACA,KACA,IACA,SACA,OACA,MACA,MACA,IACD,EAEKS,EAAW,CACf,MAAO,WACP,MAAOT,EAAM,OAAOQ,EAA8B,OAAO,EACzD,UAAW,GAKPE,EAAS,CACb,MAAO,SACP,MAAO,IAAI,OAAO,GAAGX,EAAK,SAAS,OAAO,EAC1C,UAAW,GAEPY,EAAiB,CACrB,SAAU,CACR,CACE,MAAO,WACP,YAAa,KAEb,MAAO,UAET,CACE,MAAO,CACL,IAAI,OAAO,GAAGZ,EAAK,SAAS,EAAE,EAC9B,IACA,SAEF,WAAY,CACV,EAAG,SACH,EAAG,aAGP,CACE,MAAO,CACLS,EACA,IACA,SAEF,WAAY,CACV,EAAG,WACH,EAAG,cAIT,UAAW,GAGPI,EAAQ,CACZ,YAAa,cACb,MAAO,IAAI,OAAO,GAAGR,CAAgB,OAAOA,CAAgB,cAAc,EAC1E,YAAa,GACb,UAAW,EACX,SAAU,CACR,CACE,MAAO,OACP,MAAO,IAAI,OAAO,GAAGA,CAAgB,OAAOA,CAAgB,aAAa,EACzE,UAAW,EACnB,IAIQS,EAAwB,CAC5B,MAAO,cACP,MAAO,QAEHC,EAA0B,CAC9B,MAAO,cACP,MAAO,QAEHC,EAAY,CAChB,MAAO,QACP,MAAO,OACP,IAAK,KACL,SAAUd,GAENe,EAAsB,CAC1B,MAAO,cACP,MAAO,OAEHC,EAAkB,CACtB,MAAO,cACP,MAAO,aAEHC,EAAS,CACb,MAAO,SACP,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACRJ,EACAC,EACAC,EACAC,IAGJ,CACE,MAAO,IACP,IAAK,IACL,SAAU,CACRJ,EACAE,EACAE,MAMFE,EAAkB,CACtB,MAAO,SACP,MAAO,IAAI,OAAO,GAAGf,CAAgB,cAAc,GAG/CgB,EAAc,CAClBV,EACAX,EAAK,kBACLA,EAAK,qBACLA,EAAK,QACH,eACA,OACA,CACE,YAAa,WACb,UAAW,CACnB,GAEIG,EACAgB,EACAb,EACAE,EACAY,EACAP,EACAD,EACAF,GAGFM,EAAU,SAAWK,EAErB,MAAMC,EAAO,CACX,CACE,MAAO,cACP,MAAO,mBACP,UAAW,IAEb,CACE,MAAO,OACP,YAAa,MACb,MAAO,iBAIX,MAAO,CACL,KAAM,MACN,QAAS,CAAE,OAAO,EAClB,SAAUpB,EACV,SAAUmB,EAAY,OAAOC,CAAI,EAErC,CAEA,OAAAC,EAAiBxB","x_google_ignoreList":[0]} |