diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a2e983c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,573 @@ +[submodule "parsers/tree-sitter-ada"] + path = parsers/tree-sitter-ada + url = https://github.com/briot/tree-sitter-ada +[submodule "parsers/tree-sitter-agda"] + path = parsers/tree-sitter-agda + url = https://github.com/tree-sitter/tree-sitter-agda +[submodule "parsers/tree-sitter-angular"] + path = parsers/tree-sitter-angular + url = https://github.com/dlvandenberg/tree-sitter-angular +[submodule "parsers/tree-sitter-sfapex"] + path = parsers/tree-sitter-sfapex + url = https://github.com/aheber/tree-sitter-sfapex +[submodule "parsers/tree-sitter-arduino"] + path = parsers/tree-sitter-arduino + url = https://github.com/ObserverOfTime/tree-sitter-arduino +[submodule "parsers/tree-sitter-asm"] + path = parsers/tree-sitter-asm + url = https://github.com/RubixDev/tree-sitter-asm +[submodule "parsers/tree-sitter-astro"] + path = parsers/tree-sitter-astro + url = https://github.com/virchau13/tree-sitter-astro +[submodule "parsers/tree-sitter-authzed"] + path = parsers/tree-sitter-authzed + url = https://github.com/mleonidas/tree-sitter-authzed +[submodule "parsers/tree-sitter-awk"] + path = parsers/tree-sitter-awk + url = https://github.com/Beaglefoot/tree-sitter-awk +[submodule "parsers/tree-sitter-bash"] + path = parsers/tree-sitter-bash + url = https://github.com/tree-sitter/tree-sitter-bash +[submodule "parsers/tree-sitter-bass"] + path = parsers/tree-sitter-bass + url = https://github.com/vito/tree-sitter-bass +[submodule "parsers/tree-sitter-beancount"] + path = parsers/tree-sitter-beancount + url = https://github.com/polarmutex/tree-sitter-beancount +[submodule "parsers/tree-sitter-bibtex"] + path = parsers/tree-sitter-bibtex + url = https://github.com/latex-lsp/tree-sitter-bibtex +[submodule "parsers/tree-sitter-bicep"] + path = parsers/tree-sitter-bicep + url = https://github.com/amaanq/tree-sitter-bicep +[submodule "parsers/tree-sitter-bitbake"] + path = parsers/tree-sitter-bitbake + url = https://github.com/amaanq/tree-sitter-bitbake +[submodule "parsers/tree-sitter-blueprint"] + path = parsers/tree-sitter-blueprint + url = https://gitlab.com/gabmus/tree-sitter-blueprint.git +[submodule "parsers/tree-sitter-c"] + path = parsers/tree-sitter-c + url = https://github.com/tree-sitter/tree-sitter-c +[submodule "parsers/tree-sitter-c-sharp"] + path = parsers/tree-sitter-c-sharp + url = https://github.com/tree-sitter/tree-sitter-c-sharp +[submodule "parsers/tree-sitter-cairo"] + path = parsers/tree-sitter-cairo + url = https://github.com/amaanq/tree-sitter-cairo +[submodule "parsers/tree-sitter-capnp"] + path = parsers/tree-sitter-capnp + url = https://github.com/amaanq/tree-sitter-capnp +[submodule "parsers/tree-sitter-chatito"] + path = parsers/tree-sitter-chatito + url = https://github.com/ObserverOfTime/tree-sitter-chatito +[submodule "parsers/tree-sitter-clojure"] + path = parsers/tree-sitter-clojure + url = https://github.com/sogaiu/tree-sitter-clojure +[submodule "parsers/tree-sitter-cmake"] + path = parsers/tree-sitter-cmake + url = https://github.com/uyha/tree-sitter-cmake +[submodule "parsers/tree-sitter-comment"] + path = parsers/tree-sitter-comment + url = https://github.com/stsewd/tree-sitter-comment +[submodule "parsers/tree-sitter-commonlisp"] + path = parsers/tree-sitter-commonlisp + url = https://github.com/theHamsta/tree-sitter-commonlisp +[submodule "parsers/tree-sitter-cooklang"] + path = parsers/tree-sitter-cooklang + url = https://github.com/addcninblue/tree-sitter-cooklang +[submodule "parsers/tree-sitter-corn"] + path = parsers/tree-sitter-corn + url = https://github.com/jakestanger/tree-sitter-corn +[submodule "parsers/tree-sitter-cpon"] + path = parsers/tree-sitter-cpon + url = https://github.com/amaanq/tree-sitter-cpon +[submodule "parsers/tree-sitter-cpp"] + path = parsers/tree-sitter-cpp + url = https://github.com/tree-sitter/tree-sitter-cpp +[submodule "parsers/tree-sitter-css"] + path = parsers/tree-sitter-css + url = https://github.com/tree-sitter/tree-sitter-css +[submodule "parsers/tree-sitter-csv"] + path = parsers/tree-sitter-csv + url = https://github.com/amaanq/tree-sitter-csv +[submodule "parsers/tree-sitter-cuda"] + path = parsers/tree-sitter-cuda + url = https://github.com/theHamsta/tree-sitter-cuda +[submodule "parsers/tree-sitter-cue"] + path = parsers/tree-sitter-cue + url = https://github.com/eonpatapon/tree-sitter-cue +[submodule "parsers/tree-sitter-eex"] + path = parsers/tree-sitter-eex + url = https://github.com/connorlay/tree-sitter-eex +[submodule "parsers/tree-sitter-go-work"] + path = parsers/tree-sitter-go-work + url = https://github.com/omertuc/tree-sitter-go-work +[submodule "parsers/tree-sitter-hare"] + path = parsers/tree-sitter-hare + url = https://github.com/amaanq/tree-sitter-hare +[submodule "parsers/tree-sitter-go-mod"] + path = parsers/tree-sitter-go-mod + url = https://github.com/camdencheek/tree-sitter-go-mod +[submodule "parsers/tree-sitter-foam"] + path = parsers/tree-sitter-foam + url = https://github.com/FoamScience/tree-sitter-foam +[submodule "parsers/tree-sitter-dockerfile"] + path = parsers/tree-sitter-dockerfile + url = https://github.com/camdencheek/tree-sitter-dockerfile +[submodule "parsers/tree-sitter-json"] + path = parsers/tree-sitter-json + url = https://github.com/tree-sitter/tree-sitter-json +[submodule "parsers/tree-sitter-elvish"] + path = parsers/tree-sitter-elvish + url = https://github.com/elves/tree-sitter-elvish +[submodule "parsers/tree-sitter-gstlaunch"] + path = parsers/tree-sitter-gstlaunch + url = https://github.com/theHamsta/tree-sitter-gstlaunch +[submodule "parsers/tree-sitter-disassembly"] + path = parsers/tree-sitter-disassembly + url = https://github.com/ColinKennedy/tree-sitter-disassembly +[submodule "parsers/tree-sitter-heex"] + path = parsers/tree-sitter-heex + url = https://github.com/connorlay/tree-sitter-heex +[submodule "parsers/tree-sitter-json5"] + path = parsers/tree-sitter-json5 + url = https://github.com/Joakker/tree-sitter-json5 +[submodule "parsers/tree-sitter-xml"] + path = parsers/tree-sitter-xml + url = https://github.com/tree-sitter-grammars/tree-sitter-xml +[submodule "parsers/tree-sitter-erlang"] + path = parsers/tree-sitter-erlang + url = https://github.com/WhatsApp/tree-sitter-erlang +[submodule "parsers/tree-sitter-faust"] + path = parsers/tree-sitter-faust + url = https://github.com/khiner/tree-sitter-faust +[submodule "parsers/tree-sitter-jq"] + path = parsers/tree-sitter-jq + url = https://github.com/flurie/tree-sitter-jq +[submodule "parsers/tree-sitter-ini"] + path = parsers/tree-sitter-ini + url = https://github.com/justinmk/tree-sitter-ini +[submodule "parsers/tree-sitter-dot"] + path = parsers/tree-sitter-dot + url = https://github.com/rydesun/tree-sitter-dot +[submodule "parsers/tree-sitter-hlsplaylist"] + path = parsers/tree-sitter-hlsplaylist + url = https://github.com/Freed-Wu/tree-sitter-hlsplaylist +[submodule "parsers/tree-sitter-po"] + path = parsers/tree-sitter-po + url = https://github.com/erasin/tree-sitter-po +[submodule "parsers/tree-sitter-gitattributes"] + path = parsers/tree-sitter-gitattributes + url = https://github.com/ObserverOfTime/tree-sitter-gitattributes +[submodule "parsers/tree-sitter-forth"] + path = parsers/tree-sitter-forth + url = https://github.com/AlexanderBrevig/tree-sitter-forth +[submodule "parsers/tree-sitter-gdscript"] + path = parsers/tree-sitter-gdscript + url = https://github.com/PrestonKnopp/tree-sitter-gdscript +[submodule "parsers/tree-sitter-dhall"] + path = parsers/tree-sitter-dhall + url = https://github.com/jbellerb/tree-sitter-dhall +[submodule "parsers/tree-sitter-djot"] + path = parsers/tree-sitter-djot + url = https://github.com/treeman/tree-sitter-djot +[submodule "parsers/tree-sitter-proto"] + path = parsers/tree-sitter-proto + url = https://github.com/treywood/tree-sitter-proto +[submodule "parsers/tree-sitter-janet-simple"] + path = parsers/tree-sitter-janet-simple + url = https://github.com/sogaiu/tree-sitter-janet-simple +[submodule "parsers/tree-sitter-devicetree"] + path = parsers/tree-sitter-devicetree + url = https://github.com/joelspadin/tree-sitter-devicetree +[submodule "parsers/tree-sitter-go-template"] + path = parsers/tree-sitter-go-template + url = https://github.com/ngalaiko/tree-sitter-go-template +[submodule "parsers/tree-sitter-fsh"] + path = parsers/tree-sitter-fsh + url = https://github.com/mgramigna/tree-sitter-fsh +[submodule "parsers/tree-sitter-hocon"] + path = parsers/tree-sitter-hocon + url = https://github.com/antosha417/tree-sitter-hocon +[submodule "parsers/tree-sitter-properties"] + path = parsers/tree-sitter-properties + url = https://github.com/tree-sitter-grammars/tree-sitter-properties +[submodule "parsers/tree-sitter-fish"] + path = parsers/tree-sitter-fish + url = https://github.com/ram02z/tree-sitter-fish +[submodule "parsers/tree-sitter-http"] + path = parsers/tree-sitter-http + url = https://github.com/rest-nvim/tree-sitter-http +[submodule "parsers/tree-sitter-ocamllex"] + path = parsers/tree-sitter-ocamllex + url = https://github.com/atom-ocaml/tree-sitter-ocamllex +[submodule "parsers/tree-sitter-firrtl"] + path = parsers/tree-sitter-firrtl + url = https://github.com/amaanq/tree-sitter-firrtl +[submodule "parsers/tree-sitter-gpg-config"] + path = parsers/tree-sitter-gpg-config + url = https://github.com/ObserverOfTime/tree-sitter-gpg-config +[submodule "parsers/tree-sitter-requirements"] + path = parsers/tree-sitter-requirements + url = https://github.com/ObserverOfTime/tree-sitter-requirements +[submodule "parsers/tree-sitter-turtle"] + path = parsers/tree-sitter-turtle + url = https://github.com/BonaBeavis/tree-sitter-turtle +[submodule "parsers/tree-sitter-luadoc"] + path = parsers/tree-sitter-luadoc + url = https://github.com/amaanq/tree-sitter-luadoc +[submodule "parsers/tree-sitter-query"] + path = parsers/tree-sitter-query + url = https://github.com/nvim-treesitter/tree-sitter-query +[submodule "parsers/tree-sitter-make"] + path = parsers/tree-sitter-make + url = https://github.com/alemuller/tree-sitter-make +[submodule "parsers/tree-sitter-prql"] + path = parsers/tree-sitter-prql + url = https://github.com/PRQL/tree-sitter-prql +[submodule "parsers/tree-sitter-rego"] + path = parsers/tree-sitter-rego + url = https://github.com/FallenAngel97/tree-sitter-rego +[submodule "parsers/tree-sitter-nickel"] + path = parsers/tree-sitter-nickel + url = https://github.com/nickel-lang/tree-sitter-nickel +[submodule "parsers/tree-sitter-just"] + path = parsers/tree-sitter-just + url = https://github.com/IndianBoy42/tree-sitter-just +[submodule "parsers/tree-sitter-diff"] + path = parsers/tree-sitter-diff + url = https://github.com/the-mikedavis/tree-sitter-diff +[submodule "parsers/tree-sitter-elixir"] + path = parsers/tree-sitter-elixir + url = https://github.com/elixir-lang/tree-sitter-elixir +[submodule "parsers/tree-sitter-liquidsoap"] + path = parsers/tree-sitter-liquidsoap + url = https://github.com/savonet/tree-sitter-liquidsoap +[submodule "parsers/tree-sitter-elm"] + path = parsers/tree-sitter-elm + url = https://github.com/elm-tooling/tree-sitter-elm +[submodule "parsers/tree-sitter-git-rebase"] + path = parsers/tree-sitter-git-rebase + url = https://github.com/the-mikedavis/tree-sitter-git-rebase +[submodule "parsers/tree-sitter-earthfile"] + path = parsers/tree-sitter-earthfile + url = https://github.com/glehmann/tree-sitter-earthfile +[submodule "parsers/tree-sitter-prisma"] + path = parsers/tree-sitter-prisma + url = https://github.com/victorhqc/tree-sitter-prisma +[submodule "parsers/tree-sitter-phpdoc"] + path = parsers/tree-sitter-phpdoc + url = https://github.com/claytonrcarter/tree-sitter-phpdoc +[submodule "parsers/tree-sitter-gdshader"] + path = parsers/tree-sitter-gdshader + url = https://github.com/GodOfAvacyn/tree-sitter-gdshader +[submodule "parsers/tree-sitter-dart"] + path = parsers/tree-sitter-dart + url = https://github.com/UserNobody14/tree-sitter-dart +[submodule "parsers/tree-sitter-ql"] + path = parsers/tree-sitter-ql + url = https://github.com/tree-sitter/tree-sitter-ql +[submodule "parsers/tree-sitter-nasm"] + path = parsers/tree-sitter-nasm + url = https://github.com/naclsn/tree-sitter-nasm +[submodule "parsers/tree-sitter-java"] + path = parsers/tree-sitter-java + url = https://github.com/tree-sitter/tree-sitter-java +[submodule "parsers/tree-sitter-objc"] + path = parsers/tree-sitter-objc + url = https://github.com/amaanq/tree-sitter-objc +[submodule "parsers/tree-sitter-hlsl"] + path = parsers/tree-sitter-hlsl + url = https://github.com/theHamsta/tree-sitter-hlsl +[submodule "parsers/tree-sitter-nim"] + path = parsers/tree-sitter-nim + url = https://github.com/alaviss/tree-sitter-nim +[submodule "parsers/tree-sitter-markdown"] + path = parsers/tree-sitter-markdown + url = https://github.com/MDeiml/tree-sitter-markdown +[submodule "parsers/tree-sitter-javascript"] + path = parsers/tree-sitter-javascript + url = https://github.com/tree-sitter/tree-sitter-javascript +[submodule "parsers/tree-sitter-php"] + path = parsers/tree-sitter-php + url = https://github.com/tree-sitter/tree-sitter-php +[submodule "parsers/tree-sitter-perl"] + path = parsers/tree-sitter-perl + url = https://github.com/tree-sitter-perl/tree-sitter-perl +[submodule "parsers/tree-sitter-ocaml"] + path = parsers/tree-sitter-ocaml + url = https://github.com/tree-sitter/tree-sitter-ocaml +[submodule "parsers/tree-sitter-d"] + path = parsers/tree-sitter-d + url = https://github.com/gdamore/tree-sitter-d +[submodule "parsers/tree-sitter-nix"] + path = parsers/tree-sitter-nix + url = https://github.com/cstrahan/tree-sitter-nix +[submodule "parsers/tree-sitter-godot-resource"] + path = parsers/tree-sitter-godot-resource + url = https://github.com/PrestonKnopp/tree-sitter-godot-resource +[submodule "parsers/tree-sitter-elsa"] + path = parsers/tree-sitter-elsa + url = https://github.com/glapa-grossklag/tree-sitter-elsa +[submodule "parsers/tree-sitter-gn"] + path = parsers/tree-sitter-gn + url = https://github.com/amaanq/tree-sitter-gn +[submodule "parsers/tree-sitter-passwd"] + path = parsers/tree-sitter-passwd + url = https://github.com/ath3/tree-sitter-passwd +[submodule "parsers/tree-sitter-eds"] + path = parsers/tree-sitter-eds + url = https://github.com/uyha/tree-sitter-eds +[submodule "parsers/tree-sitter-nim-format-string"] + path = parsers/tree-sitter-nim-format-string + url = https://github.com/aMOPel/tree-sitter-nim-format-string +[submodule "parsers/tree-sitter-facility"] + path = parsers/tree-sitter-facility + url = https://github.com/FacilityApi/tree-sitter-facility +[submodule "parsers/tree-sitter-liquid"] + path = parsers/tree-sitter-liquid + url = https://github.com/hankthetank27/tree-sitter-liquid +[submodule "parsers/tree-sitter-hyprlang"] + path = parsers/tree-sitter-hyprlang + url = https://github.com/luckasRanarison/tree-sitter-hyprlang +[submodule "parsers/tree-sitter-lua"] + path = parsers/tree-sitter-lua + url = https://github.com/MunifTanjim/tree-sitter-lua +[submodule "parsers/tree-sitter-todotxt"] + path = parsers/tree-sitter-todotxt + url = https://github.com/arnarg/tree-sitter-todotxt.git +[submodule "parsers/tree-sitter-sxhkdrc"] + path = parsers/tree-sitter-sxhkdrc + url = https://github.com/RaafatTurki/tree-sitter-sxhkdrc +[submodule "parsers/tree-sitter-luap"] + path = parsers/tree-sitter-luap + url = https://github.com/amaanq/tree-sitter-luap +[submodule "parsers/tree-sitter-objdump"] + path = parsers/tree-sitter-objdump + url = https://github.com/ColinKennedy/tree-sitter-objdump +[submodule "parsers/tree-sitter-pem"] + path = parsers/tree-sitter-pem + url = https://github.com/ObserverOfTime/tree-sitter-pem +[submodule "parsers/tree-sitter-fusion"] + path = parsers/tree-sitter-fusion + url = https://gitlab.com/jirgn/tree-sitter-fusion.git +[submodule "parsers/tree-sitter-glimmer"] + path = parsers/tree-sitter-glimmer + url = https://github.com/alexlafroscia/tree-sitter-glimmer +[submodule "parsers/tree-sitter-xcompose"] + path = parsers/tree-sitter-xcompose + url = https://github.com/ObserverOfTime/tree-sitter-xcompose +[submodule "parsers/tree-sitter-kconfig"] + path = parsers/tree-sitter-kconfig + url = https://github.com/amaanq/tree-sitter-kconfig +[submodule "parsers/tree-sitter-kusto"] + path = parsers/tree-sitter-kusto + url = https://github.com/Willem-J-an/tree-sitter-kusto +[submodule "parsers/tree-sitter-linkerscript"] + path = parsers/tree-sitter-linkerscript + url = https://github.com/amaanq/tree-sitter-linkerscript +[submodule "parsers/tree-sitter-jsonnet"] + path = parsers/tree-sitter-jsonnet + url = https://github.com/sourcegraph/tree-sitter-jsonnet +[submodule "parsers/tree-sitter-scfg"] + path = parsers/tree-sitter-scfg + url = https://git.sr.ht/~rockorager/tree-sitter-scfg +[submodule "parsers/tree-sitter-vhs"] + path = parsers/tree-sitter-vhs + url = https://github.com/charmbracelet/tree-sitter-vhs +[submodule "parsers/tree-sitter-tcl"] + path = parsers/tree-sitter-tcl + url = https://github.com/tree-sitter-grammars/tree-sitter-tcl +[submodule "parsers/tree-sitter-usd"] + path = parsers/tree-sitter-usd + url = https://github.com/ColinKennedy/tree-sitter-usd +[submodule "parsers/tree-sitter-udev"] + path = parsers/tree-sitter-udev + url = https://github.com/ObserverOfTime/tree-sitter-udev +[submodule "parsers/tree-sitter-yuck"] + path = parsers/tree-sitter-yuck + url = https://github.com/Philipp-M/tree-sitter-yuck +[submodule "parsers/tree-sitter-zathurarc"] + path = parsers/tree-sitter-zathurarc + url = https://github.com/Freed-Wu/tree-sitter-zathurarc +[submodule "parsers/tree-sitter-vala"] + path = parsers/tree-sitter-vala + url = https://github.com/vala-lang/tree-sitter-vala +[submodule "parsers/tree-sitter-svelte"] + path = parsers/tree-sitter-svelte + url = https://github.com/tree-sitter-grammars/tree-sitter-svelte +[submodule "parsers/tree-sitter-func"] + path = parsers/tree-sitter-func + url = https://github.com/amaanq/tree-sitter-func +[submodule "parsers/tree-sitter-tiger"] + path = parsers/tree-sitter-tiger + url = https://github.com/ambroisie/tree-sitter-tiger +[submodule "parsers/tree-sitter-robot"] + path = parsers/tree-sitter-robot + url = https://github.com/Hubro/tree-sitter-robot +[submodule "parsers/tree-sitter-go-sum"] + path = parsers/tree-sitter-go-sum + url = https://github.com/amaanq/tree-sitter-go-sum +[submodule "parsers/tree-sitter-ssh-config"] + path = parsers/tree-sitter-ssh-config + url = https://github.com/ObserverOfTime/tree-sitter-ssh-config +[submodule "parsers/tree-sitter-vimdoc"] + path = parsers/tree-sitter-vimdoc + url = https://github.com/neovim/tree-sitter-vimdoc +[submodule "parsers/tree-sitter-htmldjango"] + path = parsers/tree-sitter-htmldjango + url = https://github.com/interdependence/tree-sitter-htmldjango +[submodule "parsers/tree-sitter-pod"] + path = parsers/tree-sitter-pod + url = https://github.com/tree-sitter-perl/tree-sitter-pod +[submodule "parsers/tree-sitter-hcl"] + path = parsers/tree-sitter-hcl + url = https://github.com/MichaHoffmann/tree-sitter-hcl +[submodule "parsers/tree-sitter-wgsl"] + path = parsers/tree-sitter-wgsl + url = https://github.com/szebniok/tree-sitter-wgsl +[submodule "parsers/tree-sitter-toml"] + path = parsers/tree-sitter-toml + url = https://github.com/ikatyang/tree-sitter-toml +[submodule "parsers/tree-sitter-rbs"] + path = parsers/tree-sitter-rbs + url = https://github.com/joker1007/tree-sitter-rbs +[submodule "parsers/tree-sitter-go"] + path = parsers/tree-sitter-go + url = https://github.com/tree-sitter/tree-sitter-go +[submodule "parsers/tree-sitter-uxntal"] + path = parsers/tree-sitter-uxntal + url = https://github.com/amaanq/tree-sitter-uxntal +[submodule "parsers/tree-sitter-jsdoc"] + path = parsers/tree-sitter-jsdoc + url = https://github.com/tree-sitter/tree-sitter-jsdoc +[submodule "parsers/tree-sitter-nqc"] + path = parsers/tree-sitter-nqc + url = https://github.com/amaanq/tree-sitter-nqc +[submodule "parsers/tree-sitter-leo"] + path = parsers/tree-sitter-leo + url = https://github.com/r001/tree-sitter-leo +[submodule "parsers/tree-sitter-hjson"] + path = parsers/tree-sitter-hjson + url = https://github.com/winston0410/tree-sitter-hjson +[submodule "parsers/tree-sitter-strace"] + path = parsers/tree-sitter-strace + url = https://github.com/sigmaSd/tree-sitter-strace +[submodule "parsers/tree-sitter-rasi"] + path = parsers/tree-sitter-rasi + url = https://github.com/Fymyte/tree-sitter-rasi +[submodule "parsers/tree-sitter-styled"] + path = parsers/tree-sitter-styled + url = https://github.com/mskelton/tree-sitter-styled +[submodule "parsers/tree-sitter-qmldir"] + path = parsers/tree-sitter-qmldir + url = https://github.com/Decodetalkers/tree-sitter-qmldir +[submodule "parsers/tree-sitter-yaml"] + path = parsers/tree-sitter-yaml + url = https://github.com/tree-sitter-grammars/tree-sitter-yaml +[submodule "parsers/tree-sitter-vue"] + path = parsers/tree-sitter-vue + url = https://github.com/tree-sitter-grammars/tree-sitter-vue +[submodule "parsers/tree-sitter-kdl"] + path = parsers/tree-sitter-kdl + url = https://github.com/amaanq/tree-sitter-kdl +[submodule "parsers/tree-sitter-scss"] + path = parsers/tree-sitter-scss + url = https://github.com/serenadeai/tree-sitter-scss +[submodule "parsers/tree-sitter-mlir"] + path = parsers/tree-sitter-mlir + url = https://github.com/artagnon/tree-sitter-mlir +[submodule "parsers/tree-sitter-racket"] + path = parsers/tree-sitter-racket + url = https://github.com/6cdh/tree-sitter-racket +[submodule "parsers/tree-sitter-pioasm"] + path = parsers/tree-sitter-pioasm + url = https://github.com/leo60228/tree-sitter-pioasm +[submodule "parsers/tree-sitter-sparql"] + path = parsers/tree-sitter-sparql + url = https://github.com/BonaBeavis/tree-sitter-sparql +[submodule "parsers/tree-sitter-solidity"] + path = parsers/tree-sitter-solidity + url = https://github.com/JoranHonig/tree-sitter-solidity +[submodule "parsers/tree-sitter-systemtap"] + path = parsers/tree-sitter-systemtap + url = https://github.com/ok-ryoko/tree-sitter-systemtap +[submodule "parsers/tree-sitter-thrift"] + path = parsers/tree-sitter-thrift + url = https://github.com/duskmoon314/tree-sitter-thrift +[submodule "parsers/tree-sitter-fennel"] + path = parsers/tree-sitter-fennel + url = https://github.com/alexmozaidze/tree-sitter-fennel +[submodule "parsers/tree-sitter-odin"] + path = parsers/tree-sitter-odin + url = https://github.com/amaanq/tree-sitter-odin +[submodule "parsers/tree-sitter-smali"] + path = parsers/tree-sitter-smali + url = https://github.com/tree-sitter-grammars/tree-sitter-smali +[submodule "parsers/tree-sitter-t32"] + path = parsers/tree-sitter-t32 + url = https://gitlab.com/xasc/tree-sitter-t32.git +[submodule "parsers/tree-sitter-m68k"] + path = parsers/tree-sitter-m68k + url = https://github.com/grahambates/tree-sitter-m68k +[submodule "parsers/tree-sitter-roc"] + path = parsers/tree-sitter-roc + url = https://github.com/nat-418/tree-sitter-roc +[submodule "parsers/tree-sitter-r"] + path = parsers/tree-sitter-r + url = https://github.com/r-lib/tree-sitter-r +[submodule "parsers/tree-sitter-latex"] + path = parsers/tree-sitter-latex + url = https://github.com/latex-lsp/tree-sitter-latex +[submodule "parsers/tree-sitter-zig"] + path = parsers/tree-sitter-zig + url = https://github.com/maxxnino/tree-sitter-zig +[submodule "parsers/tree-sitter-typst"] + path = parsers/tree-sitter-typst + url = https://github.com/uben0/tree-sitter-typst +[submodule "parsers/tree-sitter-gitcommit"] + path = parsers/tree-sitter-gitcommit + url = https://github.com/gbprod/tree-sitter-gitcommit +[submodule "parsers/tree-sitter-gleam"] + path = parsers/tree-sitter-gleam + url = https://github.com/gleam-lang/tree-sitter-gleam +[submodule "parsers/tree-sitter-hack"] + path = parsers/tree-sitter-hack + url = https://github.com/slackhq/tree-sitter-hack +[submodule "parsers/tree-sitter-verilog"] + path = parsers/tree-sitter-verilog + url = https://github.com/tree-sitter/tree-sitter-verilog +[submodule "parsers/v-analyzer"] + path = parsers/v-analyzer + url = https://github.com/vlang/v-analyzer +[submodule "parsers/tree-sitter-fortran"] + path = parsers/tree-sitter-fortran + url = https://github.com/stadelmanma/tree-sitter-fortran +[submodule "parsers/tree-sitter-sql"] + path = parsers/tree-sitter-sql + url = https://github.com/derekstride/tree-sitter-sql +[submodule "parsers/tree-sitter-vim"] + path = parsers/tree-sitter-vim + url = https://github.com/neovim/tree-sitter-vim +[submodule "parsers/tree-sitter-python"] + path = parsers/tree-sitter-python + url = https://github.com/tree-sitter/tree-sitter-python +[submodule "parsers/tree-sitter-rust"] + path = parsers/tree-sitter-rust + url = https://github.com/tree-sitter/tree-sitter-rust +[submodule "parsers/wing"] + path = parsers/wing + url = https://github.com/winglang/wing +[submodule "parsers/tree-sitter-kotlin"] + path = parsers/tree-sitter-kotlin + url = https://github.com/fwcd/tree-sitter-kotlin +[submodule "parsers/tree-sitter-haskell"] + path = parsers/tree-sitter-haskell + url = https://github.com/tree-sitter/tree-sitter-haskell +[submodule "parsers/tree-sitter-tlaplus"] + path = parsers/tree-sitter-tlaplus + url = https://github.com/tlaplus-community/tree-sitter-tlaplus +[submodule "parsers/tree-sitter-ruby"] + path = parsers/tree-sitter-ruby + url = https://github.com/tree-sitter/tree-sitter-ruby diff --git a/Cargo.lock b/Cargo.lock index e905931..61f8617 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,7 +67,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -77,14 +77,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" dependencies = [ "anstyle", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" [[package]] name = "autocfg" @@ -128,6 +128,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + [[package]] name = "block-buffer" version = "0.10.4" @@ -151,6 +157,9 @@ dependencies = [ "serde_yaml", "syntect", "tera", + "tree-sitter", + "tree-sitter-highlight", + "tree-sitter-loader", ] [[package]] @@ -171,12 +180,9 @@ checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "cc" -version = "1.0.83" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] +checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41" [[package]] name = "cfg-if" @@ -252,7 +258,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.58", ] [[package]] @@ -269,9 +275,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "comrak" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6751998a48e2327773c95f6f8e03c6e77c0156ce539d74c17d2199ff3d05e197" +checksum = "d0436149c9f6a1935b13306206c739b1ba84fa81f551b5eb87fc2ca7a13700af" dependencies = [ "clap", "derive_builder", @@ -403,6 +409,27 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + [[package]] name = "entities" version = "1.0.1" @@ -423,7 +450,7 @@ checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ "errno-dragonfly", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -462,6 +489,16 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "fs4" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dabded2e32cd57ded879041205c60a4a4c4bab47bd0fd2fa8b01f30849f02b" +dependencies = [ + "rustix 0.38.13", + "windows-sys 0.52.0", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -502,7 +539,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" dependencies = [ - "bitflags", + "bitflags 1.3.2", "ignore", "walkdir", ] @@ -515,9 +552,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" [[package]] name = "heck" @@ -598,14 +635,20 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.3", ] +[[package]] +name = "indoc" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" + [[package]] name = "io-lifetimes" version = "1.0.11" @@ -614,7 +657,7 @@ checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ "hermit-abi", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -644,12 +687,32 @@ version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +[[package]] +name = "libloading" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +dependencies = [ + "cfg-if", + "windows-targets 0.48.1", +] + [[package]] name = "libm" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + [[package]] name = "line-wrap" version = "0.1.1" @@ -671,6 +734,12 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + [[package]] name = "log" version = "0.4.20" @@ -679,9 +748,9 @@ checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "miniz_oxide" @@ -703,9 +772,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "onig" @@ -713,7 +782,7 @@ version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" dependencies = [ - "bitflags", + "bitflags 1.3.2", "libc", "once_cell", "onig_sys", @@ -729,6 +798,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "parse-zoneinfo" version = "0.3.0" @@ -774,7 +849,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.58", ] [[package]] @@ -855,9 +930,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -873,9 +948,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.32" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -911,26 +986,37 @@ dependencies = [ ] [[package]] -name = "regex" -version = "1.9.1" +name = "redox_users" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax", + "regex-syntax 0.8.3", ] [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.3", ] [[package]] @@ -939,18 +1025,37 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + [[package]] name = "rustix" version = "0.37.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", - "linux-raw-sys", - "windows-sys", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys 0.4.13", + "windows-sys 0.48.0", ] [[package]] @@ -976,30 +1081,31 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.188" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.58", ] [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -1011,7 +1117,7 @@ version = "0.9.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a49e178e4452f45cb61d0cd8cebc1b0fafd3e41929e996cef79aa3aca91f574" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -1069,9 +1175,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.29" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -1085,14 +1191,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e02b4b303bf8d08bfeb0445cba5068a3d306b6baece1d5582171a9bf49188f91" dependencies = [ "bincode", - "bitflags", + "bitflags 1.3.2", "fancy-regex", "flate2", "fnv", "once_cell", "onig", "plist", - "regex-syntax", + "regex-syntax 0.7.4", "serde", "serde_json", "thiserror", @@ -1129,28 +1235,28 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" dependencies = [ - "rustix", - "windows-sys", + "rustix 0.37.23", + "windows-sys 0.48.0", ] [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.58", ] [[package]] @@ -1189,6 +1295,61 @@ dependencies = [ "time-core", ] +[[package]] +name = "tree-sitter" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb9c9f15eae91dcd00ee0d86a281d16e6263786991b662b34fa9632c21a046b" +dependencies = [ + "cc", + "regex", +] + +[[package]] +name = "tree-sitter-highlight" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ba1d13299ebcee5c795d562d88a1d4e1710043e4098f2abe958b5f246b5aad7" +dependencies = [ + "lazy_static", + "regex", + "thiserror", + "tree-sitter", +] + +[[package]] +name = "tree-sitter-loader" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fe48fb250441a25ee294643b23b75a8a9d8b4ad4c0b80f2389fb2f487e0557" +dependencies = [ + "anyhow", + "cc", + "dirs", + "fs4", + "indoc", + "libloading", + "once_cell", + "regex", + "serde", + "serde_json", + "tree-sitter", + "tree-sitter-highlight", + "tree-sitter-tags", +] + +[[package]] +name = "tree-sitter-tags" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a67ad153bd62af8bc49cfbb60f681e3ffaaf62311c18a2c5d333b3b33b03521" +dependencies = [ + "memchr", + "regex", + "thiserror", + "tree-sitter", +] + [[package]] name = "typed-arena" version = "2.0.2" @@ -1333,7 +1494,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.58", "wasm-bindgen-shared", ] @@ -1355,7 +1516,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1403,7 +1564,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets", + "windows-targets 0.48.1", ] [[package]] @@ -1412,7 +1573,16 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", ] [[package]] @@ -1421,13 +1591,28 @@ version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -1436,42 +1621,84 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" + [[package]] name = "windows_aarch64_msvc" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" + [[package]] name = "windows_i686_gnu" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +[[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" + [[package]] name = "windows_i686_msvc" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +[[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" + [[package]] name = "windows_x86_64_gnu" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" + [[package]] name = "windows_x86_64_msvc" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + [[package]] name = "xdg" version = "2.5.2" diff --git a/Cargo.toml b/Cargo.toml index f8865c2..768f32d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -comrak = "0.21.0" +comrak = "0.22.0" syntect = { version = "5.1.0", default-features = false, features = ["default-fancy"]} anyhow = "1.0.75" clap = { version = "4.4.0", features = ["derive"] } @@ -16,3 +16,7 @@ serde_yaml = "0.9.25" serde_json = "1.0.105" lazy_static = "1.4.0" tera = "1.19.0" +# Treesitter Deps below +tree-sitter = "0.22.0" +tree-sitter-highlight = "0.22.2" +tree-sitter-loader = "0.22.2" diff --git a/assets/style/syntax.css b/assets/style/syntax.css new file mode 100644 index 0000000..ec09c82 --- /dev/null +++ b/assets/style/syntax.css @@ -0,0 +1,53 @@ +@import "style.css"; + +.ts-string { + color: var(--springGreen); +} + +.ts-variable { + color: var(--fujiWhite); +} + +.ts-property, +.ts-property > .ts-variable { + color: var(--carpYellow); +} + +.ts-keyword { + color: var(--oniViolet); + font-style: italic; +} + +.ts-string-special-path { + color: var(--springBlue); +} + +.ts-number { + color: var(--sakuraPink); +} + +span[class^="ts-punctuation"], +span[class^="ts-delimiter"] { + color: var(--springViolet2); +} + +.ts-type { + color: var(--springBlue); +} + +.ts-function { + color: var(--crystalBlue); +} + +.ts-constant { + color: var(--surimiOrange); +} + +.ts-comment { + color: var(--fujiGray); + font-style: italic; +} + +.ts-operator { + color: var(--boatYellow2); +} diff --git a/assets/templates/article.html b/assets/templates/article.html index a3bf6e0..85823e9 100644 --- a/assets/templates/article.html +++ b/assets/templates/article.html @@ -6,6 +6,7 @@ + {% include "nav.html" %} diff --git a/parsers/ebnf b/parsers/ebnf new file mode 160000 index 0000000..8e635b0 --- /dev/null +++ b/parsers/ebnf @@ -0,0 +1 @@ +Subproject commit 8e635b0b723c620774dfb8abf382a7f531894b40 diff --git a/parsers/tree-sitter-ada b/parsers/tree-sitter-ada new file mode 160000 index 0000000..ba0894e --- /dev/null +++ b/parsers/tree-sitter-ada @@ -0,0 +1 @@ +Subproject commit ba0894efa03beb70780156b91e28c716b7a4764d diff --git a/parsers/tree-sitter-agda b/parsers/tree-sitter-agda new file mode 160000 index 0000000..d3dc807 --- /dev/null +++ b/parsers/tree-sitter-agda @@ -0,0 +1 @@ +Subproject commit d3dc807692e6bca671d4491b3bf5c67eeca8c016 diff --git a/parsers/tree-sitter-angular b/parsers/tree-sitter-angular new file mode 160000 index 0000000..b7a7167 --- /dev/null +++ b/parsers/tree-sitter-angular @@ -0,0 +1 @@ +Subproject commit b7a7167762e3863b3d6247c708b7f9bca1ca7bea diff --git a/parsers/tree-sitter-arduino b/parsers/tree-sitter-arduino new file mode 160000 index 0000000..0dc863c --- /dev/null +++ b/parsers/tree-sitter-arduino @@ -0,0 +1 @@ +Subproject commit 0dc863c1bba5413284d73372c103476a014e4c4b diff --git a/parsers/tree-sitter-asm b/parsers/tree-sitter-asm new file mode 160000 index 0000000..afdc3d5 --- /dev/null +++ b/parsers/tree-sitter-asm @@ -0,0 +1 @@ +Subproject commit afdc3d5da18d42cbb471c0f40527dbed9cace7ad diff --git a/parsers/tree-sitter-astro b/parsers/tree-sitter-astro new file mode 160000 index 0000000..dfa0893 --- /dev/null +++ b/parsers/tree-sitter-astro @@ -0,0 +1 @@ +Subproject commit dfa0893bdc4bdfada102043404758c66e3580568 diff --git a/parsers/tree-sitter-authzed b/parsers/tree-sitter-authzed new file mode 160000 index 0000000..1dec7e1 --- /dev/null +++ b/parsers/tree-sitter-authzed @@ -0,0 +1 @@ +Subproject commit 1dec7e1af96c56924e3322cd85fdce15d0a31d00 diff --git a/parsers/tree-sitter-awk b/parsers/tree-sitter-awk new file mode 160000 index 0000000..ba74721 --- /dev/null +++ b/parsers/tree-sitter-awk @@ -0,0 +1 @@ +Subproject commit ba7472152d79a8c916550c80fdbfd5724d07a0c9 diff --git a/parsers/tree-sitter-bash b/parsers/tree-sitter-bash new file mode 160000 index 0000000..f8fb327 --- /dev/null +++ b/parsers/tree-sitter-bash @@ -0,0 +1 @@ +Subproject commit f8fb3274f72a30896075585b32b0c54cad65c086 diff --git a/parsers/tree-sitter-bass b/parsers/tree-sitter-bass new file mode 160000 index 0000000..c9ba456 --- /dev/null +++ b/parsers/tree-sitter-bass @@ -0,0 +1 @@ +Subproject commit c9ba4568af24cd3403029730687c0a43d1350a43 diff --git a/parsers/tree-sitter-beancount b/parsers/tree-sitter-beancount new file mode 160000 index 0000000..c25f803 --- /dev/null +++ b/parsers/tree-sitter-beancount @@ -0,0 +1 @@ +Subproject commit c25f8034c977681653a8acd541c8b4877a58f474 diff --git a/parsers/tree-sitter-bibtex b/parsers/tree-sitter-bibtex new file mode 160000 index 0000000..ccfd77d --- /dev/null +++ b/parsers/tree-sitter-bibtex @@ -0,0 +1 @@ +Subproject commit ccfd77db0ed799b6c22c214fe9d2937f47bc8b34 diff --git a/parsers/tree-sitter-bicep b/parsers/tree-sitter-bicep new file mode 160000 index 0000000..c3451d1 --- /dev/null +++ b/parsers/tree-sitter-bicep @@ -0,0 +1 @@ +Subproject commit c3451d1049c80074b18078ba50007b7c00e063f8 diff --git a/parsers/tree-sitter-bitbake b/parsers/tree-sitter-bitbake new file mode 160000 index 0000000..7e0e2ac --- /dev/null +++ b/parsers/tree-sitter-bitbake @@ -0,0 +1 @@ +Subproject commit 7e0e2ac6f1d0da1a91ab84f35edddfdfece54f1a diff --git a/parsers/tree-sitter-blueprint b/parsers/tree-sitter-blueprint new file mode 160000 index 0000000..863cea9 --- /dev/null +++ b/parsers/tree-sitter-blueprint @@ -0,0 +1 @@ +Subproject commit 863cea9f83ad5637300478e0559262f1e791684b diff --git a/parsers/tree-sitter-c b/parsers/tree-sitter-c new file mode 160000 index 0000000..1aafaff --- /dev/null +++ b/parsers/tree-sitter-c @@ -0,0 +1 @@ +Subproject commit 1aafaff4d26dac5a36dd3495be33e1c20161d761 diff --git a/parsers/tree-sitter-c-sharp b/parsers/tree-sitter-c-sharp new file mode 160000 index 0000000..9de5652 --- /dev/null +++ b/parsers/tree-sitter-c-sharp @@ -0,0 +1 @@ +Subproject commit 9de565257ada70ac441c640e3b5d6850e2df5ab8 diff --git a/parsers/tree-sitter-cairo b/parsers/tree-sitter-cairo new file mode 160000 index 0000000..6216c6e --- /dev/null +++ b/parsers/tree-sitter-cairo @@ -0,0 +1 @@ +Subproject commit 6216c6ee5e9fc0649c4bd7b1aedd884a55bdd9ef diff --git a/parsers/tree-sitter-capnp b/parsers/tree-sitter-capnp new file mode 160000 index 0000000..dc28c9f --- /dev/null +++ b/parsers/tree-sitter-capnp @@ -0,0 +1 @@ +Subproject commit dc28c9f4212809eab74d10996086297853eb34e5 diff --git a/parsers/tree-sitter-chatito b/parsers/tree-sitter-chatito new file mode 160000 index 0000000..fe7a2a7 --- /dev/null +++ b/parsers/tree-sitter-chatito @@ -0,0 +1 @@ +Subproject commit fe7a2a75d3d74c1215141b7a7ebebb57ae17a370 diff --git a/parsers/tree-sitter-clojure b/parsers/tree-sitter-clojure new file mode 160000 index 0000000..6e41628 --- /dev/null +++ b/parsers/tree-sitter-clojure @@ -0,0 +1 @@ +Subproject commit 6e41628e9d18b19caea1cb1d72aae4ccff5bdfe9 diff --git a/parsers/tree-sitter-cmake b/parsers/tree-sitter-cmake new file mode 160000 index 0000000..20ffd6d --- /dev/null +++ b/parsers/tree-sitter-cmake @@ -0,0 +1 @@ +Subproject commit 20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3 diff --git a/parsers/tree-sitter-comment b/parsers/tree-sitter-comment new file mode 160000 index 0000000..aefcc28 --- /dev/null +++ b/parsers/tree-sitter-comment @@ -0,0 +1 @@ +Subproject commit aefcc2813392eb6ffe509aa0fc8b4e9b57413ee1 diff --git a/parsers/tree-sitter-commonlisp b/parsers/tree-sitter-commonlisp new file mode 160000 index 0000000..83ae738 --- /dev/null +++ b/parsers/tree-sitter-commonlisp @@ -0,0 +1 @@ +Subproject commit 83ae738bed7e914cee9090c3fe4c80a32ab45905 diff --git a/parsers/tree-sitter-cooklang b/parsers/tree-sitter-cooklang new file mode 160000 index 0000000..81c2a86 --- /dev/null +++ b/parsers/tree-sitter-cooklang @@ -0,0 +1 @@ +Subproject commit 81c2a8667846b1e60db68b5601d864fe00fd1d3a diff --git a/parsers/tree-sitter-corn b/parsers/tree-sitter-corn new file mode 160000 index 0000000..604d73c --- /dev/null +++ b/parsers/tree-sitter-corn @@ -0,0 +1 @@ +Subproject commit 604d73c38d4c28ca68e9e441ffd405d68cb63051 diff --git a/parsers/tree-sitter-cpon b/parsers/tree-sitter-cpon new file mode 160000 index 0000000..f4b3cbc --- /dev/null +++ b/parsers/tree-sitter-cpon @@ -0,0 +1 @@ +Subproject commit f4b3cbc8b0bd4e13035d39940fef09f1392e8739 diff --git a/parsers/tree-sitter-cpp b/parsers/tree-sitter-cpp new file mode 160000 index 0000000..f79b9d9 --- /dev/null +++ b/parsers/tree-sitter-cpp @@ -0,0 +1 @@ +Subproject commit f79b9d98592bcc307ace9c9a2441b04eb175a1c2 diff --git a/parsers/tree-sitter-css b/parsers/tree-sitter-css new file mode 160000 index 0000000..02b4ee7 --- /dev/null +++ b/parsers/tree-sitter-css @@ -0,0 +1 @@ +Subproject commit 02b4ee757654b7d54fe35352fd8e53a8a4385d42 diff --git a/parsers/tree-sitter-csv b/parsers/tree-sitter-csv new file mode 160000 index 0000000..cda48a5 --- /dev/null +++ b/parsers/tree-sitter-csv @@ -0,0 +1 @@ +Subproject commit cda48a5e890b30619da5bc3ff55be1b1d3d08c8d diff --git a/parsers/tree-sitter-cuda b/parsers/tree-sitter-cuda new file mode 160000 index 0000000..6e25c94 --- /dev/null +++ b/parsers/tree-sitter-cuda @@ -0,0 +1 @@ +Subproject commit 6e25c94f8be4388a4fec6dadc23f3b662388ec20 diff --git a/parsers/tree-sitter-cue b/parsers/tree-sitter-cue new file mode 160000 index 0000000..8a5f273 --- /dev/null +++ b/parsers/tree-sitter-cue @@ -0,0 +1 @@ +Subproject commit 8a5f273bfa281c66354da562f2307c2d394b6c81 diff --git a/parsers/tree-sitter-d b/parsers/tree-sitter-d new file mode 160000 index 0000000..750dde9 --- /dev/null +++ b/parsers/tree-sitter-d @@ -0,0 +1 @@ +Subproject commit 750dde90ed9cdbd82493bc28478d8ab1976b0e9f diff --git a/parsers/tree-sitter-dart b/parsers/tree-sitter-dart new file mode 160000 index 0000000..6da4647 --- /dev/null +++ b/parsers/tree-sitter-dart @@ -0,0 +1 @@ +Subproject commit 6da46473ab8accb13da48113f4634e729a71d335 diff --git a/parsers/tree-sitter-devicetree b/parsers/tree-sitter-devicetree new file mode 160000 index 0000000..fb07e60 --- /dev/null +++ b/parsers/tree-sitter-devicetree @@ -0,0 +1 @@ +Subproject commit fb07e6044ffd36932c57a5be01ba5d6b8a9337bb diff --git a/parsers/tree-sitter-dhall b/parsers/tree-sitter-dhall new file mode 160000 index 0000000..affb6ee --- /dev/null +++ b/parsers/tree-sitter-dhall @@ -0,0 +1 @@ +Subproject commit affb6ee38d629c9296749767ab832d69bb0d9ea8 diff --git a/parsers/tree-sitter-diff b/parsers/tree-sitter-diff new file mode 160000 index 0000000..c165725 --- /dev/null +++ b/parsers/tree-sitter-diff @@ -0,0 +1 @@ +Subproject commit c165725c28e69b36c5799ff0e458713a844f1aaf diff --git a/parsers/tree-sitter-disassembly b/parsers/tree-sitter-disassembly new file mode 160000 index 0000000..0229c02 --- /dev/null +++ b/parsers/tree-sitter-disassembly @@ -0,0 +1 @@ +Subproject commit 0229c0211dba909c5d45129ac784a3f4d49c243a diff --git a/parsers/tree-sitter-djot b/parsers/tree-sitter-djot new file mode 160000 index 0000000..63f176e --- /dev/null +++ b/parsers/tree-sitter-djot @@ -0,0 +1 @@ +Subproject commit 63f176e7db5fca073b55b98b7e5e95afd1587fcb diff --git a/parsers/tree-sitter-dockerfile b/parsers/tree-sitter-dockerfile new file mode 160000 index 0000000..33e22c3 --- /dev/null +++ b/parsers/tree-sitter-dockerfile @@ -0,0 +1 @@ +Subproject commit 33e22c33bcdbfc33d42806ee84cfd0b1248cc392 diff --git a/parsers/tree-sitter-dot b/parsers/tree-sitter-dot new file mode 160000 index 0000000..9ab8555 --- /dev/null +++ b/parsers/tree-sitter-dot @@ -0,0 +1 @@ +Subproject commit 9ab85550c896d8b294d9b9ca1e30698736f08cea diff --git a/parsers/tree-sitter-earthfile b/parsers/tree-sitter-earthfile new file mode 160000 index 0000000..fda374b --- /dev/null +++ b/parsers/tree-sitter-earthfile @@ -0,0 +1 @@ +Subproject commit fda374bd4e908b3a34be097b94857e08c22b1ec3 diff --git a/parsers/tree-sitter-eds b/parsers/tree-sitter-eds new file mode 160000 index 0000000..fde6202 --- /dev/null +++ b/parsers/tree-sitter-eds @@ -0,0 +1 @@ +Subproject commit fde62029d4c715562230070b9af51a9500c2ce10 diff --git a/parsers/tree-sitter-eex b/parsers/tree-sitter-eex new file mode 160000 index 0000000..f742f2f --- /dev/null +++ b/parsers/tree-sitter-eex @@ -0,0 +1 @@ +Subproject commit f742f2fe327463335e8671a87c0b9b396905d1d1 diff --git a/parsers/tree-sitter-elixir b/parsers/tree-sitter-elixir new file mode 160000 index 0000000..de690fa --- /dev/null +++ b/parsers/tree-sitter-elixir @@ -0,0 +1 @@ +Subproject commit de690fa8a028f122af46d9d2685679fe5f2d7d60 diff --git a/parsers/tree-sitter-elm b/parsers/tree-sitter-elm new file mode 160000 index 0000000..09dbf22 --- /dev/null +++ b/parsers/tree-sitter-elm @@ -0,0 +1 @@ +Subproject commit 09dbf221d7491dc8d8839616b27c21b9c025c457 diff --git a/parsers/tree-sitter-elsa b/parsers/tree-sitter-elsa new file mode 160000 index 0000000..0a66b2b --- /dev/null +++ b/parsers/tree-sitter-elsa @@ -0,0 +1 @@ +Subproject commit 0a66b2b3f3c1915e67ad2ef9f7dbd2a84820d9d7 diff --git a/parsers/tree-sitter-elvish b/parsers/tree-sitter-elvish new file mode 160000 index 0000000..5e7210d --- /dev/null +++ b/parsers/tree-sitter-elvish @@ -0,0 +1 @@ +Subproject commit 5e7210d945425b77f82cbaebc5af4dd3e1ad40f5 diff --git a/parsers/tree-sitter-embedded-template b/parsers/tree-sitter-embedded-template new file mode 160000 index 0000000..6d791b8 --- /dev/null +++ b/parsers/tree-sitter-embedded-template @@ -0,0 +1 @@ +Subproject commit 6d791b897ecda59baa0689a85a9906348a2a6414 diff --git a/parsers/tree-sitter-erlang b/parsers/tree-sitter-erlang new file mode 160000 index 0000000..20ce5a9 --- /dev/null +++ b/parsers/tree-sitter-erlang @@ -0,0 +1 @@ +Subproject commit 20ce5a9234c7248b3f91c5b0b028f1760b954dde diff --git a/parsers/tree-sitter-facility b/parsers/tree-sitter-facility new file mode 160000 index 0000000..a525796 --- /dev/null +++ b/parsers/tree-sitter-facility @@ -0,0 +1 @@ +Subproject commit a52579670e2b14ec03d410c3c980fafaf6d659c4 diff --git a/parsers/tree-sitter-faust b/parsers/tree-sitter-faust new file mode 160000 index 0000000..f3b9274 --- /dev/null +++ b/parsers/tree-sitter-faust @@ -0,0 +1 @@ +Subproject commit f3b9274514b5f9bf6b0dd4a01c30f9cc15c58bc4 diff --git a/parsers/tree-sitter-fennel b/parsers/tree-sitter-fennel new file mode 160000 index 0000000..215e391 --- /dev/null +++ b/parsers/tree-sitter-fennel @@ -0,0 +1 @@ +Subproject commit 215e3913524abc119daa9db7cf6ad2f2f5620189 diff --git a/parsers/tree-sitter-firrtl b/parsers/tree-sitter-firrtl new file mode 160000 index 0000000..2b5adae --- /dev/null +++ b/parsers/tree-sitter-firrtl @@ -0,0 +1 @@ +Subproject commit 2b5adae629c8cba528c7b1e4aa67a8ae28934ea5 diff --git a/parsers/tree-sitter-fish b/parsers/tree-sitter-fish new file mode 160000 index 0000000..a78aef9 --- /dev/null +++ b/parsers/tree-sitter-fish @@ -0,0 +1 @@ +Subproject commit a78aef9abc395c600c38a037ac779afc7e3cc9e0 diff --git a/parsers/tree-sitter-foam b/parsers/tree-sitter-foam new file mode 160000 index 0000000..04664b4 --- /dev/null +++ b/parsers/tree-sitter-foam @@ -0,0 +1 @@ +Subproject commit 04664b40c0dadb7ef37028acf3422c63271d377b diff --git a/parsers/tree-sitter-forth b/parsers/tree-sitter-forth new file mode 160000 index 0000000..9018923 --- /dev/null +++ b/parsers/tree-sitter-forth @@ -0,0 +1 @@ +Subproject commit 90189238385cf636b9ee99ce548b9e5b5e569d48 diff --git a/parsers/tree-sitter-fortran b/parsers/tree-sitter-fortran new file mode 160000 index 0000000..f73d473 --- /dev/null +++ b/parsers/tree-sitter-fortran @@ -0,0 +1 @@ +Subproject commit f73d473e3530862dee7cbb38520f28824e7804f6 diff --git a/parsers/tree-sitter-fsh b/parsers/tree-sitter-fsh new file mode 160000 index 0000000..fa33477 --- /dev/null +++ b/parsers/tree-sitter-fsh @@ -0,0 +1 @@ +Subproject commit fa3347712f7a59ed02ccf508284554689c6cde28 diff --git a/parsers/tree-sitter-func b/parsers/tree-sitter-func new file mode 160000 index 0000000..0834e35 --- /dev/null +++ b/parsers/tree-sitter-func @@ -0,0 +1 @@ +Subproject commit 0834e35ecf8b23fbf9ad15b088af6a897e19d4a8 diff --git a/parsers/tree-sitter-fusion b/parsers/tree-sitter-fusion new file mode 160000 index 0000000..19db2f4 --- /dev/null +++ b/parsers/tree-sitter-fusion @@ -0,0 +1 @@ +Subproject commit 19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6 diff --git a/parsers/tree-sitter-gdscript b/parsers/tree-sitter-gdscript new file mode 160000 index 0000000..1f1e782 --- /dev/null +++ b/parsers/tree-sitter-gdscript @@ -0,0 +1 @@ +Subproject commit 1f1e782fe2600f50ae57b53876505b8282388d77 diff --git a/parsers/tree-sitter-gdshader b/parsers/tree-sitter-gdshader new file mode 160000 index 0000000..ffd9f95 --- /dev/null +++ b/parsers/tree-sitter-gdshader @@ -0,0 +1 @@ +Subproject commit ffd9f958df13cae04593781d7d2562295a872455 diff --git a/parsers/tree-sitter-git-rebase b/parsers/tree-sitter-git-rebase new file mode 160000 index 0000000..d8a4207 --- /dev/null +++ b/parsers/tree-sitter-git-rebase @@ -0,0 +1 @@ +Subproject commit d8a4207ebbc47bd78bacdf48f883db58283f9fd8 diff --git a/parsers/tree-sitter-gitattributes b/parsers/tree-sitter-gitattributes new file mode 160000 index 0000000..41940e1 --- /dev/null +++ b/parsers/tree-sitter-gitattributes @@ -0,0 +1 @@ +Subproject commit 41940e199ba5763abea1d21b4f717014b45f01ea diff --git a/parsers/tree-sitter-gitcommit b/parsers/tree-sitter-gitcommit new file mode 160000 index 0000000..edd817e --- /dev/null +++ b/parsers/tree-sitter-gitcommit @@ -0,0 +1 @@ +Subproject commit edd817e0532f179b7f7f371dc180629070945f0c diff --git a/parsers/tree-sitter-gitignore b/parsers/tree-sitter-gitignore new file mode 160000 index 0000000..f4685bf --- /dev/null +++ b/parsers/tree-sitter-gitignore @@ -0,0 +1 @@ +Subproject commit f4685bf11ac466dd278449bcfe5fd014e94aa504 diff --git a/parsers/tree-sitter-gleam b/parsers/tree-sitter-gleam new file mode 160000 index 0000000..bcf9c45 --- /dev/null +++ b/parsers/tree-sitter-gleam @@ -0,0 +1 @@ +Subproject commit bcf9c45b56cbe46e9dac5eee0aee75df270000ac diff --git a/parsers/tree-sitter-glimmer b/parsers/tree-sitter-glimmer new file mode 160000 index 0000000..6b25d26 --- /dev/null +++ b/parsers/tree-sitter-glimmer @@ -0,0 +1 @@ +Subproject commit 6b25d265c990139353e1f7f97baf84987ebb7bf0 diff --git a/parsers/tree-sitter-gn b/parsers/tree-sitter-gn new file mode 160000 index 0000000..bc06955 --- /dev/null +++ b/parsers/tree-sitter-gn @@ -0,0 +1 @@ +Subproject commit bc06955bc1e3c9ff8e9b2b2a55b38b94da923c05 diff --git a/parsers/tree-sitter-go b/parsers/tree-sitter-go new file mode 160000 index 0000000..eb68645 --- /dev/null +++ b/parsers/tree-sitter-go @@ -0,0 +1 @@ +Subproject commit eb68645662a3f7bf7fdd4bcb9531585f54c8570e diff --git a/parsers/tree-sitter-go-mod b/parsers/tree-sitter-go-mod new file mode 160000 index 0000000..bbe2fe3 --- /dev/null +++ b/parsers/tree-sitter-go-mod @@ -0,0 +1 @@ +Subproject commit bbe2fe3be4b87e06a613e685250f473d2267f430 diff --git a/parsers/tree-sitter-go-sum b/parsers/tree-sitter-go-sum new file mode 160000 index 0000000..e2ac513 --- /dev/null +++ b/parsers/tree-sitter-go-sum @@ -0,0 +1 @@ +Subproject commit e2ac513b2240c7ff1069ae33b2df29ce90777c11 diff --git a/parsers/tree-sitter-go-template b/parsers/tree-sitter-go-template new file mode 160000 index 0000000..17144a7 --- /dev/null +++ b/parsers/tree-sitter-go-template @@ -0,0 +1 @@ +Subproject commit 17144a77be0acdecebd9d557398883569fed41de diff --git a/parsers/tree-sitter-go-work b/parsers/tree-sitter-go-work new file mode 160000 index 0000000..949a8a4 --- /dev/null +++ b/parsers/tree-sitter-go-work @@ -0,0 +1 @@ +Subproject commit 949a8a470559543857a62102c84700d291fc984c diff --git a/parsers/tree-sitter-godot-resource b/parsers/tree-sitter-godot-resource new file mode 160000 index 0000000..2ffb90d --- /dev/null +++ b/parsers/tree-sitter-godot-resource @@ -0,0 +1 @@ +Subproject commit 2ffb90de47417018651fc3b970e5f6b67214dc9d diff --git a/parsers/tree-sitter-gpg-config b/parsers/tree-sitter-gpg-config new file mode 160000 index 0000000..f99323f --- /dev/null +++ b/parsers/tree-sitter-gpg-config @@ -0,0 +1 @@ +Subproject commit f99323fb8f3f10b6c69db0c2f6d0a14bd7330675 diff --git a/parsers/tree-sitter-gstlaunch b/parsers/tree-sitter-gstlaunch new file mode 160000 index 0000000..549aef2 --- /dev/null +++ b/parsers/tree-sitter-gstlaunch @@ -0,0 +1 @@ +Subproject commit 549aef253fd38a53995cda1bf55c501174372bf7 diff --git a/parsers/tree-sitter-hack b/parsers/tree-sitter-hack new file mode 160000 index 0000000..fca1e29 --- /dev/null +++ b/parsers/tree-sitter-hack @@ -0,0 +1 @@ +Subproject commit fca1e294f6dce8ec5659233a6a21f5bd0ed5b4f2 diff --git a/parsers/tree-sitter-hare b/parsers/tree-sitter-hare new file mode 160000 index 0000000..3d4af17 --- /dev/null +++ b/parsers/tree-sitter-hare @@ -0,0 +1 @@ +Subproject commit 3d4af179414525a35dd069ba0208c9b71093d8b3 diff --git a/parsers/tree-sitter-haskell b/parsers/tree-sitter-haskell new file mode 160000 index 0000000..95a4f00 --- /dev/null +++ b/parsers/tree-sitter-haskell @@ -0,0 +1 @@ +Subproject commit 95a4f0023741b3bee0cc500f3dab9c5bab2dc2be diff --git a/parsers/tree-sitter-hcl b/parsers/tree-sitter-hcl new file mode 160000 index 0000000..e936d3f --- /dev/null +++ b/parsers/tree-sitter-hcl @@ -0,0 +1 @@ +Subproject commit e936d3fef8bac884661472dce71ad82284761eb1 diff --git a/parsers/tree-sitter-heex b/parsers/tree-sitter-heex new file mode 160000 index 0000000..b5ad6e3 --- /dev/null +++ b/parsers/tree-sitter-heex @@ -0,0 +1 @@ +Subproject commit b5ad6e34eea18a15bbd1466ca707a17f9bff7b93 diff --git a/parsers/tree-sitter-hjson b/parsers/tree-sitter-hjson new file mode 160000 index 0000000..02fa3b7 --- /dev/null +++ b/parsers/tree-sitter-hjson @@ -0,0 +1 @@ +Subproject commit 02fa3b79b3ff9a296066da6277adfc3f26cbc9e0 diff --git a/parsers/tree-sitter-hlsl b/parsers/tree-sitter-hlsl new file mode 160000 index 0000000..027fa2e --- /dev/null +++ b/parsers/tree-sitter-hlsl @@ -0,0 +1 @@ +Subproject commit 027fa2e142db1258026cc6497b9f32bbf11f392d diff --git a/parsers/tree-sitter-hlsplaylist b/parsers/tree-sitter-hlsplaylist new file mode 160000 index 0000000..5305c06 --- /dev/null +++ b/parsers/tree-sitter-hlsplaylist @@ -0,0 +1 @@ +Subproject commit 5305c061efce2841942dbbac6f9a5b21e3e4eb35 diff --git a/parsers/tree-sitter-hocon b/parsers/tree-sitter-hocon new file mode 160000 index 0000000..c390f10 --- /dev/null +++ b/parsers/tree-sitter-hocon @@ -0,0 +1 @@ +Subproject commit c390f10519ae69fdb03b3e5764f5592fb6924bcc diff --git a/parsers/tree-sitter-htmldjango b/parsers/tree-sitter-htmldjango new file mode 160000 index 0000000..ea71012 --- /dev/null +++ b/parsers/tree-sitter-htmldjango @@ -0,0 +1 @@ +Subproject commit ea71012d3fe14dd0b69f36be4f96bdfe9155ebae diff --git a/parsers/tree-sitter-http b/parsers/tree-sitter-http new file mode 160000 index 0000000..86ad05a --- /dev/null +++ b/parsers/tree-sitter-http @@ -0,0 +1 @@ +Subproject commit 86ad05ac2de3c63c69f65e58f0182a76c1658d1e diff --git a/parsers/tree-sitter-hyprlang b/parsers/tree-sitter-hyprlang new file mode 160000 index 0000000..e5da7d0 --- /dev/null +++ b/parsers/tree-sitter-hyprlang @@ -0,0 +1 @@ +Subproject commit e5da7d0aa44403153e0394d87d9edea4e5bd6609 diff --git a/parsers/tree-sitter-ini b/parsers/tree-sitter-ini new file mode 160000 index 0000000..bcb84a2 --- /dev/null +++ b/parsers/tree-sitter-ini @@ -0,0 +1 @@ +Subproject commit bcb84a2d4bcd6f55b911c42deade75c8f90cb0c5 diff --git a/parsers/tree-sitter-janet-simple b/parsers/tree-sitter-janet-simple new file mode 160000 index 0000000..51271e2 --- /dev/null +++ b/parsers/tree-sitter-janet-simple @@ -0,0 +1 @@ +Subproject commit 51271e260346878e1a1aa6c506ce6a797b7c25e2 diff --git a/parsers/tree-sitter-java b/parsers/tree-sitter-java new file mode 160000 index 0000000..953abfc --- /dev/null +++ b/parsers/tree-sitter-java @@ -0,0 +1 @@ +Subproject commit 953abfc8bb3eb2f578e1f461edba4a9885f974b8 diff --git a/parsers/tree-sitter-javascript b/parsers/tree-sitter-javascript new file mode 160000 index 0000000..ac10a11 --- /dev/null +++ b/parsers/tree-sitter-javascript @@ -0,0 +1 @@ +Subproject commit ac10a11e0c8db512f70e6b798260d2516d22454c diff --git a/parsers/tree-sitter-jq b/parsers/tree-sitter-jq new file mode 160000 index 0000000..13990f5 --- /dev/null +++ b/parsers/tree-sitter-jq @@ -0,0 +1 @@ +Subproject commit 13990f530e8e6709b7978503da9bc8701d366791 diff --git a/parsers/tree-sitter-jsdoc b/parsers/tree-sitter-jsdoc new file mode 160000 index 0000000..6a6cf9e --- /dev/null +++ b/parsers/tree-sitter-jsdoc @@ -0,0 +1 @@ +Subproject commit 6a6cf9e7341af32d8e2b2e24a37fbfebefc3dc55 diff --git a/parsers/tree-sitter-json b/parsers/tree-sitter-json new file mode 160000 index 0000000..80e623c --- /dev/null +++ b/parsers/tree-sitter-json @@ -0,0 +1 @@ +Subproject commit 80e623c2165887f9829357acfa9c0a0bab34a3cd diff --git a/parsers/tree-sitter-json5 b/parsers/tree-sitter-json5 new file mode 160000 index 0000000..c23f7a9 --- /dev/null +++ b/parsers/tree-sitter-json5 @@ -0,0 +1 @@ +Subproject commit c23f7a9b1ee7d45f516496b1e0e4be067264fa0d diff --git a/parsers/tree-sitter-jsonnet b/parsers/tree-sitter-jsonnet new file mode 160000 index 0000000..d34615f --- /dev/null +++ b/parsers/tree-sitter-jsonnet @@ -0,0 +1 @@ +Subproject commit d34615fa12cc1d1cfc1f1f1a80acc9db80ee4596 diff --git a/parsers/tree-sitter-just b/parsers/tree-sitter-just new file mode 160000 index 0000000..6c2f018 --- /dev/null +++ b/parsers/tree-sitter-just @@ -0,0 +1 @@ +Subproject commit 6c2f018ab1d90946c0ce029bb2f7d57f56895dff diff --git a/parsers/tree-sitter-kconfig b/parsers/tree-sitter-kconfig new file mode 160000 index 0000000..486fea7 --- /dev/null +++ b/parsers/tree-sitter-kconfig @@ -0,0 +1 @@ +Subproject commit 486fea71f61ad9f3fd4072a118402e97fe88d26c diff --git a/parsers/tree-sitter-kdl b/parsers/tree-sitter-kdl new file mode 160000 index 0000000..49fb89a --- /dev/null +++ b/parsers/tree-sitter-kdl @@ -0,0 +1 @@ +Subproject commit 49fb89a854d93b58a65a19724ac307195ca11941 diff --git a/parsers/tree-sitter-kotlin b/parsers/tree-sitter-kotlin new file mode 160000 index 0000000..260afd9 --- /dev/null +++ b/parsers/tree-sitter-kotlin @@ -0,0 +1 @@ +Subproject commit 260afd9a92bac51b3a4546303103c3d40a430639 diff --git a/parsers/tree-sitter-kusto b/parsers/tree-sitter-kusto new file mode 160000 index 0000000..8353a12 --- /dev/null +++ b/parsers/tree-sitter-kusto @@ -0,0 +1 @@ +Subproject commit 8353a1296607d6ba33db7c7e312226e5fc83e8ce diff --git a/parsers/tree-sitter-latex b/parsers/tree-sitter-latex new file mode 160000 index 0000000..ae2134a --- /dev/null +++ b/parsers/tree-sitter-latex @@ -0,0 +1 @@ +Subproject commit ae2134af67f6c5e45587ace9ec748dd6e7b356a2 diff --git a/parsers/tree-sitter-ledger b/parsers/tree-sitter-ledger new file mode 160000 index 0000000..8a841fb --- /dev/null +++ b/parsers/tree-sitter-ledger @@ -0,0 +1 @@ +Subproject commit 8a841fb20ce683bfbb3469e6ba67f2851cfdf94a diff --git a/parsers/tree-sitter-leo b/parsers/tree-sitter-leo new file mode 160000 index 0000000..304611b --- /dev/null +++ b/parsers/tree-sitter-leo @@ -0,0 +1 @@ +Subproject commit 304611b5eaf53aca07459a0a03803b83b6dfd3b3 diff --git a/parsers/tree-sitter-linkerscript b/parsers/tree-sitter-linkerscript new file mode 160000 index 0000000..f99011a --- /dev/null +++ b/parsers/tree-sitter-linkerscript @@ -0,0 +1 @@ +Subproject commit f99011a3554213b654985a4b0a65b3b032ec4621 diff --git a/parsers/tree-sitter-liquid b/parsers/tree-sitter-liquid new file mode 160000 index 0000000..2933698 --- /dev/null +++ b/parsers/tree-sitter-liquid @@ -0,0 +1 @@ +Subproject commit 293369818da219d97327908aab33707b04b63fd9 diff --git a/parsers/tree-sitter-liquidsoap b/parsers/tree-sitter-liquidsoap new file mode 160000 index 0000000..09a9e31 --- /dev/null +++ b/parsers/tree-sitter-liquidsoap @@ -0,0 +1 @@ +Subproject commit 09a9e31e2af734a8974dad6ed349648f601eee8c diff --git a/parsers/tree-sitter-lua b/parsers/tree-sitter-lua new file mode 160000 index 0000000..a24dab1 --- /dev/null +++ b/parsers/tree-sitter-lua @@ -0,0 +1 @@ +Subproject commit a24dab177e58c9c6832f96b9a73102a0cfbced4a diff --git a/parsers/tree-sitter-luadoc b/parsers/tree-sitter-luadoc new file mode 160000 index 0000000..873612a --- /dev/null +++ b/parsers/tree-sitter-luadoc @@ -0,0 +1 @@ +Subproject commit 873612aadd3f684dd4e631bdf42ea8990c57634e diff --git a/parsers/tree-sitter-luap b/parsers/tree-sitter-luap new file mode 160000 index 0000000..31461ae --- /dev/null +++ b/parsers/tree-sitter-luap @@ -0,0 +1 @@ +Subproject commit 31461ae9bd0866cb5117cfe5de71189854fd0f3e diff --git a/parsers/tree-sitter-m68k b/parsers/tree-sitter-m68k new file mode 160000 index 0000000..d097b12 --- /dev/null +++ b/parsers/tree-sitter-m68k @@ -0,0 +1 @@ +Subproject commit d097b123f19c6eaba2bf181c05420d88b9fc489d diff --git a/parsers/tree-sitter-make b/parsers/tree-sitter-make new file mode 160000 index 0000000..a4b9187 --- /dev/null +++ b/parsers/tree-sitter-make @@ -0,0 +1 @@ +Subproject commit a4b9187417d6be349ee5fd4b6e77b4172c6827dd diff --git a/parsers/tree-sitter-markdown b/parsers/tree-sitter-markdown new file mode 160000 index 0000000..7fe453b --- /dev/null +++ b/parsers/tree-sitter-markdown @@ -0,0 +1 @@ +Subproject commit 7fe453beacecf02c86f7736439f238f5bb8b5c9b diff --git a/parsers/tree-sitter-mlir b/parsers/tree-sitter-mlir new file mode 160000 index 0000000..c2845c1 --- /dev/null +++ b/parsers/tree-sitter-mlir @@ -0,0 +1 @@ +Subproject commit c2845c1c0b23e2faf6febfa72a042e5346374ebf diff --git a/parsers/tree-sitter-nasm b/parsers/tree-sitter-nasm new file mode 160000 index 0000000..3bc691d --- /dev/null +++ b/parsers/tree-sitter-nasm @@ -0,0 +1 @@ +Subproject commit 3bc691d2cfba44bea339a775ad496c8bc552c60d diff --git a/parsers/tree-sitter-nickel b/parsers/tree-sitter-nickel new file mode 160000 index 0000000..58baf89 --- /dev/null +++ b/parsers/tree-sitter-nickel @@ -0,0 +1 @@ +Subproject commit 58baf89db8fdae54a84bcf22c80ff10ee3f929ed diff --git a/parsers/tree-sitter-nim b/parsers/tree-sitter-nim new file mode 160000 index 0000000..f5cec6a --- /dev/null +++ b/parsers/tree-sitter-nim @@ -0,0 +1 @@ +Subproject commit f5cec6a841b585e4e7388a120ded07e60ae19c43 diff --git a/parsers/tree-sitter-nim-format-string b/parsers/tree-sitter-nim-format-string new file mode 160000 index 0000000..d45f750 --- /dev/null +++ b/parsers/tree-sitter-nim-format-string @@ -0,0 +1 @@ +Subproject commit d45f75022d147cda056e98bfba68222c9c8eca3a diff --git a/parsers/tree-sitter-nix b/parsers/tree-sitter-nix new file mode 160000 index 0000000..b3cda61 --- /dev/null +++ b/parsers/tree-sitter-nix @@ -0,0 +1 @@ +Subproject commit b3cda619248e7dd0f216088bd152f59ce0bbe488 diff --git a/parsers/tree-sitter-nqc b/parsers/tree-sitter-nqc new file mode 160000 index 0000000..14e6da1 --- /dev/null +++ b/parsers/tree-sitter-nqc @@ -0,0 +1 @@ +Subproject commit 14e6da1627aaef21d2b2aa0c37d04269766dcc1d diff --git a/parsers/tree-sitter-objc b/parsers/tree-sitter-objc new file mode 160000 index 0000000..62e61b6 --- /dev/null +++ b/parsers/tree-sitter-objc @@ -0,0 +1 @@ +Subproject commit 62e61b6f5c0289c376d61a8c91faf6435cde9012 diff --git a/parsers/tree-sitter-objdump b/parsers/tree-sitter-objdump new file mode 160000 index 0000000..28d3b2e --- /dev/null +++ b/parsers/tree-sitter-objdump @@ -0,0 +1 @@ +Subproject commit 28d3b2e25a0b1881d1b47ed1924ca276c7003d45 diff --git a/parsers/tree-sitter-ocaml b/parsers/tree-sitter-ocaml new file mode 160000 index 0000000..0b12614 --- /dev/null +++ b/parsers/tree-sitter-ocaml @@ -0,0 +1 @@ +Subproject commit 0b12614ded3ec7ed7ab7933a9ba4f695ba4c342e diff --git a/parsers/tree-sitter-ocamllex b/parsers/tree-sitter-ocamllex new file mode 160000 index 0000000..4b9898c --- /dev/null +++ b/parsers/tree-sitter-ocamllex @@ -0,0 +1 @@ +Subproject commit 4b9898ccbf198602bb0dec9cd67cc1d2c0a4fad2 diff --git a/parsers/tree-sitter-odin b/parsers/tree-sitter-odin new file mode 160000 index 0000000..b5f668e --- /dev/null +++ b/parsers/tree-sitter-odin @@ -0,0 +1 @@ +Subproject commit b5f668ef8918aab13812ce73acd89fe191fb8c5e diff --git a/parsers/tree-sitter-passwd b/parsers/tree-sitter-passwd new file mode 160000 index 0000000..2023939 --- /dev/null +++ b/parsers/tree-sitter-passwd @@ -0,0 +1 @@ +Subproject commit 20239395eacdc2e0923a7e5683ad3605aee7b716 diff --git a/parsers/tree-sitter-pem b/parsers/tree-sitter-pem new file mode 160000 index 0000000..217ff2a --- /dev/null +++ b/parsers/tree-sitter-pem @@ -0,0 +1 @@ +Subproject commit 217ff2af3f2db15a79ab7e3d21ea1e0c17e71a1a diff --git a/parsers/tree-sitter-perl b/parsers/tree-sitter-perl new file mode 160000 index 0000000..125a6d9 --- /dev/null +++ b/parsers/tree-sitter-perl @@ -0,0 +1 @@ +Subproject commit 125a6d9c5935768c27739418330d980df7f068ba diff --git a/parsers/tree-sitter-php b/parsers/tree-sitter-php new file mode 160000 index 0000000..29838ad --- /dev/null +++ b/parsers/tree-sitter-php @@ -0,0 +1 @@ +Subproject commit 29838ad107f50b1f5f51a0beefa9c9d834fce2b3 diff --git a/parsers/tree-sitter-phpdoc b/parsers/tree-sitter-phpdoc new file mode 160000 index 0000000..f285e33 --- /dev/null +++ b/parsers/tree-sitter-phpdoc @@ -0,0 +1 @@ +Subproject commit f285e338d328a03920a9bfd8dda78585c7ddcca3 diff --git a/parsers/tree-sitter-pioasm b/parsers/tree-sitter-pioasm new file mode 160000 index 0000000..924aada --- /dev/null +++ b/parsers/tree-sitter-pioasm @@ -0,0 +1 @@ +Subproject commit 924aadaf5dea2a6074d72027b064f939acf32e20 diff --git a/parsers/tree-sitter-po b/parsers/tree-sitter-po new file mode 160000 index 0000000..d6aed22 --- /dev/null +++ b/parsers/tree-sitter-po @@ -0,0 +1 @@ +Subproject commit d6aed225290bc71a15ab6f06305cb11419360c56 diff --git a/parsers/tree-sitter-pod b/parsers/tree-sitter-pod new file mode 160000 index 0000000..7ef08cb --- /dev/null +++ b/parsers/tree-sitter-pod @@ -0,0 +1 @@ +Subproject commit 7ef08cb706b6ab4878228cc28c4f9689e3cb86aa diff --git a/parsers/tree-sitter-pony b/parsers/tree-sitter-pony new file mode 160000 index 0000000..16f930b --- /dev/null +++ b/parsers/tree-sitter-pony @@ -0,0 +1 @@ +Subproject commit 16f930b250433cfcd4fb4144df92bb98ad344c20 diff --git a/parsers/tree-sitter-prisma b/parsers/tree-sitter-prisma new file mode 160000 index 0000000..eca2596 --- /dev/null +++ b/parsers/tree-sitter-prisma @@ -0,0 +1 @@ +Subproject commit eca2596a355b1a9952b4f80f8f9caed300a272b5 diff --git a/parsers/tree-sitter-properties b/parsers/tree-sitter-properties new file mode 160000 index 0000000..9d09f5f --- /dev/null +++ b/parsers/tree-sitter-properties @@ -0,0 +1 @@ +Subproject commit 9d09f5f200c356c50c4103d36441309fd61b48d1 diff --git a/parsers/tree-sitter-proto b/parsers/tree-sitter-proto new file mode 160000 index 0000000..e9f6b43 --- /dev/null +++ b/parsers/tree-sitter-proto @@ -0,0 +1 @@ +Subproject commit e9f6b43f6844bd2189b50a422d4e2094313f6aa3 diff --git a/parsers/tree-sitter-prql b/parsers/tree-sitter-prql new file mode 160000 index 0000000..09e158c --- /dev/null +++ b/parsers/tree-sitter-prql @@ -0,0 +1 @@ +Subproject commit 09e158cd3650581c0af4c49c2e5b10c4834c8646 diff --git a/parsers/tree-sitter-python b/parsers/tree-sitter-python new file mode 160000 index 0000000..a227610 --- /dev/null +++ b/parsers/tree-sitter-python @@ -0,0 +1 @@ +Subproject commit a22761025cdac6c314b7e3aa48fb44fa9e594d6a diff --git a/parsers/tree-sitter-ql b/parsers/tree-sitter-ql new file mode 160000 index 0000000..ff04ba6 --- /dev/null +++ b/parsers/tree-sitter-ql @@ -0,0 +1 @@ +Subproject commit ff04ba61857ba05b80221e71b423b2728dbebe1e diff --git a/parsers/tree-sitter-qmldir b/parsers/tree-sitter-qmldir new file mode 160000 index 0000000..6b2b5e4 --- /dev/null +++ b/parsers/tree-sitter-qmldir @@ -0,0 +1 @@ +Subproject commit 6b2b5e41734bd6f07ea4c36ac20fb6f14061c841 diff --git a/parsers/tree-sitter-query b/parsers/tree-sitter-query new file mode 160000 index 0000000..2e31ca2 --- /dev/null +++ b/parsers/tree-sitter-query @@ -0,0 +1 @@ +Subproject commit 2e31ca2771f6042b0e4e0c41a6290014a9e1face diff --git a/parsers/tree-sitter-r b/parsers/tree-sitter-r new file mode 160000 index 0000000..c55f8b4 --- /dev/null +++ b/parsers/tree-sitter-r @@ -0,0 +1 @@ +Subproject commit c55f8b4dfaa32c80ddef6c0ac0e79b05cb0cbf57 diff --git a/parsers/tree-sitter-racket b/parsers/tree-sitter-racket new file mode 160000 index 0000000..171f52a --- /dev/null +++ b/parsers/tree-sitter-racket @@ -0,0 +1 @@ +Subproject commit 171f52a8c0ed635b85cd42d1e36d82f1066a03b4 diff --git a/parsers/tree-sitter-rasi b/parsers/tree-sitter-rasi new file mode 160000 index 0000000..43196d9 --- /dev/null +++ b/parsers/tree-sitter-rasi @@ -0,0 +1 @@ +Subproject commit 43196d934a9a6ab3c7093a8683efd0111bb03db1 diff --git a/parsers/tree-sitter-rbs b/parsers/tree-sitter-rbs new file mode 160000 index 0000000..519a611 --- /dev/null +++ b/parsers/tree-sitter-rbs @@ -0,0 +1 @@ +Subproject commit 519a61132a51222e3ce73d3b7ef07465f587f346 diff --git a/parsers/tree-sitter-rego b/parsers/tree-sitter-rego new file mode 160000 index 0000000..9ac75e7 --- /dev/null +++ b/parsers/tree-sitter-rego @@ -0,0 +1 @@ +Subproject commit 9ac75e71b2d791e0aadeef68098319d86a2a14cf diff --git a/parsers/tree-sitter-requirements b/parsers/tree-sitter-requirements new file mode 160000 index 0000000..8666a4d --- /dev/null +++ b/parsers/tree-sitter-requirements @@ -0,0 +1 @@ +Subproject commit 8666a4dfeb3107144398158bc3dd7a3f59d89ccb diff --git a/parsers/tree-sitter-robot b/parsers/tree-sitter-robot new file mode 160000 index 0000000..322e4cc --- /dev/null +++ b/parsers/tree-sitter-robot @@ -0,0 +1 @@ +Subproject commit 322e4cc65754d2b3fdef4f2f8a71e0762e3d13af diff --git a/parsers/tree-sitter-roc b/parsers/tree-sitter-roc new file mode 160000 index 0000000..7df2c08 --- /dev/null +++ b/parsers/tree-sitter-roc @@ -0,0 +1 @@ +Subproject commit 7df2c0892e62efb81a7504d9799d4e0d0443d241 diff --git a/parsers/tree-sitter-ruby b/parsers/tree-sitter-ruby new file mode 160000 index 0000000..9d86f37 --- /dev/null +++ b/parsers/tree-sitter-ruby @@ -0,0 +1 @@ +Subproject commit 9d86f3761bb30e8dcc81e754b81d3ce91848477e diff --git a/parsers/tree-sitter-rust b/parsers/tree-sitter-rust new file mode 160000 index 0000000..b77c0d8 --- /dev/null +++ b/parsers/tree-sitter-rust @@ -0,0 +1 @@ +Subproject commit b77c0d8ac28a7c143224e6ed9b4f9e4bd044ff5b diff --git a/parsers/tree-sitter-scfg b/parsers/tree-sitter-scfg new file mode 160000 index 0000000..6deae0c --- /dev/null +++ b/parsers/tree-sitter-scfg @@ -0,0 +1 @@ +Subproject commit 6deae0cbb458c849a4d1e2985093e9c9c32d7fd0 diff --git a/parsers/tree-sitter-scss b/parsers/tree-sitter-scss new file mode 160000 index 0000000..c478c68 --- /dev/null +++ b/parsers/tree-sitter-scss @@ -0,0 +1 @@ +Subproject commit c478c6868648eff49eb04a4df90d703dc45b312a diff --git a/parsers/tree-sitter-sfapex b/parsers/tree-sitter-sfapex new file mode 160000 index 0000000..857077f --- /dev/null +++ b/parsers/tree-sitter-sfapex @@ -0,0 +1 @@ +Subproject commit 857077f9e6bb04df0f769c18d32bfe036911adc8 diff --git a/parsers/tree-sitter-smali b/parsers/tree-sitter-smali new file mode 160000 index 0000000..5ae51e1 --- /dev/null +++ b/parsers/tree-sitter-smali @@ -0,0 +1 @@ +Subproject commit 5ae51e15c4d1ac93cba6127caf3d1f0a072c140c diff --git a/parsers/tree-sitter-solidity b/parsers/tree-sitter-solidity new file mode 160000 index 0000000..08338dc --- /dev/null +++ b/parsers/tree-sitter-solidity @@ -0,0 +1 @@ +Subproject commit 08338dcee32603383fcef08f36321900bb7a354b diff --git a/parsers/tree-sitter-sparql b/parsers/tree-sitter-sparql new file mode 160000 index 0000000..05f949d --- /dev/null +++ b/parsers/tree-sitter-sparql @@ -0,0 +1 @@ +Subproject commit 05f949d3c1c15e3261473a244d3ce87777374dec diff --git a/parsers/tree-sitter-sql b/parsers/tree-sitter-sql new file mode 160000 index 0000000..b6b1f7f --- /dev/null +++ b/parsers/tree-sitter-sql @@ -0,0 +1 @@ +Subproject commit b6b1f7f7e70e869c655705c591cbdf3e8a807ad6 diff --git a/parsers/tree-sitter-ssh-config b/parsers/tree-sitter-ssh-config new file mode 160000 index 0000000..514695d --- /dev/null +++ b/parsers/tree-sitter-ssh-config @@ -0,0 +1 @@ +Subproject commit 514695df4985f56455b8f139a319453a2325cdcf diff --git a/parsers/tree-sitter-strace b/parsers/tree-sitter-strace new file mode 160000 index 0000000..d819cdd --- /dev/null +++ b/parsers/tree-sitter-strace @@ -0,0 +1 @@ +Subproject commit d819cdd5dbe455bd3c859193633c8d91c0df7c36 diff --git a/parsers/tree-sitter-styled b/parsers/tree-sitter-styled new file mode 160000 index 0000000..c68a457 --- /dev/null +++ b/parsers/tree-sitter-styled @@ -0,0 +1 @@ +Subproject commit c68a4572e2d6403b6e99066c9a113b43f4a07a27 diff --git a/parsers/tree-sitter-svelte b/parsers/tree-sitter-svelte new file mode 160000 index 0000000..2c97326 --- /dev/null +++ b/parsers/tree-sitter-svelte @@ -0,0 +1 @@ +Subproject commit 2c97326cd96b7c3016c3d249e8dc244c89b4abeb diff --git a/parsers/tree-sitter-sxhkdrc b/parsers/tree-sitter-sxhkdrc new file mode 160000 index 0000000..440d5f9 --- /dev/null +++ b/parsers/tree-sitter-sxhkdrc @@ -0,0 +1 @@ +Subproject commit 440d5f913d9465c9c776a1bd92334d32febcf065 diff --git a/parsers/tree-sitter-systemtap b/parsers/tree-sitter-systemtap new file mode 160000 index 0000000..1af543a --- /dev/null +++ b/parsers/tree-sitter-systemtap @@ -0,0 +1 @@ +Subproject commit 1af543a96d060b1f808982037bfc54cc02218edd diff --git a/parsers/tree-sitter-t32 b/parsers/tree-sitter-t32 new file mode 160000 index 0000000..8487a14 --- /dev/null +++ b/parsers/tree-sitter-t32 @@ -0,0 +1 @@ +Subproject commit 8487a14874f3e3138877655f303322d9e7222cec diff --git a/parsers/tree-sitter-tcl b/parsers/tree-sitter-tcl new file mode 160000 index 0000000..8784024 --- /dev/null +++ b/parsers/tree-sitter-tcl @@ -0,0 +1 @@ +Subproject commit 8784024358c233efd0f3a6fd9e7a3c5852e628bc diff --git a/parsers/tree-sitter-thrift b/parsers/tree-sitter-thrift new file mode 160000 index 0000000..d4deb1b --- /dev/null +++ b/parsers/tree-sitter-thrift @@ -0,0 +1 @@ +Subproject commit d4deb1bd9e848f2dbe81103a151d99e8546de480 diff --git a/parsers/tree-sitter-tiger b/parsers/tree-sitter-tiger new file mode 160000 index 0000000..a7f11d9 --- /dev/null +++ b/parsers/tree-sitter-tiger @@ -0,0 +1 @@ +Subproject commit a7f11d946b44244f71df41d2a78af0665d618dae diff --git a/parsers/tree-sitter-tlaplus b/parsers/tree-sitter-tlaplus new file mode 160000 index 0000000..0545ebd --- /dev/null +++ b/parsers/tree-sitter-tlaplus @@ -0,0 +1 @@ +Subproject commit 0545ebd097338f1a119c2cb61eb3600409fce715 diff --git a/parsers/tree-sitter-todotxt b/parsers/tree-sitter-todotxt new file mode 160000 index 0000000..3937c5c --- /dev/null +++ b/parsers/tree-sitter-todotxt @@ -0,0 +1 @@ +Subproject commit 3937c5cd105ec4127448651a21aef45f52d19609 diff --git a/parsers/tree-sitter-toml b/parsers/tree-sitter-toml new file mode 160000 index 0000000..8bd2056 --- /dev/null +++ b/parsers/tree-sitter-toml @@ -0,0 +1 @@ +Subproject commit 8bd2056818b21860e3d756b5a58c4f6e05fb744e diff --git a/parsers/tree-sitter-turtle b/parsers/tree-sitter-turtle new file mode 160000 index 0000000..085437f --- /dev/null +++ b/parsers/tree-sitter-turtle @@ -0,0 +1 @@ +Subproject commit 085437f5cb117703b7f520dd92161140a684f092 diff --git a/parsers/tree-sitter-typst b/parsers/tree-sitter-typst new file mode 160000 index 0000000..13863dd --- /dev/null +++ b/parsers/tree-sitter-typst @@ -0,0 +1 @@ +Subproject commit 13863ddcbaa7b68ee6221cea2e3143415e64aea4 diff --git a/parsers/tree-sitter-udev b/parsers/tree-sitter-udev new file mode 160000 index 0000000..8f58696 --- /dev/null +++ b/parsers/tree-sitter-udev @@ -0,0 +1 @@ +Subproject commit 8f58696e79092b4ad6bf197415bbd0970acf15cd diff --git a/parsers/tree-sitter-usd b/parsers/tree-sitter-usd new file mode 160000 index 0000000..ab8c30b --- /dev/null +++ b/parsers/tree-sitter-usd @@ -0,0 +1 @@ +Subproject commit ab8c30bde2df0e58c4b3f01f220fb0125ecb57a7 diff --git a/parsers/tree-sitter-uxntal b/parsers/tree-sitter-uxntal new file mode 160000 index 0000000..4c5ecd6 --- /dev/null +++ b/parsers/tree-sitter-uxntal @@ -0,0 +1 @@ +Subproject commit 4c5ecd6326ebd61f6f9a22a370cbd100e0d601da diff --git a/parsers/tree-sitter-vala b/parsers/tree-sitter-vala new file mode 160000 index 0000000..8f690bf --- /dev/null +++ b/parsers/tree-sitter-vala @@ -0,0 +1 @@ +Subproject commit 8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b diff --git a/parsers/tree-sitter-verilog b/parsers/tree-sitter-verilog new file mode 160000 index 0000000..2dfddfc --- /dev/null +++ b/parsers/tree-sitter-verilog @@ -0,0 +1 @@ +Subproject commit 2dfddfcb891f74a1cdb9d8ce480a997d11846e17 diff --git a/parsers/tree-sitter-vhs b/parsers/tree-sitter-vhs new file mode 160000 index 0000000..9534865 --- /dev/null +++ b/parsers/tree-sitter-vhs @@ -0,0 +1 @@ +Subproject commit 9534865e614c95eb9418e5e73f061c32fa4d9540 diff --git a/parsers/tree-sitter-vim b/parsers/tree-sitter-vim new file mode 160000 index 0000000..052279c --- /dev/null +++ b/parsers/tree-sitter-vim @@ -0,0 +1 @@ +Subproject commit 052279cd5e1d73b075640c64cef97e7bdcd32611 diff --git a/parsers/tree-sitter-vimdoc b/parsers/tree-sitter-vimdoc new file mode 160000 index 0000000..a75a932 --- /dev/null +++ b/parsers/tree-sitter-vimdoc @@ -0,0 +1 @@ +Subproject commit a75a932449675bbd260213a95f4cd8b3193286f0 diff --git a/parsers/tree-sitter-vue b/parsers/tree-sitter-vue new file mode 160000 index 0000000..7e48557 --- /dev/null +++ b/parsers/tree-sitter-vue @@ -0,0 +1 @@ +Subproject commit 7e48557b903a9db9c38cea3b7839ef7e1f36c693 diff --git a/parsers/tree-sitter-wgsl b/parsers/tree-sitter-wgsl new file mode 160000 index 0000000..40259f3 --- /dev/null +++ b/parsers/tree-sitter-wgsl @@ -0,0 +1 @@ +Subproject commit 40259f3c77ea856841a4e0c4c807705f3e4a2b65 diff --git a/parsers/tree-sitter-xcompose b/parsers/tree-sitter-xcompose new file mode 160000 index 0000000..2383cc6 --- /dev/null +++ b/parsers/tree-sitter-xcompose @@ -0,0 +1 @@ +Subproject commit 2383cc69a2c42cfade41c7cb971fb3862bec6df1 diff --git a/parsers/tree-sitter-xml b/parsers/tree-sitter-xml new file mode 160000 index 0000000..2282ad5 --- /dev/null +++ b/parsers/tree-sitter-xml @@ -0,0 +1 @@ +Subproject commit 2282ad5cb8e815523e70d5c82404620bd9a1494c diff --git a/parsers/tree-sitter-yaml b/parsers/tree-sitter-yaml new file mode 160000 index 0000000..3975596 --- /dev/null +++ b/parsers/tree-sitter-yaml @@ -0,0 +1 @@ +Subproject commit 3975596d84650e8d8ab8ef3128b1b7f0fec324f8 diff --git a/parsers/tree-sitter-yuck b/parsers/tree-sitter-yuck new file mode 160000 index 0000000..c348825 --- /dev/null +++ b/parsers/tree-sitter-yuck @@ -0,0 +1 @@ +Subproject commit c348825d3f86dec71dee0e1223c6bd73114e3579 diff --git a/parsers/tree-sitter-zathurarc b/parsers/tree-sitter-zathurarc new file mode 160000 index 0000000..aad4302 --- /dev/null +++ b/parsers/tree-sitter-zathurarc @@ -0,0 +1 @@ +Subproject commit aad4302fb5a5176004b688fcab4ae7dcf36bf49a diff --git a/parsers/tree-sitter-zig b/parsers/tree-sitter-zig new file mode 160000 index 0000000..0d08703 --- /dev/null +++ b/parsers/tree-sitter-zig @@ -0,0 +1 @@ +Subproject commit 0d08703e4c3f426ec61695d7617415fff97029bd diff --git a/parsers/v-analyzer b/parsers/v-analyzer new file mode 160000 index 0000000..7828291 --- /dev/null +++ b/parsers/v-analyzer @@ -0,0 +1 @@ +Subproject commit 78282918559ab0d8981d6366f2f1100f3102e540 diff --git a/parsers/wing b/parsers/wing new file mode 160000 index 0000000..71e8fc7 --- /dev/null +++ b/parsers/wing @@ -0,0 +1 @@ +Subproject commit 71e8fc75dd0a9da97b9d41fa5fccd213d5471acd diff --git a/src/lib.rs b/src/lib.rs index 38baeaf..8758b96 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,6 +2,7 @@ use tera::Tera; pub mod markdown; pub mod page_gen; +pub mod syntax; pub trait TemplateRenderer { fn render_template(&self, tera: &Tera) -> anyhow::Result; diff --git a/src/main.rs b/src/main.rs index aec2bad..42532ee 100644 --- a/src/main.rs +++ b/src/main.rs @@ -28,7 +28,7 @@ struct Args { } fn main() -> anyhow::Result<()> { - let comrak_settings = blog::markdown::MDComrakSettings::default().unwrap(); + let comrak_settings = blog::markdown::MDComrakSettings::new().unwrap(); let posts_dir = PathBuf::from(concat!(env!("CARGO_MANIFEST_DIR"), "/posts/")); let posts_walkable = std::fs::read_dir(&posts_dir).context("Unable to read posts directory!")?; diff --git a/src/markdown/mod.rs b/src/markdown/mod.rs index fe20bf6..1fbd676 100644 --- a/src/markdown/mod.rs +++ b/src/markdown/mod.rs @@ -8,6 +8,8 @@ use lazy_static::lazy_static; use std::io::{Cursor, Write}; use syntect::{highlighting::ThemeSet, parsing::SyntaxSet}; +use crate::syntax::tree_sitter_adapter::TreesitterSyntaxAdapter; + pub mod article; lazy_static! { @@ -19,6 +21,9 @@ lazy_static! { ))) ) .expect("Unable to load custom syntax theme!"); + pub static ref TESTERTHANG: TreesitterSyntaxAdapter = + TreesitterSyntaxAdapter::new(concat!(env!("CARGO_MANIFEST_DIR"), "/parsers/").into()) + .expect("Unable to load custom syntax theme!"); } pub fn iter_nodes<'a, F>(node: &'a AstNode<'a>, f: &mut F) @@ -68,9 +73,10 @@ pub struct MDComrakSettings<'a> { } impl MDComrakSettings<'_> { - pub fn default<'a>() -> anyhow::Result> { + pub fn new<'a>() -> anyhow::Result> { let mut options = ComrakOptions::default(); - options.render.unsafe_ = true; + // options.render.unsafe_ = true; + // options.render.escape = true; options.extension.front_matter_delimiter = Some("---".to_owned()); options.extension.autolink = true; options.extension.table = true; @@ -79,7 +85,8 @@ impl MDComrakSettings<'_> { options.extension.footnotes = true; let mut plugins = ComrakPlugins::default(); - plugins.render.codefence_syntax_highlighter = Some(&*SYNTECT_ADAPTER); + // plugins.render.codefence_syntax_highlighter = Some(&*SYNTECT_ADAPTER); + plugins.render.codefence_syntax_highlighter = Some(&*TESTERTHANG); plugins.render.heading_adapter = Some(&HeaderLinkAdapter); Ok(MDComrakSettings { options, plugins }) diff --git a/src/syntax/mod.rs b/src/syntax/mod.rs new file mode 100644 index 0000000..0277f4e --- /dev/null +++ b/src/syntax/mod.rs @@ -0,0 +1 @@ +pub mod tree_sitter_adapter; diff --git a/src/tree_sitter_adapter.rs b/src/syntax/tree_sitter_adapter.rs similarity index 80% rename from src/tree_sitter_adapter.rs rename to src/syntax/tree_sitter_adapter.rs index b36ad65..b239f55 100644 --- a/src/tree_sitter_adapter.rs +++ b/src/syntax/tree_sitter_adapter.rs @@ -16,7 +16,7 @@ use std::{ collections::HashMap, convert, io::{self, Write}, - path::PathBuf, + path::{Path, PathBuf}, }; use anyhow::Context; @@ -34,12 +34,11 @@ impl TreesitterSyntaxAdapter { Ok(TreesitterSyntaxAdapter { parsers_directory }) } - pub fn get_loader(parsers_directory: &PathBuf) -> anyhow::Result { + pub fn get_loader(parsers_directory: &Path) -> anyhow::Result { Loader::new() .and_then(|mut loader| { let config = { - let parsers_directory = parsers_directory.clone(); - let parser_directories = vec![parsers_directory]; + let parser_directories = vec![parsers_directory.to_path_buf()]; Config { parser_directories } }; loader.find_all_languages(&config)?; @@ -71,7 +70,7 @@ impl TreesitterSyntaxAdapter { scope: &'a str, ) -> anyhow::Result<&'a HighlightConfiguration> { config - .highlight_config(language) + .highlight_config(language, None) .transpose() .with_context(|| { format!("Failed to retrieve Treesitter highlights for language: '{scope}'") @@ -88,10 +87,10 @@ impl TreesitterSyntaxAdapter { ) -> anyhow::Result< impl Iterator> + 'a, > { - let (language, lang_config) = Self::get_language_config(&loader, code_lang)?; + let (language, lang_config) = Self::get_language_config(loader, code_lang)?; let highlight_config = Self::get_highlight_configuration(language, lang_config, code_lang)?; let highlights = - highlighter.highlight(&highlight_config, code.as_bytes(), None, |lang| { + highlighter.highlight(highlight_config, code.as_bytes(), None, |lang| { loader.highlight_config_for_injection_string(lang) })?; // loader.configure_highlights(&highlight_config.names().to_vec()); @@ -100,9 +99,7 @@ impl TreesitterSyntaxAdapter { } pub fn determine_ts_scope_name(code_lang: &str) -> String { - match code_lang { - _ => format!("source.{}", code_lang), - } + format!("source.{}", code_lang) } } @@ -113,37 +110,44 @@ impl SyntaxHighlighterAdapter for TreesitterSyntaxAdapter { lang: Option<&str>, code: &str, ) -> io::Result<()> { + let mut raw_block = || { + comrak::html::escape( + output, + code.as_bytes() + ) + }; let scope = if let Some(lang) = lang { if lang.is_empty() { + raw_block()?; return Ok(()); } TreesitterSyntaxAdapter::determine_ts_scope_name(lang) } else { + raw_block()?; return Ok(()); }; let loader = TreesitterSyntaxAdapter::get_loader(&self.parsers_directory).unwrap(); let mut highlighter = Highlighter::new(); - let highlights = self - .get_highlights(&loader, &mut highlighter, code, scope.as_str()) - .unwrap(); + if let Ok(highlights) = self.get_highlights(&loader, &mut highlighter, code, scope.as_str()) + { + let highlight_names = loader.highlight_names(); - let highlight_names = loader.highlight_names(); - println!("AT LANGUAGE -> {}", scope); - println!("HIGHLIGHTS: {:#?}", highlight_names); - - for event in highlights { - match event.unwrap() { - HighlightEvent::Source { start, end } => { - write!(output, "{}", String::from(&code[start..end]))? + for event in highlights { + match event.unwrap() { + HighlightEvent::Source { start, end } => { + comrak::html::escape(output, code[start..end].as_bytes())?; + } + HighlightEvent::HighlightStart(s) => write!( + output, + "", + highlight_names[s.0].replace('.', "-"), + )?, + HighlightEvent::HighlightEnd => write!(output, "")?, } - HighlightEvent::HighlightStart(s) => write!( - output, - "", - highlight_names[s.0].replace(".", "-") - )?, - HighlightEvent::HighlightEnd => write!(output, "")?, } + } else { + raw_block()?; } Ok(())