Loading
function(e,a,s){async function t(e){return null}s.d(a,{pb:()=>l,A:()=>b});class r extends Error{kind;constructor(e,a){super(a),this.name="ArboriumError",this.kind=e}}function n(e,a){if(0===a.length)return[0,0];let s=o.encode(a),t=e._malloc(s.length);return e.HEAPU8.set(s,t),[t,s.length]}async function i(e){return e instanceof URL?p(e):e instanceof Uint8Array?e:new Uint8Array(e)}async function g(e){if("string"==typeof e)return e;let a=await p(e);return c.decode(a)}async function p(e){let a=await t(e);if(a)return a;let s=await fetch(e);if(!s.ok)throw new r("asset-fetch-failed",`failed to fetch ${e.href}: ${s.status} ${s.statusText}`);return new Uint8Array(await s.arrayBuffer())}let o=new TextEncoder,c=new TextDecoder,l={ada:{languageId:"ada",languageExport:"tree_sitter_ada",wasm:new URL(s(554724),s.b),highlights:new URL(s(185621),s.b),locals:new URL(s(316690),s.b)},agda:{languageId:"agda",languageExport:"tree_sitter_agda",wasm:new URL(s(544958),s.b),highlights:new URL(s(308970),s.b)},asciidoc:{languageId:"asciidoc",languageExport:"tree_sitter_asciidoc",wasm:new URL(s(492338),s.b),highlights:new URL(s(501958),s.b)},asm:{languageId:"asm",languageExport:"tree_sitter_asm",wasm:new URL(s(691384),s.b),highlights:new URL(s(796510),s.b),injections:new URL(s(445323),s.b)},awk:{languageId:"awk",languageExport:"tree_sitter_awk",wasm:new URL(s(151408),s.b),highlights:new URL(s(371672),s.b)},bash:{languageId:"bash",languageExport:"tree_sitter_bash",wasm:new URL(s(996928),s.b),highlights:new URL(s(253475),s.b)},batch:{languageId:"batch",languageExport:"tree_sitter_batch",wasm:new URL(s(901052),s.b),highlights:new URL(s(820825),s.b)},c:{languageId:"c",languageExport:"tree_sitter_c",wasm:new URL(s(623584),s.b),highlights:new URL(s(371524),s.b)},"c-sharp":{languageId:"c-sharp",languageExport:"tree_sitter_c_sharp",wasm:new URL(s(533440),s.b),highlights:new URL(s(501721),s.b)},caddy:{languageId:"caddy",languageExport:"tree_sitter_caddy",wasm:new URL(s(284020),s.b),highlights:new URL(s(718266),s.b)},capnp:{languageId:"capnp",languageExport:"tree_sitter_capnp",wasm:new URL(s(867888),s.b),highlights:new URL(s(253515),s.b),injections:new URL(s(785462),s.b),locals:new URL(s(427200),s.b)},cedar:{languageId:"cedar",languageExport:"tree_sitter_cedar",wasm:new URL(s(747060),s.b),highlights:new URL(s(582242),s.b)},cedarschema:{languageId:"cedarschema",languageExport:"tree_sitter_cedarschema",wasm:new URL(s(662604),s.b),highlights:new URL(s(843389),s.b)},clojure:{languageId:"clojure",languageExport:"tree_sitter_clojure",wasm:new URL(s(124332),s.b),highlights:new URL(s(632781),s.b)},cmake:{languageId:"cmake",languageExport:"tree_sitter_cmake",wasm:new URL(s(555808),s.b),highlights:new URL(s(135538),s.b),injections:new URL(s(547431),s.b)},commonlisp:{languageId:"commonlisp",languageExport:"tree_sitter_commonlisp",wasm:new URL(s(122250),s.b),highlights:new URL(s(713796),s.b)},cpp:{languageId:"cpp",languageExport:"tree_sitter_cpp",wasm:new URL(s(590264),s.b),highlights:new URL(s(983420),s.b),injections:new URL(s(489565),s.b)},css:{languageId:"css",languageExport:"tree_sitter_css",wasm:new URL(s(328592),s.b),highlights:new URL(s(681166),s.b)},d:{languageId:"d",languageExport:"tree_sitter_d",wasm:new URL(s(222260),s.b),highlights:new URL(s(687429),s.b)},dart:{languageId:"dart",languageExport:"tree_sitter_dart",wasm:new URL(s(712298),s.b),highlights:new URL(s(108572),s.b)},devicetree:{languageId:"devicetree",languageExport:"tree_sitter_devicetree",wasm:new URL(s(640208),s.b),highlights:new URL(s(502907),s.b)},diff:{languageId:"diff",languageExport:"tree_sitter_diff",wasm:new URL(s(445854),s.b),highlights:new URL(s(655582),s.b)},dockerfile:{languageId:"dockerfile",languageExport:"tree_sitter_dockerfile",wasm:new URL(s(571368),s.b),highlights:new URL(s(604623),s.b)},dot:{languageId:"dot",languageExport:"tree_sitter_dot",wasm:new URL(s(84912),s.b),highlights:new URL(s(992094),s.b),injections:new URL(s(404043),s.b)},elisp:{languageId:"elisp",languageExport:"tree_sitter_elisp",wasm:new URL(s(161064),s.b),highlights:new URL(s(180458),s.b)},elixir:{languageId:"elixir",languageExport:"tree_sitter_elixir",wasm:new URL(s(941694),s.b),highlights:new URL(s(817218),s.b),injections:new URL(s(842039),s.b)},elm:{languageId:"elm",languageExport:"tree_sitter_elm",wasm:new URL(s(993684),s.b),highlights:new URL(s(565989),s.b),injections:new URL(s(777084),s.b),locals:new URL(s(224578),s.b)},erlang:{languageId:"erlang",languageExport:"tree_sitter_erlang",wasm:new URL(s(934434),s.b),highlights:new URL(s(72382),s.b)},fish:{languageId:"fish",languageExport:"tree_sitter_fish",wasm:new URL(s(482784),s.b),highlights:new URL(s(807991),s.b)},fsharp:{languageId:"fsharp",languageExport:"tree_sitter_fsharp",wasm:new URL(s(584784),s.b),highlights:new URL(s(581583),s.b),injections:new URL(s(471586),s.b),locals:new URL(s(645372),s.b)},gleam:{languageId:"gleam",languageExport:"tree_sitter_gleam",wasm:new URL(s(441672),s.b),highlights:new URL(s(679453),s.b),injections:new URL(s(531860),s.b),locals:new URL(s(345322),s.b)},glsl:{languageId:"glsl",languageExport:"tree_sitter_glsl",wasm:new URL(s(115088),s.b),highlights:new URL(s(463989),s.b)},go:{languageId:"go",languageExport:"tree_sitter_go",wasm:new URL(s(847392),s.b),highlights:new URL(s(757283),s.b)},graphql:{languageId:"graphql",languageExport:"tree_sitter_graphql",wasm:new URL(s(117256),s.b),highlights:new URL(s(477092),s.b)},groovy:{languageId:"groovy",languageExport:"tree_sitter_groovy",wasm:new URL(s(867128),s.b),highlights:new URL(s(971567),s.b),injections:new URL(s(718850),s.b)},haskell:{languageId:"haskell",languageExport:"tree_sitter_haskell",wasm:new URL(s(56948),s.b),highlights:new URL(s(206965),s.b),injections:new URL(s(16076),s.b),locals:new URL(s(208626),s.b)},hcl:{languageId:"hcl",languageExport:"tree_sitter_hcl",wasm:new URL(s(370800),s.b),highlights:new URL(s(972942),s.b)},hlsl:{languageId:"hlsl",languageExport:"tree_sitter_hlsl",wasm:new URL(s(697922),s.b),highlights:new URL(s(449794),s.b)},html:{languageId:"html",languageExport:"tree_sitter_html",wasm:new URL(s(284030),s.b),highlights:new URL(s(911112),s.b),injections:new URL(s(495969),s.b)},idris:{languageId:"idris",languageExport:"tree_sitter_idris",wasm:new URL(s(561740),s.b),highlights:new URL(s(583152),s.b)},ini:{languageId:"ini",languageExport:"tree_sitter_ini",wasm:new URL(s(771944),s.b),highlights:new URL(s(363471),s.b)},java:{languageId:"java",languageExport:"tree_sitter_java",wasm:new URL(s(299080),s.b),highlights:new URL(s(883585),s.b)},javascript:{languageId:"javascript",languageExport:"tree_sitter_javascript",wasm:new URL(s(316662),s.b),highlights:new URL(s(646866),s.b),injections:new URL(s(70855),s.b),locals:new URL(s(66753),s.b)},jinja2:{languageId:"jinja2",languageExport:"tree_sitter_jinja2",wasm:new URL(s(848368),s.b),highlights:new URL(s(137323),s.b)},jq:{languageId:"jq",languageExport:"tree_sitter_jq",wasm:new URL(s(314786),s.b),highlights:new URL(s(20080),s.b)},json:{languageId:"json",languageExport:"tree_sitter_json",wasm:new URL(s(316712),s.b),highlights:new URL(s(187311),s.b)},julia:{languageId:"julia",languageExport:"tree_sitter_julia",wasm:new URL(s(285568),s.b),highlights:new URL(s(324828),s.b)},kotlin:{languageId:"kotlin",languageExport:"tree_sitter_kotlin",wasm:new URL(s(787434),s.b),highlights:new URL(s(823504),s.b)},lean:{languageId:"lean",languageExport:"tree_sitter_lean",wasm:new URL(s(655652),s.b),highlights:new URL(s(281161),s.b)},lua:{languageId:"lua",languageExport:"tree_sitter_lua",wasm:new URL(s(718992),s.b),highlights:new URL(s(871659),s.b),injections:new URL(s(273558),s.b),locals:new URL(s(864928),s.b)},markdown:{languageId:"markdown",languageExport:"tree_sitter_markdown",wasm:new URL(s(86414),s.b),highlights:new URL(s(9916),s.b),injections:new URL(s(516061),s.b)},markdown_inline:{languageId:"markdown_inline",languageExport:"tree_sitter_markdown_inline",wasm:new URL(s(348820),s.b),highlights:new URL(s(581934),s.b),injections:new URL(s(858376),s.b)},matlab:{languageId:"matlab",languageExport:"tree_sitter_matlab",wasm:new URL(s(675046),s.b),highlights:new URL(s(955268),s.b)},meson:{languageId:"meson",languageExport:"tree_sitter_meson",wasm:new URL(s(835952),s.b),highlights:new URL(s(448407),s.b)},ninja:{languageId:"ninja",languageExport:"tree_sitter_ninja",wasm:new URL(s(75464),s.b),highlights:new URL(s(980429),s.b)},nix:{languageId:"nix",languageExport:"tree_sitter_nix",wasm:new URL(s(242508),s.b),highlights:new URL(s(714370),s.b),injections:new URL(s(739191),s.b),locals:new URL(s(227473),s.b)},objc:{languageId:"objc",languageExport:"tree_sitter_objc",wasm:new URL(s(45456),s.b),highlights:new URL(s(974591),s.b),injections:new URL(s(860306),s.b),locals:new URL(s(373196),s.b)},ocaml:{languageId:"ocaml",languageExport:"tree_sitter_ocaml",wasm:new URL(s(916372),s.b),highlights:new URL(s(602297),s.b),locals:new URL(s(347294),s.b)},perl:{languageId:"perl",languageExport:"tree_sitter_perl",wasm:new URL(s(571834),s.b),highlights:new URL(s(358060),s.b),injections:new URL(s(486221),s.b)},php:{languageId:"php",languageExport:"tree_sitter_php",wasm:new URL(s(247524),s.b),highlights:new URL(s(910825),s.b),injections:new URL(s(323e3),s.b)},postscript:{languageId:"postscript",languageExport:"tree_sitter_postscript",wasm:new URL(s(628490),s.b),highlights:new URL(s(980524),s.b)},powershell:{languageId:"powershell",languageExport:"tree_sitter_powershell",wasm:new URL(s(177910),s.b),highlights:new URL(s(449048),s.b)},prolog:{languageId:"prolog",languageExport:"tree_sitter_prolog",wasm:new URL(s(330234),s.b),highlights:new URL(s(290858),s.b)},python:{languageId:"python",languageExport:"tree_sitter_python",wasm:new URL(s(181712),s.b),highlights:new URL(s(425335),s.b)},query:{languageId:"query",languageExport:"tree_sitter_query",wasm:new URL(s(892256),s.b),highlights:new URL(s(214685),s.b),injections:new URL(s(840660),s.b)},r:{languageId:"r",languageExport:"tree_sitter_r",wasm:new URL(s(157456),s.b),highlights:new URL(s(652715),s.b),locals:new URL(s(396576),s.b)},rego:{languageId:"rego",languageExport:"tree_sitter_rego",wasm:new URL(s(705750),s.b),highlights:new URL(s(968038),s.b),locals:new URL(s(914189),s.b)},rescript:{languageId:"rescript",languageExport:"tree_sitter_rescript",wasm:new URL(s(834640),s.b),highlights:new URL(s(855995),s.b),injections:new URL(s(479846),s.b),locals:new URL(s(539152),s.b)},ron:{languageId:"ron",languageExport:"tree_sitter_ron",wasm:new URL(s(762296),s.b),highlights:new URL(s(342870),s.b)},ruby:{languageId:"ruby",languageExport:"tree_sitter_ruby",wasm:new URL(s(282952),s.b),highlights:new URL(s(221081),s.b)},rust:{languageId:"rust",languageExport:"tree_sitter_rust_orchard",wasm:new URL(s(585232),s.b),highlights:new URL(s(544211),s.b),injections:new URL(s(153278),s.b)},scala:{languageId:"scala",languageExport:"tree_sitter_scala",wasm:new URL(s(715408),s.b),highlights:new URL(s(636155),s.b),locals:new URL(s(798928),s.b)},scheme:{languageId:"scheme",languageExport:"tree_sitter_scheme",wasm:new URL(s(910038),s.b),highlights:new URL(s(499150),s.b)},scss:{languageId:"scss",languageExport:"tree_sitter_scss",wasm:new URL(s(42040),s.b),highlights:new URL(s(581365),s.b)},solidity:{languageId:"solidity",languageExport:"tree_sitter_solidity",wasm:new URL(s(711194),s.b),highlights:new URL(s(93492),s.b),locals:new URL(s(307379),s.b)},sparql:{languageId:"sparql",languageExport:"tree_sitter_sparql",wasm:new URL(s(622914),s.b),highlights:new URL(s(512564),s.b)},sql:{languageId:"sql",languageExport:"tree_sitter_sql",wasm:new URL(s(295832),s.b),highlights:new URL(s(631189),s.b)},"ssh-config":{languageId:"ssh-config",languageExport:"tree_sitter_ssh_config",wasm:new URL(s(805938),s.b),highlights:new URL(s(400774),s.b),injections:new URL(s(557011),s.b)},starlark:{languageId:"starlark",languageExport:"tree_sitter_starlark",wasm:new URL(s(317952),s.b),highlights:new URL(s(757197),s.b),injections:new URL(s(362116),s.b),locals:new URL(s(607930),s.b)},styx:{languageId:"styx",languageExport:"tree_sitter_styx",wasm:new URL(s(793104),s.b),highlights:new URL(s(789227),s.b),injections:new URL(s(447638),s.b)},svelte:{languageId:"svelte",languageExport:"tree_sitter_svelte",wasm:new URL(s(463302),s.b),highlights:new URL(s(582814),s.b),injections:new URL(s(994763),s.b),locals:new URL(s(756661),s.b)},swift:{languageId:"swift",languageExport:"tree_sitter_swift",wasm:new URL(s(682004),s.b),highlights:new URL(s(259850),s.b),injections:new URL(s(134399),s.b),locals:new URL(s(917129),s.b)},textproto:{languageId:"textproto",languageExport:"tree_sitter_textproto",wasm:new URL(s(658400),s.b),highlights:new URL(s(264834),s.b)},thrift:{languageId:"thrift",languageExport:"tree_sitter_thrift",wasm:new URL(s(40570),s.b),highlights:new URL(s(584122),s.b),injections:new URL(s(259439),s.b),locals:new URL(s(720793),s.b)},tlaplus:{languageId:"tlaplus",languageExport:"tree_sitter_tlaplus",wasm:new URL(s(703724),s.b),highlights:new URL(s(58894),s.b),locals:new URL(s(661637),s.b)},toml:{languageId:"toml",languageExport:"tree_sitter_toml",wasm:new URL(s(155308),s.b),highlights:new URL(s(191649),s.b)},tsx:{languageId:"tsx",languageExport:"tree_sitter_tsx",wasm:new URL(s(21256),s.b),highlights:new URL(s(613110),s.b),locals:new URL(s(757629),s.b)},typescript:{languageId:"typescript",languageExport:"tree_sitter_typescript",wasm:new URL(s(733926),s.b),highlights:new URL(s(648506),s.b),locals:new URL(s(194201),s.b)},typst:{languageId:"typst",languageExport:"tree_sitter_typst",wasm:new URL(s(262848),s.b),highlights:new URL(s(13079),s.b),injections:new URL(s(960138),s.b)},verilog:{languageId:"verilog",languageExport:"tree_sitter_verilog",wasm:new URL(s(502768),s.b),highlights:new URL(s(486859),s.b)},vhdl:{languageId:"vhdl",languageExport:"tree_sitter_vhdl",wasm:new URL(s(276912),s.b),highlights:new URL(s(858987),s.b)},vim:{languageId:"vim",languageExport:"tree_sitter_vim",wasm:new URL(s(699736),s.b),highlights:new URL(s(330909),s.b),injections:new URL(s(440532),s.b)},vue:{languageId:"vue",languageExport:"tree_sitter_vue",wasm:new URL(s(769320),s.b),highlights:new URL(s(4081),s.b),injections:new URL(s(751968),s.b)},wit:{languageId:"wit",languageExport:"tree_sitter_wit",wasm:new URL(s(650024),s.b),highlights:new URL(s(856145),s.b),injections:new URL(s(413056),s.b)},x86asm:{languageId:"x86asm",languageExport:"tree_sitter_x86asm",wasm:new URL(s(26558),s.b),highlights:new URL(s(489700),s.b)},xml:{languageId:"xml",languageExport:"tree_sitter_xml",wasm:new URL(s(897836),s.b),highlights:new URL(s(730180),s.b)},yaml:{languageId:"yaml",languageExport:"tree_sitter_yaml",wasm:new URL(s(30290),s.b),highlights:new URL(s(395958),s.b)},yuri:{languageId:"yuri",languageExport:"tree_sitter_yuri",wasm:new URL(s(78170),s.b),highlights:new URL(s(686146),s.b)},zig:{languageId:"zig",languageExport:"tree_sitter_zig",wasm:new URL(s(256976),s.b),highlights:new URL(s(692027),s.b),injections:new URL(s(95334),s.b)},zsh:{languageId:"zsh",languageExport:"tree_sitter_zsh",wasm:new URL(s(727216),s.b),highlights:new URL(s(371952),s.b)}};async function b(){let e=await h(),[a,t]=await Promise.all([i(new URL(s(79445),s.b)),i(new URL(s(531031),s.b))]),r=await e({wasmBinary:a}),n=await r.loadWebAssemblyModule(t,{loadAsync:!0});return new m(r,n)}class m{host;abi;constructor(e,a){this.host=e,this.abi=a}async loadGrammar(e){if(!e.languageId)throw new r("grammar-registration-failed","loadGrammar: languageId is required (must match the name referenced by injection queries)");let[a,s,t,p]=await Promise.all([i(e.wasm),g(e.highlights),void 0===e.injections?"":g(e.injections),void 0===e.locals?"":g(e.locals)]),o=(function(e,a){if(void 0!==a){let s=e[a];if("function"!=typeof s)throw new r("grammar-language-export-missing",`grammar module has no function export named ${JSON.stringify(a)}`);return s}let s=Object.keys(e).filter(a=>a.startsWith("tree_sitter_")&&"function"==typeof e[a]);if(0===s.length)throw new r("grammar-language-export-missing","grammar module has no function export starting with tree_sitter_");if(s.length>1)throw new r("grammar-language-export-missing",`grammar module has multiple tree_sitter_* exports: ${s.join(", ")}. Pass options.languageExport to disambiguate.`);return e[s[0]]})(await this.host.loadWebAssemblyModule(a,{loadAsync:!0}),e.languageExport)();if(!o)throw new r("grammar-registration-failed","grammar tree_sitter_* export returned null");let[c,l]=n(this.host,e.languageId),[b,m]=n(this.host,s),[d,h]=n(this.host,t),[x,f]=n(this.host,p),u=0;try{u=this.abi.arborium_rt_register_grammar(o,c,l,b,m,d,h,x,f)}finally{c&&this.host._free(c),b&&this.host._free(b),d&&this.host._free(d),x&&this.host._free(x)}if(0===u)throw new r("grammar-registration-failed","arborium_rt_register_grammar returned 0 (query compile failure, bad language ptr, or empty name?)");return new w(this,u,o,e.languageId)}}class w{runtime;id;languagePtr;languageId;#e=!1;constructor(e,a,s,t){this.runtime=e,this.id=a,this.languagePtr=s,this.languageId=t}createSession(){this.#a();let e=this.runtime.abi.arborium_rt_create_session(this.id);if(0===e)throw new r("session-creation-failed",`arborium_rt_create_session(${this.id}) returned 0`);return new d(this,e)}unregister(){this.#e||(this.runtime.abi.arborium_rt_unregister_grammar(this.id),this.#e=!0)}#a(){if(this.#e)throw new r("grammar-registration-failed",`grammar ${this.id} has been unregistered`)}}class d{grammar;id;#s=!1;constructor(e,a){this.grammar=e,this.id=a}setText(e){this.#a();let[a,s]=n(this.grammar.runtime.host,e);try{this.grammar.runtime.abi.arborium_rt_set_text(this.id,a,s)}finally{a&&this.grammar.runtime.host._free(a)}}parse(){return this.#a(),this.#t("parse-failed",(e,a)=>this.grammar.runtime.abi.arborium_rt_parse_utf16(this.id,e,a),e=>0===e.length?{spans:[],injections:[],fuel_used:0,out_of_fuel:!1}:JSON.parse(e))}highlightToSpans(e={}){this.#a();let a=e.maxInjectionDepth??3,s=this.#t("highlight-failed",(e,s)=>this.grammar.runtime.abi.arborium_rt_highlight_to_spans_utf16(this.id,a,e,s),e=>0===e.length?{spans:[],missing_injections:[],out_of_fuel_languages:[],fuel_used:0}:JSON.parse(e));return{spans:s.spans,missingInjections:s.missing_injections,outOfFuelLanguages:s.out_of_fuel_languages,fuelUsed:s.fuel_used}}highlightToHtml(e={}){this.#a();let a=e.maxInjectionDepth??3,s=e.format??{kind:"custom-elements"},{host:t}=this.grammar.runtime,{code:r,prefix:i}=function(e){switch(e.kind){case"custom-elements":return{code:0,prefix:""};case"custom-elements-with-prefix":return{code:1,prefix:e.prefix};case"class-names":return{code:2,prefix:""};case"class-names-with-prefix":return{code:3,prefix:e.prefix}}}(s),[g,p]=n(t,i);try{let e=this.#t("highlight-failed",(e,s)=>this.grammar.runtime.abi.arborium_rt_highlight_to_html(this.id,a,r,g,p,e,s),e=>0===e.length?{html:"",missing_injections:[],out_of_fuel_languages:[],fuel_used:0}:JSON.parse(e));return{html:e.html,missingInjections:e.missing_injections,outOfFuelLanguages:e.out_of_fuel_languages,fuelUsed:e.fuel_used}}finally{g&&t._free(g)}}cancel(){this.#a(),this.grammar.runtime.abi.arborium_rt_cancel(this.id)}free(){this.#s||(this.grammar.runtime.abi.arborium_rt_free_session(this.id),this.#s=!0)}#a(){if(this.#s)throw new r("session-creation-failed",`session ${this.id} has been freed`)}#t(e,a,s){let{host:t,abi:n}=this.grammar.runtime,i=t._malloc(4),g=t._malloc(4);try{let p=a(i,g);if(0!==p)throw new r(e,`arborium_rt call returned status ${p}`);let o=t.getValue(i,"i32"),l=t.getValue(g,"i32");if(0===l)return s("");try{return s(0===l?"":c.decode(t.HEAPU8.subarray(o,o+l)))}finally{n.arborium_rt_free(o,l)}}finally{t._free(i),t._free(g)}}}async function h(){return(await s.e("379098").then(s.bind(s,623777))).default}}