@arborium/arborium 1.0.5 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- var arborium=(function(_){"use strict";class T extends Error{constructor(r){super(r),this.name="WasiError"}}class L{write(r){return BigInt(0)}blockingWriteAndFlush(r){}blockingFlush(){}checkWrite(){return BigInt(1048576)}subscribe(){}}class I{read(r){return new Uint8Array(0)}blockingRead(r){return new Uint8Array(0)}subscribe(){}}function aa(){const a=new L,r=new L,s=new I,n={getEnvironment:()=>[],getArguments:()=>[]},m={exit:o=>{if(o.tag==="err")throw new T(`WASI exit with error: ${o.val}`)}},e={getStdin:()=>s},l={getStdout:()=>a},i={getStderr:()=>r},v={now:()=>{const o=Date.now();return{seconds:BigInt(Math.floor(o/1e3)),nanoseconds:o%1e3*1e6}},resolution:()=>({seconds:BigInt(0),nanoseconds:1e6})},h={Descriptor:class{},DirectoryEntryStream:class{},filesystemErrorCode:()=>null},g={getDirectories:()=>[]},t={Error:T},c={InputStream:I,OutputStream:L},u={getRandomBytes:o=>{const d=new Uint8Array(Number(o));return crypto.getRandomValues(d),d},getRandomU64:()=>{const o=new Uint8Array(8);return crypto.getRandomValues(o),new DataView(o.buffer).getBigUint64(0,!0)}};return{"wasi:cli/environment":n,"wasi:cli/exit":m,"wasi:cli/stdin":e,"wasi:cli/stdout":l,"wasi:cli/stderr":i,"wasi:clocks/wall-clock":v,"wasi:filesystem/types":h,"wasi:filesystem/preopens":g,"wasi:io/error":t,"wasi:io/streams":c,"wasi:random/random":u,"wasi:cli/environment@0.2.3":n,"wasi:cli/exit@0.2.3":m,"wasi:cli/stdin@0.2.3":e,"wasi:cli/stdout@0.2.3":l,"wasi:cli/stderr@0.2.3":i,"wasi:clocks/wall-clock@0.2.3":v,"wasi:filesystem/types@0.2.3":h,"wasi:filesystem/preopens@0.2.3":g,"wasi:io/error@0.2.3":t,"wasi:io/streams@0.2.3":c,"wasi:random/random@0.2.3":u}}const ra={"arborium:grammar/types@0.1.0":{}},M={entries:[{language:"ada",package:"@arborium/ada",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ada@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ada@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/ada/npm/grammar.js",local_wasm:"/langs/group-moss/ada/npm/grammar.core.wasm"},{language:"agda",package:"@arborium/agda",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/agda@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/agda@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/agda/npm/grammar.js",local_wasm:"/langs/group-fern/agda/npm/grammar.core.wasm"},{language:"asciidoc",package:"@arborium/asciidoc",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/asciidoc@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/asciidoc@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/asciidoc/npm/grammar.js",local_wasm:"/langs/group-willow/asciidoc/npm/grammar.core.wasm"},{language:"asm",package:"@arborium/asm",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/asm@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/asm@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/asm/npm/grammar.js",local_wasm:"/langs/group-birch/asm/npm/grammar.core.wasm"},{language:"awk",package:"@arborium/awk",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/awk@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/awk@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/awk/npm/grammar.js",local_wasm:"/langs/group-hazel/awk/npm/grammar.core.wasm"},{language:"bash",package:"@arborium/bash",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/bash@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/bash@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/bash/npm/grammar.js",local_wasm:"/langs/group-hazel/bash/npm/grammar.core.wasm"},{language:"batch",package:"@arborium/batch",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/batch@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/batch@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/batch/npm/grammar.js",local_wasm:"/langs/group-hazel/batch/npm/grammar.core.wasm"},{language:"c",package:"@arborium/c",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/c@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/c@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/c/npm/grammar.js",local_wasm:"/langs/group-birch/c/npm/grammar.core.wasm"},{language:"c-sharp",package:"@arborium/c-sharp",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/c-sharp@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/c-sharp@1.0.5/grammar.core.wasm",local_js:"/langs/group-sage/c-sharp/npm/grammar.js",local_wasm:"/langs/group-sage/c-sharp/npm/grammar.core.wasm"},{language:"caddy",package:"@arborium/caddy",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/caddy@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/caddy@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/caddy/npm/grammar.js",local_wasm:"/langs/group-maple/caddy/npm/grammar.core.wasm"},{language:"capnp",package:"@arborium/capnp",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/capnp@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/capnp@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/capnp/npm/grammar.js",local_wasm:"/langs/group-pine/capnp/npm/grammar.core.wasm"},{language:"clojure",package:"@arborium/clojure",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/clojure@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/clojure@1.0.5/grammar.core.wasm",local_js:"/langs/group-cedar/clojure/npm/grammar.js",local_wasm:"/langs/group-cedar/clojure/npm/grammar.core.wasm"},{language:"cmake",package:"@arborium/cmake",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/cmake@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/cmake@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/cmake/npm/grammar.js",local_wasm:"/langs/group-maple/cmake/npm/grammar.core.wasm"},{language:"commonlisp",package:"@arborium/commonlisp",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/commonlisp@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/commonlisp@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/commonlisp/npm/grammar.js",local_wasm:"/langs/group-fern/commonlisp/npm/grammar.core.wasm"},{language:"cpp",package:"@arborium/cpp",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/cpp@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/cpp@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/cpp/npm/grammar.js",local_wasm:"/langs/group-birch/cpp/npm/grammar.core.wasm"},{language:"css",package:"@arborium/css",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/css@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/css@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/css/npm/grammar.js",local_wasm:"/langs/group-acorn/css/npm/grammar.core.wasm"},{language:"d",package:"@arborium/d",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/d@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/d@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/d/npm/grammar.js",local_wasm:"/langs/group-birch/d/npm/grammar.core.wasm"},{language:"dart",package:"@arborium/dart",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/dart@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/dart@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/dart/npm/grammar.js",local_wasm:"/langs/group-pine/dart/npm/grammar.core.wasm"},{language:"devicetree",package:"@arborium/devicetree",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/devicetree@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/devicetree@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/devicetree/npm/grammar.js",local_wasm:"/langs/group-pine/devicetree/npm/grammar.core.wasm"},{language:"diff",package:"@arborium/diff",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/diff@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/diff@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/diff/npm/grammar.js",local_wasm:"/langs/group-willow/diff/npm/grammar.core.wasm"},{language:"dockerfile",package:"@arborium/dockerfile",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/dockerfile@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/dockerfile@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/dockerfile/npm/grammar.js",local_wasm:"/langs/group-maple/dockerfile/npm/grammar.core.wasm"},{language:"dot",package:"@arborium/dot",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/dot@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/dot@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/dot/npm/grammar.js",local_wasm:"/langs/group-maple/dot/npm/grammar.core.wasm"},{language:"elisp",package:"@arborium/elisp",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/elisp@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/elisp@1.0.5/grammar.core.wasm",local_js:"/langs/group-sage/elisp/npm/grammar.js",local_wasm:"/langs/group-sage/elisp/npm/grammar.core.wasm"},{language:"elixir",package:"@arborium/elixir",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/elixir@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/elixir@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/elixir/npm/grammar.js",local_wasm:"/langs/group-fern/elixir/npm/grammar.core.wasm"},{language:"elm",package:"@arborium/elm",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/elm@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/elm@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/elm/npm/grammar.js",local_wasm:"/langs/group-fern/elm/npm/grammar.core.wasm"},{language:"erlang",package:"@arborium/erlang",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/erlang@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/erlang@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/erlang/npm/grammar.js",local_wasm:"/langs/group-fern/erlang/npm/grammar.core.wasm"},{language:"fish",package:"@arborium/fish",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/fish@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/fish@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/fish/npm/grammar.js",local_wasm:"/langs/group-hazel/fish/npm/grammar.core.wasm"},{language:"fsharp",package:"@arborium/fsharp",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/fsharp@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/fsharp@1.0.5/grammar.core.wasm",local_js:"/langs/group-sage/fsharp/npm/grammar.js",local_wasm:"/langs/group-sage/fsharp/npm/grammar.core.wasm"},{language:"gleam",package:"@arborium/gleam",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/gleam@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/gleam@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/gleam/npm/grammar.js",local_wasm:"/langs/group-fern/gleam/npm/grammar.core.wasm"},{language:"glsl",package:"@arborium/glsl",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/glsl@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/glsl@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/glsl/npm/grammar.js",local_wasm:"/langs/group-moss/glsl/npm/grammar.core.wasm"},{language:"go",package:"@arborium/go",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/go@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/go@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/go/npm/grammar.js",local_wasm:"/langs/group-birch/go/npm/grammar.core.wasm"},{language:"graphql",package:"@arborium/graphql",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/graphql@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/graphql@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/graphql/npm/grammar.js",local_wasm:"/langs/group-maple/graphql/npm/grammar.core.wasm"},{language:"haskell",package:"@arborium/haskell",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/haskell@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/haskell@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/haskell/npm/grammar.js",local_wasm:"/langs/group-fern/haskell/npm/grammar.core.wasm"},{language:"hcl",package:"@arborium/hcl",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/hcl@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/hcl@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/hcl/npm/grammar.js",local_wasm:"/langs/group-maple/hcl/npm/grammar.core.wasm"},{language:"hlsl",package:"@arborium/hlsl",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/hlsl@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/hlsl@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/hlsl/npm/grammar.js",local_wasm:"/langs/group-moss/hlsl/npm/grammar.core.wasm"},{language:"html",package:"@arborium/html",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/html@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/html@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/html/npm/grammar.js",local_wasm:"/langs/group-acorn/html/npm/grammar.core.wasm"},{language:"idris",package:"@arborium/idris",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/idris@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/idris@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/idris/npm/grammar.js",local_wasm:"/langs/group-fern/idris/npm/grammar.core.wasm"},{language:"ini",package:"@arborium/ini",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ini@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ini@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/ini/npm/grammar.js",local_wasm:"/langs/group-maple/ini/npm/grammar.core.wasm"},{language:"java",package:"@arborium/java",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/java@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/java@1.0.5/grammar.core.wasm",local_js:"/langs/group-cedar/java/npm/grammar.js",local_wasm:"/langs/group-cedar/java/npm/grammar.core.wasm"},{language:"javascript",package:"@arborium/javascript",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/javascript@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/javascript@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/javascript/npm/grammar.js",local_wasm:"/langs/group-acorn/javascript/npm/grammar.core.wasm"},{language:"jinja2",package:"@arborium/jinja2",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/jinja2@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/jinja2@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/jinja2/npm/grammar.js",local_wasm:"/langs/group-willow/jinja2/npm/grammar.core.wasm"},{language:"jq",package:"@arborium/jq",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/jq@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/jq@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/jq/npm/grammar.js",local_wasm:"/langs/group-maple/jq/npm/grammar.core.wasm"},{language:"json",package:"@arborium/json",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/json@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/json@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/json/npm/grammar.js",local_wasm:"/langs/group-acorn/json/npm/grammar.core.wasm"},{language:"julia",package:"@arborium/julia",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/julia@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/julia@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/julia/npm/grammar.js",local_wasm:"/langs/group-moss/julia/npm/grammar.core.wasm"},{language:"kdl",package:"@arborium/kdl",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/kdl@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/kdl@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/kdl/npm/grammar.js",local_wasm:"/langs/group-maple/kdl/npm/grammar.core.wasm"},{language:"kotlin",package:"@arborium/kotlin",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/kotlin@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/kotlin@1.0.5/grammar.core.wasm",local_js:"/langs/group-cedar/kotlin/npm/grammar.js",local_wasm:"/langs/group-cedar/kotlin/npm/grammar.core.wasm"},{language:"lean",package:"@arborium/lean",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/lean@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/lean@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/lean/npm/grammar.js",local_wasm:"/langs/group-fern/lean/npm/grammar.core.wasm"},{language:"lua",package:"@arborium/lua",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/lua@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/lua@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/lua/npm/grammar.js",local_wasm:"/langs/group-hazel/lua/npm/grammar.core.wasm"},{language:"markdown",package:"@arborium/markdown",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/markdown@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/markdown@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/markdown/npm/grammar.js",local_wasm:"/langs/group-willow/markdown/npm/grammar.core.wasm"},{language:"matlab",package:"@arborium/matlab",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/matlab@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/matlab@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/matlab/npm/grammar.js",local_wasm:"/langs/group-moss/matlab/npm/grammar.core.wasm"},{language:"meson",package:"@arborium/meson",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/meson@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/meson@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/meson/npm/grammar.js",local_wasm:"/langs/group-maple/meson/npm/grammar.core.wasm"},{language:"nginx",package:"@arborium/nginx",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/nginx@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/nginx@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/nginx/npm/grammar.js",local_wasm:"/langs/group-maple/nginx/npm/grammar.core.wasm"},{language:"ninja",package:"@arborium/ninja",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ninja@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ninja@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/ninja/npm/grammar.js",local_wasm:"/langs/group-maple/ninja/npm/grammar.core.wasm"},{language:"nix",package:"@arborium/nix",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/nix@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/nix@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/nix/npm/grammar.js",local_wasm:"/langs/group-maple/nix/npm/grammar.core.wasm"},{language:"objc",package:"@arborium/objc",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/objc@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/objc@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/objc/npm/grammar.js",local_wasm:"/langs/group-birch/objc/npm/grammar.core.wasm"},{language:"ocaml",package:"@arborium/ocaml",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ocaml@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ocaml@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/ocaml/npm/grammar.js",local_wasm:"/langs/group-fern/ocaml/npm/grammar.core.wasm"},{language:"perl",package:"@arborium/perl",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/perl@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/perl@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/perl/npm/grammar.js",local_wasm:"/langs/group-hazel/perl/npm/grammar.core.wasm"},{language:"php",package:"@arborium/php",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/php@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/php@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/php/npm/grammar.js",local_wasm:"/langs/group-hazel/php/npm/grammar.core.wasm"},{language:"postscript",package:"@arborium/postscript",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/postscript@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/postscript@1.0.5/grammar.core.wasm",local_js:"/langs/group-sage/postscript/npm/grammar.js",local_wasm:"/langs/group-sage/postscript/npm/grammar.core.wasm"},{language:"powershell",package:"@arborium/powershell",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/powershell@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/powershell@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/powershell/npm/grammar.js",local_wasm:"/langs/group-hazel/powershell/npm/grammar.core.wasm"},{language:"prolog",package:"@arborium/prolog",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/prolog@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/prolog@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/prolog/npm/grammar.js",local_wasm:"/langs/group-moss/prolog/npm/grammar.core.wasm"},{language:"python",package:"@arborium/python",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/python@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/python@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/python/npm/grammar.js",local_wasm:"/langs/group-hazel/python/npm/grammar.core.wasm"},{language:"query",package:"@arborium/query",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/query@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/query@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/query/npm/grammar.js",local_wasm:"/langs/group-maple/query/npm/grammar.core.wasm"},{language:"r",package:"@arborium/r",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/r@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/r@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/r/npm/grammar.js",local_wasm:"/langs/group-moss/r/npm/grammar.core.wasm"},{language:"rescript",package:"@arborium/rescript",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/rescript@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/rescript@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/rescript/npm/grammar.js",local_wasm:"/langs/group-pine/rescript/npm/grammar.core.wasm"},{language:"ron",package:"@arborium/ron",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ron@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ron@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/ron/npm/grammar.js",local_wasm:"/langs/group-maple/ron/npm/grammar.core.wasm"},{language:"ruby",package:"@arborium/ruby",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ruby@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ruby@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/ruby/npm/grammar.js",local_wasm:"/langs/group-hazel/ruby/npm/grammar.core.wasm"},{language:"rust",package:"@arborium/rust",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/rust@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/rust@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/rust/npm/grammar.js",local_wasm:"/langs/group-birch/rust/npm/grammar.core.wasm"},{language:"scala",package:"@arborium/scala",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/scala@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/scala@1.0.5/grammar.core.wasm",local_js:"/langs/group-cedar/scala/npm/grammar.js",local_wasm:"/langs/group-cedar/scala/npm/grammar.core.wasm"},{language:"scheme",package:"@arborium/scheme",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/scheme@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/scheme@1.0.5/grammar.core.wasm",local_js:"/langs/group-fern/scheme/npm/grammar.js",local_wasm:"/langs/group-fern/scheme/npm/grammar.core.wasm"},{language:"scss",package:"@arborium/scss",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/scss@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/scss@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/scss/npm/grammar.js",local_wasm:"/langs/group-acorn/scss/npm/grammar.core.wasm"},{language:"sparql",package:"@arborium/sparql",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/sparql@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/sparql@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/sparql/npm/grammar.js",local_wasm:"/langs/group-moss/sparql/npm/grammar.core.wasm"},{language:"sql",package:"@arborium/sql",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/sql@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/sql@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/sql/npm/grammar.js",local_wasm:"/langs/group-maple/sql/npm/grammar.core.wasm"},{language:"ssh-config",package:"@arborium/ssh-config",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/ssh-config@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/ssh-config@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/ssh-config/npm/grammar.js",local_wasm:"/langs/group-maple/ssh-config/npm/grammar.core.wasm"},{language:"starlark",package:"@arborium/starlark",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/starlark@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/starlark@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/starlark/npm/grammar.js",local_wasm:"/langs/group-pine/starlark/npm/grammar.core.wasm"},{language:"svelte",package:"@arborium/svelte",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/svelte@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/svelte@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/svelte/npm/grammar.js",local_wasm:"/langs/group-willow/svelte/npm/grammar.core.wasm"},{language:"swift",package:"@arborium/swift",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/swift@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/swift@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/swift/npm/grammar.js",local_wasm:"/langs/group-pine/swift/npm/grammar.core.wasm"},{language:"textproto",package:"@arborium/textproto",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/textproto@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/textproto@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/textproto/npm/grammar.js",local_wasm:"/langs/group-pine/textproto/npm/grammar.core.wasm"},{language:"thrift",package:"@arborium/thrift",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/thrift@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/thrift@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/thrift/npm/grammar.js",local_wasm:"/langs/group-pine/thrift/npm/grammar.core.wasm"},{language:"tlaplus",package:"@arborium/tlaplus",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/tlaplus@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/tlaplus@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/tlaplus/npm/grammar.js",local_wasm:"/langs/group-moss/tlaplus/npm/grammar.core.wasm"},{language:"toml",package:"@arborium/toml",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/toml@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/toml@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/toml/npm/grammar.js",local_wasm:"/langs/group-maple/toml/npm/grammar.core.wasm"},{language:"tsx",package:"@arborium/tsx",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/tsx@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/tsx@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/tsx/npm/grammar.js",local_wasm:"/langs/group-acorn/tsx/npm/grammar.core.wasm"},{language:"typescript",package:"@arborium/typescript",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/typescript@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/typescript@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/typescript/npm/grammar.js",local_wasm:"/langs/group-acorn/typescript/npm/grammar.core.wasm"},{language:"typst",package:"@arborium/typst",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/typst@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/typst@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/typst/npm/grammar.js",local_wasm:"/langs/group-willow/typst/npm/grammar.core.wasm"},{language:"uiua",package:"@arborium/uiua",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/uiua@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/uiua@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/uiua/npm/grammar.js",local_wasm:"/langs/group-pine/uiua/npm/grammar.core.wasm"},{language:"vb",package:"@arborium/vb",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/vb@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/vb@1.0.5/grammar.core.wasm",local_js:"/langs/group-sage/vb/npm/grammar.js",local_wasm:"/langs/group-sage/vb/npm/grammar.core.wasm"},{language:"verilog",package:"@arborium/verilog",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/verilog@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/verilog@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/verilog/npm/grammar.js",local_wasm:"/langs/group-moss/verilog/npm/grammar.core.wasm"},{language:"vhdl",package:"@arborium/vhdl",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/vhdl@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/vhdl@1.0.5/grammar.core.wasm",local_js:"/langs/group-moss/vhdl/npm/grammar.js",local_wasm:"/langs/group-moss/vhdl/npm/grammar.core.wasm"},{language:"vim",package:"@arborium/vim",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/vim@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/vim@1.0.5/grammar.core.wasm",local_js:"/langs/group-sage/vim/npm/grammar.js",local_wasm:"/langs/group-sage/vim/npm/grammar.core.wasm"},{language:"vue",package:"@arborium/vue",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/vue@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/vue@1.0.5/grammar.core.wasm",local_js:"/langs/group-willow/vue/npm/grammar.js",local_wasm:"/langs/group-willow/vue/npm/grammar.core.wasm"},{language:"x86asm",package:"@arborium/x86asm",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/x86asm@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/x86asm@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/x86asm/npm/grammar.js",local_wasm:"/langs/group-birch/x86asm/npm/grammar.core.wasm"},{language:"xml",package:"@arborium/xml",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/xml@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/xml@1.0.5/grammar.core.wasm",local_js:"/langs/group-acorn/xml/npm/grammar.js",local_wasm:"/langs/group-acorn/xml/npm/grammar.core.wasm"},{language:"yaml",package:"@arborium/yaml",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/yaml@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/yaml@1.0.5/grammar.core.wasm",local_js:"/langs/group-maple/yaml/npm/grammar.js",local_wasm:"/langs/group-maple/yaml/npm/grammar.core.wasm"},{language:"yuri",package:"@arborium/yuri",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/yuri@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/yuri@1.0.5/grammar.core.wasm",local_js:"/langs/group-pine/yuri/npm/grammar.js",local_wasm:"/langs/group-pine/yuri/npm/grammar.core.wasm"},{language:"zig",package:"@arborium/zig",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/zig@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/zig@1.0.5/grammar.core.wasm",local_js:"/langs/group-birch/zig/npm/grammar.js",local_wasm:"/langs/group-birch/zig/npm/grammar.core.wasm"},{language:"zsh",package:"@arborium/zsh",version:"1.0.5",cdn_js:"https://cdn.jsdelivr.net/npm/@arborium/zsh@1.0.5/grammar.js",cdn_wasm:"https://cdn.jsdelivr.net/npm/@arborium/zsh@1.0.5/grammar.core.wasm",local_js:"/langs/group-hazel/zsh/npm/grammar.js",local_wasm:"/langs/group-hazel/zsh/npm/grammar.core.wasm"}]},sa={manual:!1,theme:"one-dark",selector:"pre code",cdn:"jsdelivr",version:"1",pluginsUrl:"",hostUrl:""};let f=null,k=null,p={...sa};const S=new Map;let A=M,y=null,q=new Set(M.entries.map(a=>a.language));async function na(){if(p.pluginsUrl)return y||(y=(async()=>{console.debug(`[arborium] Loading plugins manifest from: ${p.pluginsUrl}`);const a=await fetch(p.pluginsUrl);if(!a.ok)throw new Error(`Failed to load plugins.json: ${a.status}`);A=await a.json(),q=new Set(A.entries.map(r=>r.language)),console.debug(`[arborium] Available languages: ${Array.from(q).join(", ")}`)})(),y)}async function z(a){const r=S.get(a);if(r)return console.debug(`[arborium] Grammar '${a}' found in cache`),r;await na();const s=A.entries.find(n=>n.language===a);if(!s)return console.debug(`[arborium] Grammar '${a}' not found in manifest`),null;try{const n=p.pluginsUrl?s.local_js:s.cdn_js,m=n.substring(0,n.lastIndexOf("/"));console.debug(`[arborium] Loading grammar '${a}' from ${n}`);const e=await import(n),l=async c=>{const u=`${m}/${c}`,o=await fetch(u);if(!o.ok)throw new Error(`Failed to fetch WASM ${c}: ${o.status}`);const d=await o.arrayBuffer();return WebAssembly.compile(d)},v={...aa(),...ra},h=await e.instantiate(l,v),g=h.plugin||h["arborium:grammar/plugin@0.1.0"];if(!g)return console.error(`Grammar '${a}' missing plugin interface`),null;const t={languageId:a,injectionLanguages:g.injectionLanguages?.()??[],parse:c=>{const u=g.createSession();try{g.setText(u,c);const o=g.parse(u);if(o.tag==="err"){const ha=o.val;return console.error(`[arborium] Parse error: ${ha?.message}`),{spans:[],injections:[]}}const d=o.tag==="ok"?o.val:o;if(!d||typeof d!="object")return console.error("[arborium] Unexpected parse result:",o),{spans:[],injections:[]};const Z=d;return{spans:Z.spans||[],injections:Z.injections||[]}}finally{g.freeSession(u)}}};return S.set(a,t),console.debug(`[arborium] Grammar '${a}' loaded successfully`),t}catch(n){return console.error(`[arborium] Failed to load grammar '${a}':`,n),null}}const U=new Map;let ma=1;function ea(){window.arboriumHost={isLanguageAvailable(a){return q.has(a)||S.has(a)},async loadGrammar(a){const r=await z(a);if(!r)return 0;for(const[n,m]of U)if(m===r)return n;const s=ma++;return U.set(s,r),s},parse(a,r){const s=U.get(a);return s?s.parse(r):{spans:[],injections:[]}}}}function oa(){if(p.hostUrl)return p.hostUrl;const a=p.cdn,r=p.version;let s;a==="jsdelivr"?s="https://cdn.jsdelivr.net/npm":a==="unpkg"?s="https://unpkg.com":s=a;const n=r==="latest"?"":`@${r}`;return`${s}/@arborium/arborium${n}/dist`}async function ta(){return f||k||(k=(async()=>{ea();const a=oa(),r=`${a}/arborium_host.js`,s=`${a}/arborium_host_bg.wasm`;console.debug(`[arborium] Loading host from ${r}`);try{const n=await import(r);return await n.default(s),f={highlight:n.highlight,isLanguageAvailable:n.isLanguageAvailable},console.debug("[arborium] Host loaded successfully"),f}catch(n){return console.error("[arborium] Failed to load host:",n),null}})(),k)}async function R(a,r,s){const n=await ta();if(n)try{return n.highlight(a,r)}catch(l){console.warn("Host highlight failed, falling back to JS:",l)}const m=await z(a);if(!m)return x(r);const e=m.parse(r);return W(r,e.spans)}async function B(a,r){const s=await z(a);return s?{languageId:()=>s.languageId,injectionLanguages:()=>s.injectionLanguages,highlight:async n=>{const m=s.parse(n);return W(n,m.spans)},parse:n=>s.parse(n),dispose:()=>{}}:null}function W(a,r){const s=[...r].sort((e,l)=>e.start-l.start);let n="",m=0;for(const e of s){if(e.start<m)continue;e.start>m&&(n+=x(a.slice(m,e.start)));const l=la(e.capture),i=x(a.slice(e.start,e.end));l?n+=`<a-${l}>${i}</a-${l}>`:n+=i,m=e.end}return m<a.length&&(n+=x(a.slice(m))),n}function la(a){return a.startsWith("keyword")||a==="include"||a==="conditional"?"k":a.startsWith("function")||a.startsWith("method")?"f":a.startsWith("string")||a==="character"?"s":a.startsWith("comment")?"c":a.startsWith("type")?"t":a.startsWith("variable")?"v":a.startsWith("number")||a==="float"?"n":a.startsWith("operator")?"o":a.startsWith("punctuation")?"p":a.startsWith("tag")?"tg":a.startsWith("attribute")?"at":null}function x(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function C(a){return a?{...p,...a}:{...p}}function P(a){p={...p,...a}}const ca=[[/^#!.*\bpython[23]?\b/,"python"],[/^#!.*\bnode\b/,"javascript"],[/^#!.*\bdeno\b/,"typescript"],[/^#!.*\bbun\b/,"typescript"],[/^#!.*\bruby\b/,"ruby"],[/^#!.*\bperl\b/,"perl"],[/^#!.*\bphp\b/,"php"],[/^#!.*\bbash\b/,"bash"],[/^#!.*\bzsh\b/,"zsh"],[/^#!.*\bsh\b/,"bash"],[/^#!.*\blua\b/,"lua"],[/^#!.*\bawk\b/,"awk"]],ia=[[/\b(fn|impl|trait|pub\s+fn|let\s+mut|&mut|->)\b/,"rust"],[/\b(func|package\s+\w+|import\s+\(|go\s+func|chan\s+\w+)\b/,"go"],[/\b(def\s+\w+\s*\(|import\s+\w+|from\s+\w+\s+import|class\s+\w+:)\b/,"python"],[/:\s*(string|number|boolean|void)\b|\binterface\s+\w+\s*\{/,"typescript"],[/\b(const|let|var)\s+\w+\s*=|function\s+\w+\s*\(|=>\s*\{/,"javascript"],[/\b(def\s+\w+|end\b|do\s*\|.*\||puts\s+|require\s+['"])\b/,"ruby"],[/\b(public\s+class|private\s+\w+|System\.out\.println)\b/,"java"],[/\b(#include\s*<|std::|template\s*<|nullptr|cout\s*<<)\b/,"cpp"],[/\b(#include\s*[<"]|printf\s*\(|int\s+main\s*\(|void\s+\w+\s*\()\b/,"c"],[/\b(namespace\s+\w+|using\s+System|public\s+static\s+void)\b/,"c-sharp"],[/<\?php|\$\w+\s*=/,"php"],[/\b(func\s+\w+|var\s+\w+:\s*\w+|let\s+\w+:\s*\w+|@objc)\b/,"swift"],[/\b(fun\s+\w+|val\s+\w+|var\s+\w+:|data\s+class)\b/,"kotlin"],[/\b(def\s+\w+|val\s+\w+|var\s+\w+|object\s+\w+|case\s+class)\b/,"scala"],[/\b(module\s+\w+|import\s+qualified|data\s+\w+\s*=|::\s*\w+\s*->)\b/,"haskell"],[/\b(defmodule\s+\w+|def\s+\w+|defp\s+\w+|\|>)\b/,"elixir"],[/\b(local\s+\w+\s*=|function\s+\w+\.\w+|require\s*\()\b/,"lua"],[/\b(SELECT\s+.*\s+FROM|INSERT\s+INTO|CREATE\s+TABLE|ALTER\s+TABLE)\b/i,"sql"],[/\b(if\s+\[\s*|then\b|fi\b|echo\s+["']|export\s+\w+=)\b/,"bash"],[/^\s*[\w-]+:\s*[\w\-"'[{]|^---\s*$/,"yaml"],[/^\s*\{[\s\S]*"[\w-]+":\s*/,"json"],[/^\s*\[[\w.-]+\]\s*$|^\s*\w+\s*=\s*["'\d\[]/,"toml"],[/<(!DOCTYPE|html|head|body|div|span|p|a\s)/i,"html"],[/^\s*[\w.#@][\w\s,#.:>+~-]*\{[^}]*\}|@media\s|@import\s/,"css"],[/^#{1,6}\s+\w|^\s*[-*+]\s+\w|^\s*\d+\.\s+\w|```\w*\n/,"markdown"],[/<\?xml|<[\w:-]+\s+xmlns/,"xml"],[/^FROM\s+\w+|^RUN\s+|^COPY\s+|^ENTRYPOINT\s+/m,"dockerfile"],[/\b(server\s*\{|location\s+[\/~]|proxy_pass\s+)\b/,"nginx"],[/\b(pub\s+fn|const\s+\w+\s*=|@import\(|comptime)\b/,"zig"]];function F(a){const r=a.split(`
2
- `)[0];for(const[s,n]of ca)if(s.test(r))return n;for(const[s,n]of ia)if(s.test(a))return n;return null}function H(a){const r=a.match(/\blanguage-(\w+)\b/);if(r)return r[1];const s=a.match(/\blang-(\w+)\b/);if(s)return s[1];const n=new Set(["rust","javascript","typescript","python","ruby","go","java","c","cpp","csharp","php","swift","kotlin","scala","haskell","elixir","lua","sql","bash","shell","yaml","json","toml","html","css","xml","markdown","dockerfile","nginx","zig","text","plaintext","console","sh"]);for(const m of a.split(/\s+/))if(n.has(m.toLowerCase()))return m.toLowerCase();return null}function $(a){const r={js:"javascript",ts:"typescript",py:"python",rb:"ruby",rs:"rust",sh:"bash",shell:"bash",yml:"yaml",cs:"c-sharp",csharp:"c-sharp","c++":"cpp","c#":"c-sharp","f#":"fsharp",dockerfile:"dockerfile",docker:"dockerfile",makefile:"make",plaintext:"text",plain:"text",txt:"text"},s=a.toLowerCase();return r[s]||s}const j=document.currentScript;function ga(){if(!j?.src)return new URLSearchParams;try{return new URL(j.src).searchParams}catch{return new URLSearchParams}}function pa(){if(!j)return{};const a={},r=ga();j.hasAttribute("data-manual")&&(a.manual=!0);const s=j.getAttribute("data-theme");s&&(a.theme=s);const n=j.getAttribute("data-selector");n&&(a.selector=n);const m=j.getAttribute("data-cdn");m&&(a.cdn=m);const e=j.getAttribute("data-version");e&&(a.version=e);const l=r.get("pluginsUrl");l&&(a.pluginsUrl=l);const i=r.get("hostUrl");return i&&(a.hostUrl=i),a}function N(){return document.querySelector('meta[name="generator"]')?.getAttribute("content")==="rustdoc"}function ua(a){if(!a)return null;const r={light:"rustdoc-light",dark:"rustdoc-dark",ayu:"rustdoc-ayu"};return r[a]?r[a]:null}function O(){if(N()){const r=ua(document.documentElement.dataset.theme);if(r)return r}return window.matchMedia("(prefers-color-scheme: light)").matches?"github-light":"one-dark"}function w(){const a=window.Arborium||{},r=pa(),s={...a,...r};return s.theme||(s.theme=O()),P(s),C()}function da(a){return Array.from(document.querySelectorAll(a))}function ja(a){const r=["hljs","highlighted","prism-code","shiki"];for(const m of r)if(a.classList.contains(m))return!0;const s=a.querySelectorAll("span[class]");return s.length>0&&Array.from(s).filter(e=>e.className&&e.className.length>0).length>=3||a.querySelectorAll("a").length>=2}function D(a){const r=a.getAttribute("data-lang");if(r)return $(r);const s=a.className,n=H(s);if(n)return $(n);const m=a.parentElement;if(m){const l=m.getAttribute("data-lang");if(l)return $(l);const i=H(m.className);if(i)return $(i)}const e=a.textContent||"";return F(e)}function G(){const a=w();if(a.hostUrl)return`${a.hostUrl}/themes`;const r=a.cdn,s=a.version;let n;r==="jsdelivr"?n="https://cdn.jsdelivr.net/npm":r==="unpkg"?n="https://unpkg.com":n=r;const m=s==="latest"?"":`@${s}`;return`${n}/@arborium/arborium${m}/dist/themes`}function wa(){const a="arborium-base";if(document.getElementById(a))return;const r=`${G()}/base-rustdoc.css`;console.debug(`[arborium] Loading base CSS: ${r}`);const s=document.createElement("link");s.id=a,s.rel="stylesheet",s.href=r,document.head.appendChild(s)}let b=null;function Y(a){if(b&&b!==a){const m=document.getElementById(`arborium-theme-${b}`);m&&(m.remove(),console.debug(`[arborium] Removed theme: ${b}`))}const r=`arborium-theme-${a}`;if(document.getElementById(r)){b=a;return}const s=`${G()}/${a}.css`;console.debug(`[arborium] Loading theme: ${s}`);const n=document.createElement("link");n.id=r,n.rel="stylesheet",n.href=s,document.head.appendChild(n),b=a}async function V(a,r,s){const n=a.textContent||"";if(n.trim())try{const m=await R(r,n,s);a.innerHTML=m,a.setAttribute("data-highlighted","true"),a.setAttribute("data-lang",r)}catch(m){console.warn(`[arborium] Failed to highlight ${r}:`,m)}}async function E(){const a=w();wa(),Y(a.theme);const r=da(a.selector);if(r.length===0)return;const s=new Map,n=[];for(const t of r){if(t.hasAttribute("data-highlighted")||ja(t))continue;const c=D(t);if(c){const u=s.get(c)||[];u.push(t),s.set(c,u)}else n.push(t)}const m=Array.from(s.keys()),e=m.map(t=>B(t).catch(c=>(console.warn(`[arborium] Failed to load grammar for ${t}:`,c),null))),l=await Promise.all(e),i=[];for(let t=0;t<m.length;t++){const c=m[t];if(!l[t])continue;const o=s.get(c)||[];for(const d of o)i.push(V(d,c,a))}await Promise.all(i);const v=r.length,h=r.filter(t=>t.hasAttribute("data-highlighted")).length,g=n.length;(h>0||g>0)&&console.debug(`[arborium] Highlighted ${h}/${v} blocks`+(g>0?` (${g} unknown language)`:""))}async function J(a){C({...w(),...a}),await E()}async function K(a,r,s){const n=C({...w(),...s}),m=r||D(a);if(!m){console.warn("[arborium] Could not detect language for element");return}await V(a,m,n)}window.arborium={highlightAll:J,highlightElement:K,loadGrammar:B,highlight:R,detectLanguage:F,config:w()};async function Q(){const a=O();w().theme!==a&&(P({theme:a}),window.arborium.config=w(),Y(a),console.debug(`[arborium] Theme changed to: ${a}`))}function X(){new MutationObserver(r=>{for(const s of r)if(s.attributeName==="data-theme"&&N()){Q();break}}).observe(document.documentElement,{attributes:!0}),window.matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>Q())}return w().manual||(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{E(),X()}):(E(),X())),_.highlightAll=J,_.highlightElement=K,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),_})({});
1
+ var arborium=(function(k){"use strict";class M extends Error{constructor(s){super(s),this.name="WasiError"}}class U{write(s){return BigInt(0)}blockingWriteAndFlush(s){}blockingFlush(){}checkWrite(){return BigInt(1048576)}subscribe(){}}class R{read(s){return new Uint8Array(0)}blockingRead(s){return new Uint8Array(0)}subscribe(){}}function X(){const t=new U,s=new U,e=new R,n={getEnvironment:()=>[],getArguments:()=>[]},r={exit:c=>{if(c.tag==="err")throw new M(`WASI exit with error: ${c.val}`)}},o={getStdin:()=>e},i={getStdout:()=>t},m={getStderr:()=>s},y={now:()=>{const c=Date.now();return{seconds:BigInt(Math.floor(c/1e3)),nanoseconds:c%1e3*1e6}},resolution:()=>({seconds:BigInt(0),nanoseconds:1e6})},d={Descriptor:class{},DirectoryEntryStream:class{},filesystemErrorCode:()=>null},h={getDirectories:()=>[]},a={Error:M},l={InputStream:R,OutputStream:U},u={getRandomBytes:c=>{const p=new Uint8Array(Number(c));return crypto.getRandomValues(p),p},getRandomU64:()=>{const c=new Uint8Array(8);return crypto.getRandomValues(c),new DataView(c.buffer).getBigUint64(0,!0)}};return{"wasi:cli/environment":n,"wasi:cli/exit":r,"wasi:cli/stdin":o,"wasi:cli/stdout":i,"wasi:cli/stderr":m,"wasi:clocks/wall-clock":y,"wasi:filesystem/types":d,"wasi:filesystem/preopens":h,"wasi:io/error":a,"wasi:io/streams":l,"wasi:random/random":u,"wasi:cli/environment@0.2.3":n,"wasi:cli/exit@0.2.3":r,"wasi:cli/stdin@0.2.3":o,"wasi:cli/stdout@0.2.3":i,"wasi:cli/stderr@0.2.3":m,"wasi:clocks/wall-clock@0.2.3":y,"wasi:filesystem/types@0.2.3":d,"wasi:filesystem/preopens@0.2.3":h,"wasi:io/error@0.2.3":a,"wasi:io/streams@0.2.3":l,"wasi:random/random@0.2.3":u}}const Z={"arborium:grammar/types@0.1.0":{}},tt=["ada","agda","asciidoc","asm","awk","bash","batch","c","c-sharp","caddy","capnp","clojure","cmake","commonlisp","cpp","css","d","dart","devicetree","diff","dockerfile","dot","elisp","elixir","elm","erlang","fish","fsharp","gleam","glsl","go","graphql","haskell","hcl","hlsl","html","idris","ini","java","javascript","jinja2","jq","json","julia","kdl","kotlin","lean","lua","markdown","matlab","meson","nginx","ninja","nix","objc","ocaml","perl","php","postscript","powershell","prolog","python","query","r","rescript","ron","ruby","rust","scala","scheme","scss","sparql","sql","ssh-config","starlark","svelte","swift","textproto","thrift","tlaplus","toml","tsx","typescript","typst","uiua","vb","verilog","vhdl","vim","vue","x86asm","xml","yaml","yuri","zig","zsh"],et={manual:!1,theme:"one-dark",selector:"pre code",cdn:"jsdelivr",version:"1",pluginsUrl:"",hostUrl:""};let j=null,$=null,g={...et};const x=new Map,B=new Set(tt);let v=null,L=null;async function st(){if(g.pluginsUrl)return L||(L=(async()=>{console.debug(`[arborium] Loading local plugins manifest from: ${g.pluginsUrl}`);const t=await fetch(g.pluginsUrl);if(!t.ok)throw new Error(`Failed to load plugins.json: ${t.status}`);v=await t.json(),console.debug(`[arborium] Loaded local manifest with ${v?.entries.length} entries`)})(),L)}function nt(t){if(v){const n=v.entries.find(r=>r.language===t);if(n)return n.local_js}const s=g.cdn;let e;return s==="jsdelivr"?e="https://cdn.jsdelivr.net/npm":s==="unpkg"?e="https://unpkg.com":e=s,`${e}/@arborium/${t}@1/grammar.js`}async function E(t){const s=x.get(t);if(s)return console.debug(`[arborium] Grammar '${t}' found in cache`),s;if(await st(),!B.has(t)&&!v?.entries.some(e=>e.language===t))return console.debug(`[arborium] Grammar '${t}' not available`),null;try{const e=nt(t),n=e.substring(0,e.lastIndexOf("/"));console.debug(`[arborium] Loading grammar '${t}' from ${e}`);const r=await import(e),o=async a=>{const l=`${n}/${a}`,u=await fetch(l);if(!u.ok)throw new Error(`Failed to fetch WASM ${a}: ${u.status}`);const c=await u.arrayBuffer();return WebAssembly.compile(c)},m={...X(),...Z},y=await r.instantiate(o,m),d=y.plugin||y["arborium:grammar/plugin@0.1.0"];if(!d)return console.error(`Grammar '${t}' missing plugin interface`),null;const h={languageId:t,injectionLanguages:d.injectionLanguages?.()??[],parse:a=>{const l=d.createSession();try{d.setText(l,a);const u=d.parse(l);if(u.tag==="err"){const bt=u.val;return console.error(`[arborium] Parse error: ${bt?.message}`),{spans:[],injections:[]}}const c=u.tag==="ok"?u.val:u;if(!c||typeof c!="object")return console.error("[arborium] Unexpected parse result:",u),{spans:[],injections:[]};const p=c;return{spans:p.spans||[],injections:p.injections||[]}}finally{d.freeSession(l)}}};return x.set(t,h),console.debug(`[arborium] Grammar '${t}' loaded successfully`),h}catch(e){return console.error(`[arborium] Failed to load grammar '${t}':`,e),null}}const C=new Map;let rt=1;function ot(){window.arboriumHost={isLanguageAvailable(t){return B.has(t)||x.has(t)},async loadGrammar(t){const s=await E(t);if(!s)return 0;for(const[n,r]of C)if(r===s)return n;const e=rt++;return C.set(e,s),e},parse(t,s){const e=C.get(t);return e?e.parse(s):{spans:[],injections:[]}}}}function at(){if(g.hostUrl)return g.hostUrl;const t=g.cdn,s=g.version;let e;t==="jsdelivr"?e="https://cdn.jsdelivr.net/npm":t==="unpkg"?e="https://unpkg.com":e=t;const n=s==="latest"?"":`@${s}`;return`${e}/@arborium/arborium${n}/dist`}async function it(){return j||$||($=(async()=>{ot();const t=at(),s=`${t}/arborium_host.js`,e=`${t}/arborium_host_bg.wasm`;console.debug(`[arborium] Loading host from ${s}`);try{const n=await import(s);return await n.default(e),j={highlight:n.highlight,isLanguageAvailable:n.isLanguageAvailable},console.debug("[arborium] Host loaded successfully"),j}catch(n){return console.error("[arborium] Failed to load host:",n),null}})(),$)}async function W(t,s,e){const n=await it();if(n)try{return n.highlight(t,s)}catch(i){console.warn("Host highlight failed, falling back to JS:",i)}const r=await E(t);if(!r)return S(s);const o=r.parse(s);return q(s,o.spans)}async function P(t,s){const e=await E(t);return e?{languageId:()=>e.languageId,injectionLanguages:()=>e.injectionLanguages,highlight:async n=>{const r=e.parse(n);return q(n,r.spans)},parse:n=>e.parse(n),dispose:()=>{}}:null}function q(t,s){const e=[...s].sort((o,i)=>o.start-i.start);let n="",r=0;for(const o of e){if(o.start<r)continue;o.start>r&&(n+=S(t.slice(r,o.start)));const i=ct(o.capture),m=S(t.slice(o.start,o.end));i?n+=`<a-${i}>${m}</a-${i}>`:n+=m,r=o.end}return r<t.length&&(n+=S(t.slice(r))),n}function ct(t){return t.startsWith("keyword")||t==="include"||t==="conditional"?"k":t.startsWith("function")||t.startsWith("method")?"f":t.startsWith("string")||t==="character"?"s":t.startsWith("comment")?"c":t.startsWith("type")?"t":t.startsWith("variable")?"v":t.startsWith("number")||t==="float"?"n":t.startsWith("operator")?"o":t.startsWith("punctuation")?"p":t.startsWith("tag")?"tg":t.startsWith("attribute")?"at":null}function S(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function T(t){return t?{...g,...t}:{...g}}function F(t){g={...g,...t}}const lt=[[/^#!.*\bpython[23]?\b/,"python"],[/^#!.*\bnode\b/,"javascript"],[/^#!.*\bdeno\b/,"typescript"],[/^#!.*\bbun\b/,"typescript"],[/^#!.*\bruby\b/,"ruby"],[/^#!.*\bperl\b/,"perl"],[/^#!.*\bphp\b/,"php"],[/^#!.*\bbash\b/,"bash"],[/^#!.*\bzsh\b/,"zsh"],[/^#!.*\bsh\b/,"bash"],[/^#!.*\blua\b/,"lua"],[/^#!.*\bawk\b/,"awk"]],ut=[[/\b(fn|impl|trait|pub\s+fn|let\s+mut|&mut|->)\b/,"rust"],[/\b(func|package\s+\w+|import\s+\(|go\s+func|chan\s+\w+)\b/,"go"],[/\b(def\s+\w+\s*\(|import\s+\w+|from\s+\w+\s+import|class\s+\w+:)\b/,"python"],[/:\s*(string|number|boolean|void)\b|\binterface\s+\w+\s*\{/,"typescript"],[/\b(const|let|var)\s+\w+\s*=|function\s+\w+\s*\(|=>\s*\{/,"javascript"],[/\b(def\s+\w+|end\b|do\s*\|.*\||puts\s+|require\s+['"])\b/,"ruby"],[/\b(public\s+class|private\s+\w+|System\.out\.println)\b/,"java"],[/\b(#include\s*<|std::|template\s*<|nullptr|cout\s*<<)\b/,"cpp"],[/\b(#include\s*[<"]|printf\s*\(|int\s+main\s*\(|void\s+\w+\s*\()\b/,"c"],[/\b(namespace\s+\w+|using\s+System|public\s+static\s+void)\b/,"c-sharp"],[/<\?php|\$\w+\s*=/,"php"],[/\b(func\s+\w+|var\s+\w+:\s*\w+|let\s+\w+:\s*\w+|@objc)\b/,"swift"],[/\b(fun\s+\w+|val\s+\w+|var\s+\w+:|data\s+class)\b/,"kotlin"],[/\b(def\s+\w+|val\s+\w+|var\s+\w+|object\s+\w+|case\s+class)\b/,"scala"],[/\b(module\s+\w+|import\s+qualified|data\s+\w+\s*=|::\s*\w+\s*->)\b/,"haskell"],[/\b(defmodule\s+\w+|def\s+\w+|defp\s+\w+|\|>)\b/,"elixir"],[/\b(local\s+\w+\s*=|function\s+\w+\.\w+|require\s*\()\b/,"lua"],[/\b(SELECT\s+.*\s+FROM|INSERT\s+INTO|CREATE\s+TABLE|ALTER\s+TABLE)\b/i,"sql"],[/\b(if\s+\[\s*|then\b|fi\b|echo\s+["']|export\s+\w+=)\b/,"bash"],[/^\s*[\w-]+:\s*[\w\-"'[{]|^---\s*$/,"yaml"],[/^\s*\{[\s\S]*"[\w-]+":\s*/,"json"],[/^\s*\[[\w.-]+\]\s*$|^\s*\w+\s*=\s*["'\d\[]/,"toml"],[/<(!DOCTYPE|html|head|body|div|span|p|a\s)/i,"html"],[/^\s*[\w.#@][\w\s,#.:>+~-]*\{[^}]*\}|@media\s|@import\s/,"css"],[/^#{1,6}\s+\w|^\s*[-*+]\s+\w|^\s*\d+\.\s+\w|```\w*\n/,"markdown"],[/<\?xml|<[\w:-]+\s+xmlns/,"xml"],[/^FROM\s+\w+|^RUN\s+|^COPY\s+|^ENTRYPOINT\s+/m,"dockerfile"],[/\b(server\s*\{|location\s+[\/~]|proxy_pass\s+)\b/,"nginx"],[/\b(pub\s+fn|const\s+\w+\s*=|@import\(|comptime)\b/,"zig"]];function H(t){const s=t.split(`
2
+ `)[0];for(const[e,n]of lt)if(e.test(s))return n;for(const[e,n]of ut)if(e.test(t))return n;return null}function N(t){const s=t.match(/\blanguage-(\w+)\b/);if(s)return s[1];const e=t.match(/\blang-(\w+)\b/);if(e)return e[1];const n=new Set(["rust","javascript","typescript","python","ruby","go","java","c","cpp","csharp","php","swift","kotlin","scala","haskell","elixir","lua","sql","bash","shell","yaml","json","toml","html","css","xml","markdown","dockerfile","nginx","zig","text","plaintext","console","sh"]);for(const r of t.split(/\s+/))if(n.has(r.toLowerCase()))return r.toLowerCase();return null}function A(t){const s={js:"javascript",ts:"typescript",py:"python",rb:"ruby",rs:"rust",sh:"bash",shell:"bash",yml:"yaml",cs:"c-sharp",csharp:"c-sharp","c++":"cpp","c#":"c-sharp","f#":"fsharp",dockerfile:"dockerfile",docker:"dockerfile",makefile:"make",plaintext:"text",plain:"text",txt:"text"},e=t.toLowerCase();return s[e]||e}const f=document.currentScript;function mt(){if(!f?.src)return new URLSearchParams;try{return new URL(f.src).searchParams}catch{return new URLSearchParams}}function gt(){if(!f)return{};const t={},s=mt();f.hasAttribute("data-manual")&&(t.manual=!0);const e=f.getAttribute("data-theme");e&&(t.theme=e);const n=f.getAttribute("data-selector");n&&(t.selector=n);const r=f.getAttribute("data-cdn");r&&(t.cdn=r);const o=f.getAttribute("data-version");o&&(t.version=o);const i=s.get("pluginsUrl");i&&(t.pluginsUrl=i);const m=s.get("hostUrl");return m&&(t.hostUrl=m),t}function _(){return document.querySelector('meta[name="generator"]')?.getAttribute("content")==="rustdoc"}function dt(t){if(!t)return null;const s={light:"rustdoc-light",dark:"rustdoc-dark",ayu:"rustdoc-ayu"};return s[t]?s[t]:null}function O(){if(_()){const s=dt(document.documentElement.dataset.theme);if(s)return s}return window.matchMedia("(prefers-color-scheme: light)").matches?"github-light":"one-dark"}function b(){const t=window.Arborium||{},s=gt(),e={...t,...s};return e.theme||(e.theme=O()),F(e),T()}function ht(t){return Array.from(document.querySelectorAll(t))}function ft(t){const s=["hljs","highlighted","prism-code","shiki"];for(const r of s)if(t.classList.contains(r))return!0;const e=t.querySelectorAll("span[class]");return e.length>0&&Array.from(e).filter(o=>o.className&&o.className.length>0).length>=3||t.querySelectorAll("a").length>=2}function G(t){const s=t.getAttribute("data-lang");if(s)return A(s);const e=t.className,n=N(e);if(n)return A(n);const r=t.parentElement;if(r){const i=r.getAttribute("data-lang");if(i)return A(i);const m=N(r.className);if(m)return A(m)}const o=t.textContent||"";return H(o)}function D(){const t=b();if(t.hostUrl)return`${t.hostUrl}/themes`;const s=t.cdn,e=t.version;let n;s==="jsdelivr"?n="https://cdn.jsdelivr.net/npm":s==="unpkg"?n="https://unpkg.com":n=s;const r=e==="latest"?"":`@${e}`;return`${n}/@arborium/arborium${r}/dist/themes`}function pt(){const t="arborium-base";if(document.getElementById(t))return;const s=`${D()}/base-rustdoc.css`;console.debug(`[arborium] Loading base CSS: ${s}`);const e=document.createElement("link");e.id=t,e.rel="stylesheet",e.href=s,document.head.appendChild(e)}let w=null;function z(t){if(w&&w!==t){const r=document.getElementById(`arborium-theme-${w}`);r&&(r.remove(),console.debug(`[arborium] Removed theme: ${w}`))}const s=`arborium-theme-${t}`;if(document.getElementById(s)){w=t;return}const e=`${D()}/${t}.css`;console.debug(`[arborium] Loading theme: ${e}`);const n=document.createElement("link");n.id=s,n.rel="stylesheet",n.href=e,document.head.appendChild(n),w=t}async function Y(t,s,e){const n=t.textContent||"";if(n.trim())try{const r=await W(s,n,e);t.innerHTML=r,t.setAttribute("data-highlighted","true"),t.setAttribute("data-lang",s)}catch(r){console.warn(`[arborium] Failed to highlight ${s}:`,r)}}async function I(){const t=b();pt(),z(t.theme);const s=ht(t.selector);if(s.length===0)return;const e=new Map,n=[];for(const a of s){if(a.hasAttribute("data-highlighted")||ft(a))continue;const l=G(a);if(l){const u=e.get(l)||[];u.push(a),e.set(l,u)}else n.push(a)}const r=Array.from(e.keys()),o=r.map(a=>P(a).catch(l=>(console.warn(`[arborium] Failed to load grammar for ${a}:`,l),null))),i=await Promise.all(o),m=[];for(let a=0;a<r.length;a++){const l=r[a];if(!i[a])continue;const c=e.get(l)||[];for(const p of c)m.push(Y(p,l,t))}await Promise.all(m);const y=s.length,d=s.filter(a=>a.hasAttribute("data-highlighted")).length,h=n.length;(d>0||h>0)&&console.debug(`[arborium] Highlighted ${d}/${y} blocks`+(h>0?` (${h} unknown language)`:""))}async function V(t){T({...b(),...t}),await I()}async function J(t,s,e){const n=T({...b(),...e}),r=s||G(t);if(!r){console.warn("[arborium] Could not detect language for element");return}await Y(t,r,n)}window.arborium={highlightAll:V,highlightElement:J,loadGrammar:P,highlight:W,detectLanguage:H,config:b()};async function K(){const t=O();w!==t&&(F({theme:t}),window.arborium.config=b(),z(t),console.debug(`[arborium] Theme changed to: ${t}`))}function Q(){new MutationObserver(s=>{for(const e of s)if(e.attributeName==="data-theme"&&_()){K();break}}).observe(document.documentElement,{attributes:!0}),window.matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>K())}return b().manual||(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{I(),Q()}):(I(),Q())),k.highlightAll=V,k.highlightElement=J,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"}),k})({});
3
3
  //# sourceMappingURL=arborium.iife.js.map