// Generated by lezer-generator, taken from @replit/codemirror-lang-nix@6.0.1. // Vendored so the daemon never loads the editor-only runtime those packages // pull in at import time (@codemirror/autocomplete, view, state). Only pure // Lezer primitives are used here. See packages/highlight/src/svelte for the // same treatment applied to Svelte. import { LRParser } from "@lezer/lr"; import { nixHighlighting } from "./highlight.js"; import { scanIndString, scanString } from "./tokens.js"; const spec_Identifier = new Map([ ["assert", 22], ["with", 26], ["let", 30], ["inherit", 42], ["in", 48], ["if", 52], ["then", 54], ["else", 56], ["builtins", 70], ["null", 214], ["true", 216], ["false", 216], ["rec", 100], ["or", 108], ]); export const parser = /*@__PURE__*/ LRParser.deserialize({ version: 14, states: "7QO]QSOOO!sQWO'#DyO#XQ`O'#EjO&QQSO'#C`O&YQTO'#CnO'lQWO'#EWO(VQSO'#C|O(VQSO'#C|OOQO'#DQ'#DQOOQO'#DT'#DTO)dQUO'#DUO*yQSO'#DcOOQO'#Ej'#EjO,XQ`O'#EiOOQO'#Ei'#EiO-wQ`O'#EXOOQO'#Eh'#EhOOQO'#EX'#EXOOQO'#EW'#EWOOQO'#Dw'#DwO]QSO'#CfO]QSO'#ChO/dQSO'#D^O]QSO'#CuO]QSO'#D[O/xQSO'#D_QOQSOOO/}QSO'#CdO0`Q`O,5:eO3XQSO,5:eO3aQSO,5:eO4sQSO'#EOOOQO'#Cm'#CmOOQO'#Df'#DfO4}QSO,59wO]QSO'#CpO5`QSO'#ClO5eQSO'#EUO]QSO,58zO5sQSO,58zO5xQSO,58zOOQP'#EQ'#EQOOQP'#Dg'#DgO5}QTO,59YOOQO,59Y,59YO]QSO'#CoO6]QSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO(VQSO,59eO6|QWO,59hO8VQSO'#D]O/xQSO'#D^OOQO,59h,59hOOQQ'#En'#EnOOQQ'#Dj'#DjO8hQUO,59pOOQO,59p,59pO]QSO'#DVOOQO'#Dk'#DkO8vQSO,59}OOQO,59},59}O8}QSO'#EiO6]QSO,59jOOQO,59i,59iO9XQSO,59QO9^QSO,59SO9cQSO,59UO]QSO,59UOOQO,59x,59xO9tQSO,59aO9yQSO,59vOOQO,59y,59yO:OQSO'#DhO;hQSO,5:jO]QSO,59OO;rQWO1G0PO;zQSO1G0POOQO1G0P1G0POOQO-E7d-E7dOOQO1G/c1G/cOqAN>qO!$ZQSO<}AN>}O!$iQSO,59jO)rQSO7+$p", stateData: "!$x~O!jOSPOSQOS~OTQOUPOZdO]eO_fOfhOjgOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#QVO#ZUO#_WO#`XO#aYO~OTkOVlOXnOeuO!sSO!usO~O!lvO!pwOT#^XU#^X_#^Xf#^Xn#^Xo#^Xs#^Xu#^Xv#^Xz#^X{#^X|#^X}#^X!S#^X!U#^X!`#^X!n#^X!s#^X!v#^X!|#^X!}#^X#O#^X#P#^X#Q#^X#R#^X#S#^X#T#^X#U#^X#V#^X#W#^X#X#^X#Y#^X#_#^X#`#^X#a#^X!q#^Xk#^Xg#^XV#^X!o#^Xl#^X~O!lvO!pxO~O!ayO!b}O!c|O!dyO~On!TOo!VO!n!OO!|!PO!}!PO#O!QO#P!RO#Q!SO#R!TO#S!UO#T!WO#U!XO#V!YO#W!ZO#X![O#Y!]O~O!`!zX!q!zXk!zXg!zXV!zX!o!zXl!zX~P&hOT[OU!_O_!`OfhOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#QVO#ZUO#_WO#`XO#aYO~O!e!bO!f!fO!g!eO!h!bO~OT[OU!_O_!`OfhOs[Ou[Ov[Oz[O{[O|[O}[O!SiO!UZO!sSO#_WO#`XO#aYO~O!T!iO~P)rOT#]XU#]X_#]Xf#]Xs#]Xu#]Xv#]Xz#]X{#]X|#]X}#]X!S#]X!U#]X!s#]X#_#]X#`#]X#a#]X~O!v!kOn#]Xo#]X!`#]X!n#]X!|#]X!}#]X#O#]X#P#]X#Q#]X#R#]X#S#]X#T#]X#U#]X#V#]X#W#]X#X#]X#Y#]X!q#]Xk#]Xg#]XV#]X!o#]Xl#]X~P+QOn!{Xo!{X!`!{X!n!{X!|!{X!}!{X#O!{X#P!{X#Q!{X#R!{X#S!{X#T!{X#U!{X#V!{X#W!{X#X!{X#Y!{X!q!{Xk!{Xg!{XV!{X!o!{Xl!{X~P)rOToOU!_OeuOh!pO!sSO!usO~OU!_O~O!n!wO!v!uOVWX!oWX!w!rX~OT!PaU!Pa_!Paf!Pan!Pao!Pas!Pau!Pav!Paz!Pa{!Pa|!Pa}!Pa!S!Pa!U!Pa!`!Pa!l!ma!n!Pa!p!ma!s!Pa!v!Pa!|!Pa!}!Pa#O!Pa#P!Pa#Q!Pa#R!Pa#S!Pa#T!Pa#U!Pa#V!Pa#W!Pa#X!Pa#Y!Pa#_!Pa#`!Pa#a!Pa!q!Pak!Pag!PaV!Pa!o!Pal!Pa~OV!zO!o!xO~OV!zO~O!v!uOT!rXU!rX_!rXf!rXs!rXu!rXv!rXz!rX{!rX|!rX}!rX!S!rX!U!rX!W!rX!s!rX#_!rX#`!rX#a!rX~O!w!rX!T!rX~P3fOToOV!|OeuO!sSO!usO~O!w#OO~OT#POf#RO!sSO!usO~OU#TO~OT#UO~O!ayO!b}O!c#WO!dyO~OT#YO!sSO!usO~O!n!OO!|!PO!}!PO#O!QO#P!RO#Q!SO~Onpaopa!`pa#Rpa#Spa#Tpa#Upa#Vpa#Wpa#Xpa#Ypa!qpakpagpaVpa!opalpa~P6hOToOV#iOeuO!sSO!usO~O!e!bO!f!fO!g#kO!h!bO~O!T#nO~P)rO!v$mO!T#]X~P+QO!q#pO~O!q#qO~OToOeuOh#rO!sSO!usO~Ok#tO~Og#uO~OT#vO!sSO!usO~O!v!uOT!raU!ra_!raf!ras!rau!rav!raz!ra{!ra|!ra}!ra!S!ra!U!ra!W!ra!s!ra#_!ra#`!ra#a!ra~O!w!ra!T!ra~P:ZOT#yOX#{O~OV$OO!o#|O~OV$PO~OT#PO!q$SO!sSO!usO~OT#yOV$UOXnO~O!l$VO~OV$WO~On!rXo!rX!`!rX!n!rX!|!rX!}!rX#O!rX#P!rX#Q!rX#R!rX#S!rX#T!rX#U!rX#V!rX#W!rX#X!rX#Y!rX!q!rXk!rXg!rXV!rX!o!rXl!rX~P3fO!n!OO!|!POnmiomi!`mi#Omi#Pmi#Qmi#Rmi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~O!}mi~P>iO!}!PO~P>iO!n!OO!|!PO!}!PO#O!QOnmiomi!`mi#Qmi#Rmi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~O#Pmi~P@_O#P!RO~P@_O#R!TOnmiomi!`mi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TO#R!TOomi!`mi#Smi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TO#R!TO#S!UOomi!`mi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO!`mi#Tmi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO!`mi#Umi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO!`mi#Vmi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO#V!YO!`mi#Wmi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hOn!TOo!VO#R!TO#S!UO#T!WO#U!XO#V!YO#W!ZO!`mi#Xmi#Ymi!qmikmigmiVmi!omilmi~P6hO!`mi!qmikmigmiVmi!omilmi~P&hOV$YO~OTriUri_rifrisriurivrizri{ri|ri}ri!Sri!Uri!sri#_ri#`ri#ari~O!W$[Onriori!`ri!nri!|ri!}ri#Ori#Pri#Qri#Rri#Sri#Tri#Uri#Vri#Wri#Xri#Yri!qrikrigriVri!orilri~PL_O!n!wOVWX!oWX~OV$aO~OT#yOX$bO~O!q$dO~Og$eO~On!rao!ra!`!ra!n!ra!|!ra!}!ra#O!ra#P!ra#Q!ra#R!ra#S!ra#T!ra#U!ra#V!ra#W!ra#X!ra#Y!ra!q!rak!rag!raV!ra!o!ral!ra~P:ZO!W$nO!Tri~PL_Ol$hO~OV$iO~OT#yO~OT#PO!sSO!usO~OT#PO!q$lO!sSO!usO~OToO!sSO!usO~Oz!v!v~", goto: "2g#cPPPP#dPPP#yP#dP#dP#dP$S$Z$k%{%fPPPP&PPPP&fPP&f'[(QP({PP({({)vPPPP({)z({({PPP({P*|+S+_+e+p+z,QPPPPPPPPPPP,WP-cPPPP-{P.VPPP$S$S#d.ZPPPPPPPPPPPPPP/o0e1fPPP2cwcOdeghsv}!f!p!w#O#R#p#q#r#t$V$hSmP#TV#z!x#|$cZqPfr!_!oYtPfr!_!oQ#Z!OQ#o!kR$Z$m!p[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$n[oPfr!_!o$mW#Pu#Q$e$jS#Y!O!kR#v!uTyS{wbOdeghsv}!f!p!w#O#R#p#q#r#t$V$h!gaOUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!g`OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!q^OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$n!q[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$nT!bY!d!p[OUVZ_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!h!p!w#O#R#p#q#r#t$V$[$h$nS!qf!`R!tiQ!ymR#}!ySrP!_Q!ofT!{r!oQ{SR#V{S!vkoS#w!v$XR$X#YQ#QuS$R#Q$jR$j$eQ!dYR#j!dQ!hZR#m!hQjOQ!mdQ!neQ!rgQ!shQ!}sQ#SvQ#X}Q#l!fQ#s!pQ#x!wQ$Q#OQ$T#RQ$]#pQ$^#qQ$_#rQ$`#tQ$f$VR$k$hvROdeghsv}!f!p!w#O#R#p#q#r#t$V$hR#UwapPfr!O!_!k!o$mTzS{vTOdeghsv}!f!p!w#O#R#p#q#r#t$V$hQ!^UQ!aVQ#[!PQ#]!QQ#^!RQ#_!SQ#`!TQ#a!UQ#b!VQ#c!WQ#d!XQ#e!YQ#f!ZQ#g![R#h!]!g_OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$h!f`OUVdeghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$hS!gZ!hQ!l_T$g$[$n!j]OUV_deghsv}!P!Q!R!S!T!U!V!W!X!Y!Z![!]!f!p!w#O#R#p#q#r#t$V$[$hV!jZ!h$nT!cY!d", nodeNames: "⚠ LineComment BlockComment Program Function Identifier { } Formal Ellipses Assert assert With with Let let Bind AttrPath String Interpolation Interpolation inherit ( ) in IfExpr if then else BinaryExpr < > UnaryExpr App Select builtins Null Integer Float Boolean IndentedString Interpolation Path HPath SPath URI Parenthesized AttrSet LetAttrSet RecAttrSet rec ] [ List or", maxTerm: 110, nodeProps: [ ["closedBy", 6, "}", 22, ")", 52, "]"], ["openedBy", 7, "{", 23, "(", 51, "["], ], skippedNodes: [0, 1, 2], repeatNodeCount: 7, tokenData: ">P~RtXY#cYZ#c]^#cpq#cqr#trs$Rst$Wtu$ovw$zwx%Vxy%byz%gz{%l{|%q|})]}!O)b!O!P*X!P!Q.r!Q!R0l!R![2e![!]3S!]!^3X!^!_3^!_!`5_!`!a5l!a!b5y!b!c6O!c!}6T!}#O;g#P#Q;l#R#S:u#T#o6T#o#p;q#p#q;v#q#r spec_Identifier.get(value) ?? -1 }], propSources: [nixHighlighting], tokenPrec: 2290, });