import markdown_nix from './markdown-nix.mjs' const lang = Object.freeze(JSON.parse("{\"displayName\":\"Nix\",\"fileTypes\":[\"nix\"],\"name\":\"nix\",\"patterns\":[{\"include\":\"#expression\"}],\"repository\":{\"attribute-bind\":{\"patterns\":[{\"include\":\"#attribute-name\"},{\"include\":\"#attribute-bind-from-equals\"}]},\"attribute-bind-from-equals\":{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.bind.nix\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.bind.nix\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"attribute-inherit\":{\"begin\":\"\\\\binherit\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.inherit.nix\"}},\"end\":\";\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.terminator.inherit.nix\"}},\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.arguments.nix\"}},\"end\":\"(?=;)\",\"patterns\":[{\"begin\":\"\\\\)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.arguments.nix\"}},\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#bad-reserved\"},{\"include\":\"#attribute-name-single\"},{\"include\":\"#others\"}]},{\"include\":\"#expression\"}]},{\"begin\":\"(?=[A-Z_a-z])\",\"end\":\"(?=;)\",\"patterns\":[{\"include\":\"#bad-reserved\"},{\"include\":\"#attribute-name-single\"},{\"include\":\"#others\"}]},{\"include\":\"#others\"}]},\"attribute-name\":{\"patterns\":[{\"match\":\"\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*\",\"name\":\"entity.other.attribute-name.multipart.nix\"},{\"match\":\"\\\\.\"},{\"include\":\"#string-quoted\"},{\"include\":\"#interpolation\"}]},\"attribute-name-single\":{\"match\":\"\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*\",\"name\":\"entity.other.attribute-name.single.nix\"},\"attrset-contents\":{\"patterns\":[{\"include\":\"#attribute-inherit\"},{\"include\":\"#bad-reserved\"},{\"include\":\"#attribute-bind\"},{\"include\":\"#others\"}]},\"attrset-definition\":{\"begin\":\"(?=\\\\{)\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.attrset.nix\"}},\"end\":\"(})\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.attrset.nix\"}},\"patterns\":[{\"include\":\"#attrset-contents\"}]},{\"begin\":\"(?<=})\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#expression-cont\"}]}]},\"attrset-definition-brace-opened\":{\"patterns\":[{\"begin\":\"(?<=})\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#expression-cont\"}]},{\"begin\":\"(?=.?)\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.attrset.nix\"}},\"patterns\":[{\"include\":\"#attrset-contents\"}]}]},\"attrset-for-sure\":{\"patterns\":[{\"begin\":\"(?=\\\\brec\\\\b)\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"begin\":\"\\\\brec\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.nix\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#others\"}]},{\"include\":\"#attrset-definition\"},{\"include\":\"#others\"}]},{\"begin\":\"(?=\\\\{\\\\s*(}|[^,?]*([;=])))\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#attrset-definition\"},{\"include\":\"#others\"}]}]},\"attrset-or-function\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.attrset-or-function.nix\"}},\"end\":\"(?=([]);}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"begin\":\"(?=(\\\\s*}|\\\"|\\\\binherit\\\\b|\\\\$\\\\{|\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*(\\\\s*\\\\.|\\\\s*=[^=])))\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#attrset-definition-brace-opened\"}]},{\"begin\":\"(?=(\\\\.\\\\.\\\\.|\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*\\\\s*[,?]))\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#function-definition-brace-opened\"}]},{\"include\":\"#bad-reserved\"},{\"begin\":\"\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*\",\"beginCaptures\":{\"0\":{\"name\":\"variable.parameter.function.maybe.nix\"}},\"end\":\"(?=([]);}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"begin\":\"(?=\\\\.)\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#attrset-definition-brace-opened\"}]},{\"begin\":\"\\\\s*(,)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.nix\"}},\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#function-definition-brace-opened\"}]},{\"begin\":\"(?==)\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#attribute-bind-from-equals\"},{\"include\":\"#attrset-definition-brace-opened\"}]},{\"begin\":\"(?=\\\\?)\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#function-parameter-default\"},{\"begin\":\",\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.nix\"}},\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#function-definition-brace-opened\"}]}]},{\"include\":\"#others\"}]},{\"include\":\"#others\"}]},\"bad-reserved\":{\"match\":\"(?|<\\\\||==|!=?|<=?|>=?|&&|\\\\|\\\\||->|//|\\\\?|\\\\+\\\\+|[-*]|/(?=([^*]|$))|\\\\+)\",\"name\":\"keyword.operator.nix\"},\"operator-unary\":{\"match\":\"([-!])\",\"name\":\"keyword.operator.unary.nix\"},\"others\":{\"patterns\":[{\"include\":\"#whitespace\"},{\"include\":\"#comment\"},{\"include\":\"#illegal\"}]},\"parameter-name\":{\"captures\":{\"0\":{\"name\":\"variable.parameter.name.nix\"}},\"match\":\"\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*\"},\"parameter-name-and-cont\":{\"begin\":\"\\\\b[A-Z_a-z][-'0-9A-Z_a-z]*\",\"beginCaptures\":{\"0\":{\"name\":\"variable.parameter.name.nix\"}},\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#expression-cont\"}]},\"parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.expression.nix\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.expression.nix\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"parens-and-cont\":{\"begin\":\"(?=\\\\()\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#expression-cont\"}]},\"string\":{\"patterns\":[{\"begin\":\"(?='')\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"begin\":\"''\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.other.start.nix\"}},\"end\":\"''(?![$']|\\\\\\\\.)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.other.end.nix\"}},\"name\":\"string.quoted.other.nix\",\"patterns\":[{\"match\":\"''([$']|\\\\\\\\.)\",\"name\":\"constant.character.escape.nix\"},{\"include\":\"#interpolation\"}]},{\"include\":\"#expression-cont\"}]},{\"begin\":\"(?=\\\")\",\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#string-quoted\"},{\"include\":\"#expression-cont\"}]},{\"begin\":\"(~?[-+.0-9A-Z_a-z]*(/[-+.0-9A-Z_a-z]+)+)\",\"beginCaptures\":{\"0\":{\"name\":\"string.unquoted.path.nix\"}},\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#expression-cont\"}]},{\"begin\":\"(<[-+.0-9A-Z_a-z]+(/[-+.0-9A-Z_a-z]+)*>)\",\"beginCaptures\":{\"0\":{\"name\":\"string.unquoted.spath.nix\"}},\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#expression-cont\"}]},{\"begin\":\"([A-Za-z][-+.0-9A-Za-z]*:[!$-'*-:=?-Z_a-z~]+)\",\"beginCaptures\":{\"0\":{\"name\":\"string.unquoted.url.nix\"}},\"end\":\"(?=([]),;}]|\\\\b(else|then)\\\\b))\",\"patterns\":[{\"include\":\"#expression-cont\"}]}]},\"string-quoted\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.double.start.nix\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.double.end.nix\"}},\"name\":\"string.quoted.double.nix\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.nix\"},{\"include\":\"#interpolation\"}]},\"whitespace\":{\"match\":\"\\\\s+\"},\"with-assert\":{\"begin\":\"(?