summary refs log tree commit diff
path: root/pkgs/applications/editors
diff options
context:
space:
mode:
authorfigsoda <figsoda@pm.me>2022-10-30 01:27:25 -0400
committerfigsoda <figsoda@pm.me>2022-10-31 09:44:02 -0400
commitca846a348f8a112498082f06372fdb966cfb60b5 (patch)
tree11ecf4c39bce1baf4cc4a5cccb0d145a92ec0c5f /pkgs/applications/editors
parentea41661652b3d032662accd26d03ddc4df9b0ee1 (diff)
downloadnixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.tar
nixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.tar.gz
nixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.tar.bz2
nixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.tar.lz
nixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.tar.xz
nixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.tar.zst
nixpkgs-ca846a348f8a112498082f06372fdb966cfb60b5.zip
vimPlugins.nvim-treesitter: add tree sitter grammars
Diffstat (limited to 'pkgs/applications/editors')
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix1374
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix38
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix17
-rwxr-xr-xpkgs/applications/editors/vim/plugins/nvim-treesitter/update.py123
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix22
5 files changed, 1556 insertions, 18 deletions
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
new file mode 100644
index 00000000000..e818eff764a
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -0,0 +1,1374 @@
+# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
+
+{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit, nodejs, tree-sitter }:
+
+{
+  agda = buildGrammar {
+    language = "agda";
+    version = "80ea622";
+    source = fetchFromGitHub {
+      owner = "AusCyberman";
+      repo = "tree-sitter-agda";
+      rev = "80ea622cf952a0059e168e5c92a798b2f1925652";
+      hash = "sha256-D63jvITL2RA8yg/TBSi6GsOxwLKzSHibbm3hwIKzesU=";
+    };
+  };
+  astro = buildGrammar {
+    language = "astro";
+    version = "947e930";
+    source = fetchFromGitHub {
+      owner = "virchau13";
+      repo = "tree-sitter-astro";
+      rev = "947e93089e60c66e681eba22283f4037841451e7";
+      hash = "sha256-q1ni++SPbq5y+47fPb6TryMw86gpULwNcXwi5yjXCWI=";
+    };
+  };
+  bash = buildGrammar {
+    language = "bash";
+    version = "f1a86d3";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-bash";
+      rev = "f1a86d3cc5aeeb67e0e52442e893af7f813025b4";
+      hash = "sha256-zzHA+kGw67WFyPVFRWRyKmhAjxp5jkv0K2yhGxNfFM4=";
+    };
+  };
+  beancount = buildGrammar {
+    language = "beancount";
+    version = "4cbd1f0";
+    source = fetchFromGitHub {
+      owner = "polarmutex";
+      repo = "tree-sitter-beancount";
+      rev = "4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c";
+      hash = "sha256-Uh9/yBYXNKBvdpqNv1kr5eREYmKy3Z/kvaSZQpUl+0U=";
+    };
+  };
+  bibtex = buildGrammar {
+    language = "bibtex";
+    version = "ccfd77d";
+    source = fetchFromGitHub {
+      owner = "latex-lsp";
+      repo = "tree-sitter-bibtex";
+      rev = "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34";
+      hash = "sha256-wgduSxlpbJy/ITenBLfj5lhziUM1BApX6MjXhWcb7lQ=";
+    };
+  };
+  blueprint = buildGrammar {
+    language = "blueprint";
+    version = "6ef91ca";
+    source = fetchFromGitLab {
+      owner = "gabmus";
+      repo = "tree-sitter-blueprint";
+      rev = "6ef91ca8270f0112b9c6d27ecb9966c741a5d103";
+      hash = "sha256-E7SWUWQFlFWXfmdqNXt2eKkvFusnBUILHerQEFj2JTg=";
+    };
+  };
+  c = buildGrammar {
+    language = "c";
+    version = "7175a6d";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-c";
+      rev = "7175a6dd5fc1cee660dce6fe23f6043d75af424a";
+      hash = "sha256-G9kVqX8walvpI7gPvPzS8g7X8RVM9y5wJHGOcyjJA/A=";
+    };
+  };
+  c_sharp = buildGrammar {
+    language = "c_sharp";
+    version = "5b60f99";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-c-sharp";
+      rev = "5b60f99545fea00a33bbfae5be956f684c4c69e2";
+      hash = "sha256-4R6+15ZbtC/LtSHpk7DqcMiFYjht+062Av31spK07rc=";
+    };
+  };
+  clojure = buildGrammar {
+    language = "clojure";
+    version = "087bac7";
+    source = fetchFromGitHub {
+      owner = "sogaiu";
+      repo = "tree-sitter-clojure";
+      rev = "087bac78c53fe1387756cd5b8e68a69b3f6d7244";
+      hash = "sha256-KiuSAchtqlVlwyBL4rU+p0fPjm52DrNDPq2ETVXOHQU=";
+    };
+  };
+  cmake = buildGrammar {
+    language = "cmake";
+    version = "6e51463";
+    source = fetchFromGitHub {
+      owner = "uyha";
+      repo = "tree-sitter-cmake";
+      rev = "6e51463ef3052dd3b328322c22172eda093727ad";
+      hash = "sha256-2xJaDgrCJQ2obGYvhsHk2/2p8lFNwuScjbjdxJihh5I=";
+    };
+  };
+  comment = buildGrammar {
+    language = "comment";
+    version = "a37ca37";
+    source = fetchFromGitHub {
+      owner = "stsewd";
+      repo = "tree-sitter-comment";
+      rev = "a37ca370310ac6f89b6e0ebf2b86b2219780494e";
+      hash = "sha256-wiFY2uMNv8Wet3qKh0bSe8FSO1sjGu1uTOBxnt/HHHg=";
+    };
+  };
+  commonlisp = buildGrammar {
+    language = "commonlisp";
+    version = "c7e8149";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-commonlisp";
+      rev = "c7e814975ab0d0d04333d1f32391c41180c58919";
+      hash = "sha256-63B9d5feHzwY7WDoeoPAwsuLYgVvoGQf0wkUdDO/A8M=";
+    };
+  };
+  cooklang = buildGrammar {
+    language = "cooklang";
+    version = "5e11341";
+    source = fetchFromGitHub {
+      owner = "addcninblue";
+      repo = "tree-sitter-cooklang";
+      rev = "5e113412aadb78955c27010daa4dbe1d202013cf";
+      hash = "sha256-Ny55gdN+3o7bFJEnXvctstl6gjqkwrp1uE33OobyH7U=";
+    };
+  };
+  cpp = buildGrammar {
+    language = "cpp";
+    version = "5ead1e2";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-cpp";
+      rev = "5ead1e26c6ab71919db0f1880c46a278a93bc5ea";
+      hash = "sha256-h6mJdmQzJlxYIcY+d5IiaFghraUgBGZwqFPKwB3E4pQ=";
+    };
+  };
+  css = buildGrammar {
+    language = "css";
+    version = "769203d";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-css";
+      rev = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51";
+      hash = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
+    };
+  };
+  cuda = buildGrammar {
+    language = "cuda";
+    version = "7f1a79e";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-cuda";
+      rev = "7f1a79e612160aa02be87f1a24469ae3655fe818";
+      hash = "sha256-zBlv/KyUPNHRA8fKWaDgCeE1AX3EYTkwjo/RYHaKjK0=";
+    };
+  };
+  d = buildGrammar {
+    language = "d";
+    version = "c2fbf21";
+    source = fetchFromGitHub {
+      owner = "CyberShadow";
+      repo = "tree-sitter-d";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "c2fbf21bd3aa45495fe13247e040ad5815250032";
+      hash = "sha256-JOCS72Ux1FMzf6kBVO7aqHNwJ0s3xkhzIFFV9GjJVOs=";
+    };
+  };
+  dart = buildGrammar {
+    language = "dart";
+    version = "53485a8";
+    source = fetchFromGitHub {
+      owner = "UserNobody14";
+      repo = "tree-sitter-dart";
+      rev = "53485a8f301254e19c518aa20c80f1bcf7cf5c62";
+      hash = "sha256-1IcvFcxIkcrOuq6bypD08PeYw6J/pL/MbYPt+dKHQbc=";
+    };
+  };
+  devicetree = buildGrammar {
+    language = "devicetree";
+    version = "ea30a05";
+    source = fetchFromGitHub {
+      owner = "joelspadin";
+      repo = "tree-sitter-devicetree";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "ea30a05d0f0446a96d8b096ad11828ad4f8ad849";
+      hash = "sha256-AZ0MAGVfeVhRHEbiqQrDpKzZsb9AMHBXC9uOJVla2fk=";
+    };
+  };
+  diff = buildGrammar {
+    language = "diff";
+    version = "330eb64";
+    source = fetchFromGitHub {
+      owner = "the-mikedavis";
+      repo = "tree-sitter-diff";
+      rev = "330eb648bbc257b4e91621e82a85372be7dde27a";
+      hash = "sha256-WK6pEUvIu6Xwsy5RuuUyNWLuSKkNkWh5R0hmyksIu8k=";
+    };
+  };
+  dockerfile = buildGrammar {
+    language = "dockerfile";
+    version = "25c71d6";
+    source = fetchFromGitHub {
+      owner = "camdencheek";
+      repo = "tree-sitter-dockerfile";
+      rev = "25c71d6a24cdba8f0c74ef40d4d2d93defd7e196";
+      hash = "sha256-Y6RvFXKryFH+NF87YKa8QIgB+Dh871cfuM/em0b4ks4=";
+    };
+  };
+  dot = buildGrammar {
+    language = "dot";
+    version = "9ab8555";
+    source = fetchFromGitHub {
+      owner = "rydesun";
+      repo = "tree-sitter-dot";
+      rev = "9ab85550c896d8b294d9b9ca1e30698736f08cea";
+      hash = "sha256-w4DInIT7mkTvQ6Hmi8yaAww6ktyNgRz0tPfBLGnOawQ=";
+    };
+  };
+  eex = buildGrammar {
+    language = "eex";
+    version = "f742f2f";
+    source = fetchFromGitHub {
+      owner = "connorlay";
+      repo = "tree-sitter-eex";
+      rev = "f742f2fe327463335e8671a87c0b9b396905d1d1";
+      hash = "sha256-UPq62MkfGFh9m/UskoB9uBDIYOcotITCJXDyrbg/wKY=";
+    };
+  };
+  elixir = buildGrammar {
+    language = "elixir";
+    version = "b20eaa7";
+    source = fetchFromGitHub {
+      owner = "elixir-lang";
+      repo = "tree-sitter-elixir";
+      rev = "b20eaa75565243c50be5e35e253d8beb58f45d56";
+      hash = "sha256-BxFqSZIrDQFMCl+t88/j6ykpdD+ag5uIIWLrEWcHDMQ=";
+    };
+  };
+  elm = buildGrammar {
+    language = "elm";
+    version = "28bb193";
+    source = fetchFromGitHub {
+      owner = "elm-tooling";
+      repo = "tree-sitter-elm";
+      rev = "28bb193640d916dfaf947912c1413cebb0484841";
+      hash = "sha256-Ijw9Ov8+IBLl0fQlkuH6rQ6E7tlKeD+huj0GZdz6XH8=";
+    };
+  };
+  elvish = buildGrammar {
+    language = "elvish";
+    version = "f32711e";
+    source = fetchFromGitHub {
+      owner = "ckafi";
+      repo = "tree-sitter-elvish";
+      rev = "f32711e31e987fd5c2c002f3daba02f25c68672f";
+      hash = "sha256-/3npcIfTH8w5ekLTb//ZCTxuSGhOXkUBaCq3WWcK2J4=";
+    };
+  };
+  embedded_template = buildGrammar {
+    language = "embedded_template";
+    version = "1a538da";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-embedded-template";
+      rev = "1a538da253d73f896b9f6c0c7d79cda58791ac5c";
+      hash = "sha256-vebevlTAISkHhNcv89tzSXJX3DsGakxWaxxmv9KU40g=";
+    };
+  };
+  erlang = buildGrammar {
+    language = "erlang";
+    version = "3a9c769";
+    source = fetchFromGitHub {
+      owner = "AbstractMachinesLab";
+      repo = "tree-sitter-erlang";
+      rev = "3a9c769444f08bbccce03845270efac0c641c5e7";
+      hash = "sha256-ZsjHTNUfTEPo3Wb1ihW0M2YTWK6mpNhxQG/nLfMaG4I=";
+    };
+  };
+  fennel = buildGrammar {
+    language = "fennel";
+    version = "5171959";
+    source = fetchFromGitHub {
+      owner = "travonted";
+      repo = "tree-sitter-fennel";
+      rev = "517195970428aacca60891b050aa53eabf4ba78d";
+      hash = "sha256-7bmrLJunNAus8XbBcBiTS5enhSzZ1mecAAyqlZUtSgo=";
+    };
+  };
+  fish = buildGrammar {
+    language = "fish";
+    version = "84436cf";
+    source = fetchFromGitHub {
+      owner = "ram02z";
+      repo = "tree-sitter-fish";
+      rev = "84436cf24c2b3176bfbb220922a0fdbd0141e406";
+      hash = "sha256-oJuCd+2mTCEP/rNQzweShc7TZiqwKBIDRQqnV8VqQ4s=";
+    };
+  };
+  foam = buildGrammar {
+    language = "foam";
+    version = "fdb7f14";
+    source = fetchFromGitHub {
+      owner = "FoamScience";
+      repo = "tree-sitter-foam";
+      rev = "fdb7f14b885abfc4df57728c9b2a2f2ad24d3cb7";
+      hash = "sha256-E5Fr8185ypZbkaGIDE9lhQ0Vf1Dphx7n5suNkK0AFHU=";
+    };
+  };
+  fortran = buildGrammar {
+    language = "fortran";
+    version = "f0f2f10";
+    source = fetchFromGitHub {
+      owner = "stadelmanma";
+      repo = "tree-sitter-fortran";
+      rev = "f0f2f100952a353e64e26b0fa710b4c296d7af13";
+      hash = "sha256-ylQLalRFqRu5N/lUxvwOds/UbLH2JJ7T/rOpo9H4MZ4=";
+    };
+  };
+  fusion = buildGrammar {
+    language = "fusion";
+    version = "19db2f4";
+    source = fetchFromGitLab {
+      owner = "jirgn";
+      repo = "tree-sitter-fusion";
+      rev = "19db2f47ba4c3a0f6238d4ae0e2abfca16e61dd6";
+      hash = "sha256-195q39pZYipT0G08kQlwnDE28ODjAz2/Sq1tzpEGFmU=";
+    };
+  };
+  gdscript = buildGrammar {
+    language = "gdscript";
+    version = "2a6abda";
+    source = fetchFromGitHub {
+      owner = "PrestonKnopp";
+      repo = "tree-sitter-gdscript";
+      rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6";
+      hash = "sha256-YDLPYwWHnwqj7CpgUKRXQYj2a6ZJUKc0bcalVSJ99Ew=";
+    };
+  };
+  git_rebase = buildGrammar {
+    language = "git_rebase";
+    version = "127f5b5";
+    source = fetchFromGitHub {
+      owner = "the-mikedavis";
+      repo = "tree-sitter-git-rebase";
+      rev = "127f5b56c1ad3e8a449a7d6e0c7412ead7f7724c";
+      hash = "sha256-4XGQTrflV+txVjXbgaQSd6rFES8TkuiXEurJLBdg59E=";
+    };
+  };
+  gitattributes = buildGrammar {
+    language = "gitattributes";
+    version = "cee9f88";
+    source = fetchFromGitHub {
+      owner = "ObserverOfTime";
+      repo = "tree-sitter-gitattributes";
+      rev = "cee9f8865694b29bb9e85e0b90805f92ad3fc47e";
+      hash = "sha256-Ne9D4c58AWvZz/2ytP0lJzKIss2hJtZFgSKsot9MOJE=";
+    };
+  };
+  gitignore = buildGrammar {
+    language = "gitignore";
+    version = "f4685bf";
+    source = fetchFromGitHub {
+      owner = "shunsambongi";
+      repo = "tree-sitter-gitignore";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504";
+      hash = "sha256-Jv/DMHq5wE9avZgaVg8dSgoDgzl50u0TEj8pITQ3iBc=";
+    };
+  };
+  gleam = buildGrammar {
+    language = "gleam";
+    version = "cfcbca3";
+    source = fetchFromGitHub {
+      owner = "J3RN";
+      repo = "tree-sitter-gleam";
+      rev = "cfcbca3f8f734773878e00d7bfcedea98eb10be2";
+      hash = "sha256-lwaTlIIh4jA92ECMuxV7NtebKrjJSNoXtCe90YIQ4eE=";
+    };
+  };
+  glimmer = buildGrammar {
+    language = "glimmer";
+    version = "abcc997";
+    source = fetchFromGitHub {
+      owner = "alexlafroscia";
+      repo = "tree-sitter-glimmer";
+      rev = "abcc9970da0ed0645741bf52ea70232374bc9e52";
+      hash = "sha256-kkNnyaAXeZJ770Jl4mmOdyXvq6bQd/9Q6eVyr+JV2jY=";
+    };
+  };
+  glsl = buildGrammar {
+    language = "glsl";
+    version = "a743ada";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-glsl";
+      rev = "a743ada24fa17da9acc5665133f07d56e03530be";
+      hash = "sha256-l2t2U4fZYMMpc1Nkv8JODtDny0/kSUsbiJ/VVD5VyhI=";
+    };
+  };
+  go = buildGrammar {
+    language = "go";
+    version = "05900fa";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-go";
+      rev = "05900faa3cdb5d2d8c8bd5e77ee698487e0a8611";
+      hash = "sha256-f885YTswEDH/QfRPUxcLp/1E2zXLKl25R9IyTGKb1eM=";
+    };
+  };
+  godot_resource = buildGrammar {
+    language = "godot_resource";
+    version = "b6ef076";
+    source = fetchFromGitHub {
+      owner = "PrestonKnopp";
+      repo = "tree-sitter-godot-resource";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "b6ef0768711086a86b3297056f9ffb5cc1d77b4a";
+      hash = "sha256-u3YcGCtFV0Kz6+604XJQOXiqncgU8LBVKROOiVMZrC0=";
+    };
+  };
+  gomod = buildGrammar {
+    language = "gomod";
+    version = "4a65743";
+    source = fetchFromGitHub {
+      owner = "camdencheek";
+      repo = "tree-sitter-go-mod";
+      rev = "4a65743dbc2bb3094114dd2b43da03c820aa5234";
+      hash = "sha256-znvUD/xqwSUeHCDxwXIgPXiB94bY1wEOjRQSvURcdME=";
+    };
+  };
+  gowork = buildGrammar {
+    language = "gowork";
+    version = "949a8a4";
+    source = fetchFromGitHub {
+      owner = "omertuc";
+      repo = "tree-sitter-go-work";
+      rev = "949a8a470559543857a62102c84700d291fc984c";
+      hash = "sha256-Tode7W05xaOKKD5QOp3rayFgLEOiMJUeGpVsIrizxto=";
+    };
+  };
+  graphql = buildGrammar {
+    language = "graphql";
+    version = "5e66e96";
+    source = fetchFromGitHub {
+      owner = "bkegley";
+      repo = "tree-sitter-graphql";
+      rev = "5e66e961eee421786bdda8495ed1db045e06b5fe";
+      hash = "sha256-NvE9Rpdp4sALqKSRWJpqxwl6obmqnIIdvrL1nK5peXc=";
+    };
+  };
+  hack = buildGrammar {
+    language = "hack";
+    version = "b7bd692";
+    source = fetchFromGitHub {
+      owner = "slackhq";
+      repo = "tree-sitter-hack";
+      rev = "b7bd6928532ada34dddb1dece4a158ab62c6e783";
+      hash = "sha256-TSbi4Ik/AjswuIdTaFfJ53S0c/qfq0JYPzVv07JASmc=";
+    };
+  };
+  haskell = buildGrammar {
+    language = "haskell";
+    version = "bee6b49";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-haskell";
+      rev = "bee6b49543e34c2967c6294a4b05e8bd2bf2da59";
+      hash = "sha256-/6WsOONbKS/5xM5xKa5i8LuWWkWiXZiLnOpvayj1Nxk=";
+    };
+  };
+  hcl = buildGrammar {
+    language = "hcl";
+    version = "45ce22c";
+    source = fetchFromGitHub {
+      owner = "MichaHoffmann";
+      repo = "tree-sitter-hcl";
+      rev = "45ce22c16ec924e34517cf785e23c07952e45893";
+      hash = "sha256-SczU8y70mdqDl2iVKTfD8Taq580x31xMswUhoU48yfE=";
+    };
+  };
+  heex = buildGrammar {
+    language = "heex";
+    version = "52b804b";
+    source = fetchFromGitHub {
+      owner = "connorlay";
+      repo = "tree-sitter-heex";
+      rev = "52b804b1cb2d57e58d90090326d3ef9bd19cf16c";
+      hash = "sha256-fuxvX0AM9FEXVdpXu9/H6y7N+S+q6X/QYuLqKdb8PGI=";
+    };
+  };
+  help = buildGrammar {
+    language = "help";
+    version = "8df3266";
+    source = fetchFromGitHub {
+      owner = "neovim";
+      repo = "tree-sitter-vimdoc";
+      rev = "8df3266b423d24c9ac3f3b4b9928e65eb1e5e741";
+      hash = "sha256-t9SHuymK5pYlryWGpORGPYLgPZ3xBx0XH69s5RtRnEI=";
+    };
+  };
+  hjson = buildGrammar {
+    language = "hjson";
+    version = "02fa3b7";
+    source = fetchFromGitHub {
+      owner = "winston0410";
+      repo = "tree-sitter-hjson";
+      rev = "02fa3b79b3ff9a296066da6277adfc3f26cbc9e0";
+      hash = "sha256-NsTf3DR3gHVMYZDmTNvThB5bJcDwTcJ1+3eJhvsiDn8=";
+    };
+  };
+  hlsl = buildGrammar {
+    language = "hlsl";
+    version = "384b26e";
+    source = fetchFromGitHub {
+      owner = "theHamsta";
+      repo = "tree-sitter-hlsl";
+      rev = "384b26ec65e10f26cf147bfcde772c50ca5ef0d0";
+      hash = "sha256-f6jKhC1vPpNTY0Rv1WMdJMNXRFiLsCApy/kIv7CBesA=";
+    };
+  };
+  hocon = buildGrammar {
+    language = "hocon";
+    version = "bb412e2";
+    source = fetchFromGitHub {
+      owner = "antosha417";
+      repo = "tree-sitter-hocon";
+      rev = "bb412e2633f4a3611a4e16efe58d917093bb4782";
+      hash = "sha256-ujVznEMWnhUjWZS+LAZZYba1Ybs2oLg/iCHPba1TZcQ=";
+    };
+  };
+  html = buildGrammar {
+    language = "html";
+    version = "29f53d8";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-html";
+      rev = "29f53d8f4f2335e61bf6418ab8958dac3282077a";
+      hash = "sha256-v84N9erFL+QMoxh1dtfVdAJ5iTCoiFcT3kQ2+yq8TXE=";
+    };
+  };
+  http = buildGrammar {
+    language = "http";
+    version = "30a9c17";
+    source = fetchFromGitHub {
+      owner = "rest-nvim";
+      repo = "tree-sitter-http";
+      rev = "30a9c1789d64429a830802cde5b1760ff1064312";
+      hash = "sha256-XpKw6v6fnowdJmoIZGn3N1r9JXdJnNifgj+DPNFuoz0=";
+    };
+  };
+  java = buildGrammar {
+    language = "java";
+    version = "09d650d";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-java";
+      rev = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e";
+      hash = "sha256-tGBi6gJJIPpp6oOwmAQdqBD6eaJRBRcYbWtm1BHsgBA=";
+    };
+  };
+  javascript = buildGrammar {
+    language = "javascript";
+    version = "936d976";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-javascript";
+      rev = "936d976a782e75395d9b1c8c7c7bf4ba6fe0d86b";
+      hash = "sha256-uZW1L9ZE1YSZbwxiqSDiKycWv5mSRG4k4MlWFYoWRbw=";
+    };
+  };
+  jsdoc = buildGrammar {
+    language = "jsdoc";
+    version = "189a6a4";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-jsdoc";
+      rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db";
+      hash = "sha256-Zhl9mEpJE9Qy3MVScE2JK4i8OFZUXl5KMhKMS4bw+mI=";
+    };
+  };
+  json = buildGrammar {
+    language = "json";
+    version = "7307675";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-json";
+      rev = "73076754005a460947cafe8e03a8cf5fa4fa2938";
+      hash = "sha256-wbE7CQ6l1wlhJdAoDVAj1QzyvlYnevbrlVCO0TMU7to=";
+    };
+  };
+  json5 = buildGrammar {
+    language = "json5";
+    version = "5dd5cdc";
+    source = fetchFromGitHub {
+      owner = "Joakker";
+      repo = "tree-sitter-json5";
+      rev = "5dd5cdc418d9659682556b6adca2dd9ace0ac6d2";
+      hash = "sha256-B3wZS/OtW4hKOHsoYdYK2zsJGID8fuIm8C+IuAteR9E=";
+    };
+  };
+  jsonc = buildGrammar {
+    language = "jsonc";
+    version = "02b0165";
+    source = fetchFromGitLab {
+      owner = "WhyNotHugo";
+      repo = "tree-sitter-jsonc";
+      rev = "02b01653c8a1c198ae7287d566efa86a135b30d5";
+      hash = "sha256-iWc2ePRiQnZ0FEdMAaAwa3iYt/SY0bEjQrZyqE9EhlU=";
+    };
+  };
+  jsonnet = buildGrammar {
+    language = "jsonnet";
+    version = "0475a50";
+    source = fetchFromGitHub {
+      owner = "sourcegraph";
+      repo = "tree-sitter-jsonnet";
+      rev = "0475a5017ad7dc84845d1d33187f2321abcb261d";
+      hash = "sha256-7LdIA+tsFUIvAk9GoqJwSU5tJDNPtsziv0rbiiLmCLY=";
+    };
+  };
+  julia = buildGrammar {
+    language = "julia";
+    version = "0572ceb";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-julia";
+      rev = "0572cebf7b8e8ef5990b4d1e7f44f0b36f62922c";
+      hash = "sha256-hN3wZJa7oXEUgdJfN0o2EoTYBsE1UZjGYfFYlGjjvO8=";
+    };
+  };
+  kotlin = buildGrammar {
+    language = "kotlin";
+    version = "a4f71eb";
+    source = fetchFromGitHub {
+      owner = "fwcd";
+      repo = "tree-sitter-kotlin";
+      rev = "a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569";
+      hash = "sha256-aRMqhmZKbKoggtBOgtFIq0xTP+PgeD3Qz6DPJsAFPRQ=";
+    };
+  };
+  lalrpop = buildGrammar {
+    language = "lalrpop";
+    version = "7744b56";
+    source = fetchFromGitHub {
+      owner = "traxys";
+      repo = "tree-sitter-lalrpop";
+      rev = "7744b56f03ac1e5643fad23c9dd90837fe97291e";
+      hash = "sha256-xz+D1lS/bpHHu2rJEjalpMajSKl3yn+bQI9JN0Bm7tU=";
+    };
+  };
+  latex = buildGrammar {
+    language = "latex";
+    version = "8c75e93";
+    source = fetchFromGitHub {
+      owner = "latex-lsp";
+      repo = "tree-sitter-latex";
+      rev = "8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6";
+      hash = "sha256-zkp4De2eBoOsPZRHHT3mIPVWFPYboTvn6AQ4AkwXhFE=";
+    };
+  };
+  ledger = buildGrammar {
+    language = "ledger";
+    version = "47b8971";
+    source = fetchFromGitHub {
+      owner = "cbarrete";
+      repo = "tree-sitter-ledger";
+      rev = "47b8971448ce5e9abac865f450c1b14fb3b6eee9";
+      hash = "sha256-Doz561oVrWkmUAL3VUTjraO+F0aDuahhBB+xXevTrkg=";
+    };
+  };
+  llvm = buildGrammar {
+    language = "llvm";
+    version = "e9948ed";
+    source = fetchFromGitHub {
+      owner = "benwilliamgraham";
+      repo = "tree-sitter-llvm";
+      rev = "e9948edc41e9e5869af99dddb2b5ff5cc5581af6";
+      hash = "sha256-M7smrjU+7L9a2kpz0wM+G+YQGTQaqsVL/Q+OCKlPpzQ=";
+    };
+  };
+  lua = buildGrammar {
+    language = "lua";
+    version = "887dfd4";
+    source = fetchFromGitHub {
+      owner = "MunifTanjim";
+      repo = "tree-sitter-lua";
+      rev = "887dfd4e83c469300c279314ff1619b1d0b85b91";
+      hash = "sha256-5i+UN6Es+K7KDD1qz3ZrVn8IfGdTswcISUyV2sGtY9M=";
+    };
+  };
+  m68k = buildGrammar {
+    language = "m68k";
+    version = "d097b12";
+    source = fetchFromGitHub {
+      owner = "grahambates";
+      repo = "tree-sitter-m68k";
+      rev = "d097b123f19c6eaba2bf181c05420d88b9fc489d";
+      hash = "sha256-y1nioJ2R0YgGLH7dkJsTxIkejfMnh1CU+A++yTaQdb0=";
+    };
+  };
+  make = buildGrammar {
+    language = "make";
+    version = "a4b9187";
+    source = fetchFromGitHub {
+      owner = "alemuller";
+      repo = "tree-sitter-make";
+      rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd";
+      hash = "sha256-qQqapnKKH5X8rkxbZG5PjnyxvnpyZHpFVi/CLkIn/x0=";
+    };
+  };
+  markdown = buildGrammar {
+    language = "markdown";
+    version = "272e080";
+    source = fetchFromGitHub {
+      owner = "MDeiml";
+      repo = "tree-sitter-markdown";
+      rev = "272e080bca0efd19a06a7f4252d746417224959e";
+      hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
+    };
+    location = "tree-sitter-markdown";
+
+  };
+  markdown_inline = buildGrammar {
+    language = "markdown_inline";
+    version = "272e080";
+    source = fetchFromGitHub {
+      owner = "MDeiml";
+      repo = "tree-sitter-markdown";
+      rev = "272e080bca0efd19a06a7f4252d746417224959e";
+      hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE=";
+    };
+    location = "tree-sitter-markdown-inline";
+
+  };
+  menhir = buildGrammar {
+    language = "menhir";
+    version = "db7953a";
+    source = fetchFromGitHub {
+      owner = "Kerl13";
+      repo = "tree-sitter-menhir";
+      rev = "db7953acb0d5551f207373c81fa07a57d7b085cb";
+      hash = "sha256-w/ibFZ4bMPPRTgTJFLQrAzMecykJFcrjJjekKMXwqSI=";
+    };
+  };
+  meson = buildGrammar {
+    language = "meson";
+    version = "153d225";
+    source = fetchFromGitHub {
+      owner = "Decodetalkers";
+      repo = "tree-sitter-meson";
+      rev = "153d22588fb5c1eee16a165a084f9ea30f29d941";
+      hash = "sha256-q0qcRe94+zFvNzZV6vGGihL5xLl8Vr0lwDZAIYKPq2A=";
+    };
+  };
+  nickel = buildGrammar {
+    language = "nickel";
+    version = "9d83db4";
+    source = fetchFromGitHub {
+      owner = "nickel-lang";
+      repo = "tree-sitter-nickel";
+      rev = "9d83db400b6c11260b9106f131f93ddda8131933";
+      hash = "sha256-Jv7GMm6TpJE8+0pG045rFWkW/9rkv1Pn/6ko2a0bpmY=";
+    };
+  };
+  ninja = buildGrammar {
+    language = "ninja";
+    version = "0a95cfd";
+    source = fetchFromGitHub {
+      owner = "alemuller";
+      repo = "tree-sitter-ninja";
+      rev = "0a95cfdc0745b6ae82f60d3a339b37f19b7b9267";
+      hash = "sha256-e/LpQUL3UHHko4QvMeT40LCvPZRT7xTGZ9z1Zaboru4=";
+    };
+  };
+  nix = buildGrammar {
+    language = "nix";
+    version = "6b71a81";
+    source = fetchFromGitHub {
+      owner = "cstrahan";
+      repo = "tree-sitter-nix";
+      rev = "6b71a810c0acd49b980c50fc79092561f7cee307";
+      hash = "sha256-uTgSj4zz8WvzwIr7UO78F45nzVSjjitdtKY8GV4iL+w=";
+    };
+  };
+  norg = buildGrammar {
+    language = "norg";
+    version = "dfac5ad";
+    source = fetchFromGitHub {
+      owner = "nvim-neorg";
+      repo = "tree-sitter-norg";
+      rev = "dfac5ad2740a79b18ae849590a924e7bad3f1b23";
+      hash = "sha256-nH9Y2mYXRehqvq0kp1DkoI2dIAaCidFAxlKos8wZmks=";
+    };
+  };
+  ocaml = buildGrammar {
+    language = "ocaml";
+    version = "cc26b1e";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ocaml";
+      rev = "cc26b1ef111100f26a137bcbcd39fd4e35be9a59";
+      hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
+    };
+    location = "ocaml";
+
+  };
+  ocaml_interface = buildGrammar {
+    language = "ocaml_interface";
+    version = "cc26b1e";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ocaml";
+      rev = "cc26b1ef111100f26a137bcbcd39fd4e35be9a59";
+      hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM=";
+    };
+    location = "interface";
+
+  };
+  ocamllex = buildGrammar {
+    language = "ocamllex";
+    version = "ac1d595";
+    source = fetchFromGitHub {
+      owner = "atom-ocaml";
+      repo = "tree-sitter-ocamllex";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "ac1d5957e719d49bd6acd27439b79843e4daf8ed";
+      hash = "sha256-KxQiNJyS1Rbtc4Rl+ROktuVazdtjDduWdkrQ+NzT9NQ=";
+    };
+  };
+  org = buildGrammar {
+    language = "org";
+    version = "081179c";
+    source = fetchFromGitHub {
+      owner = "milisims";
+      repo = "tree-sitter-org";
+      rev = "081179c52b3e8175af62b9b91dc099d010c38770";
+      hash = "sha256-tD9sL84LKvkhBzTU40pfd32ggxAcPG2Qk9HIhNXKM0E=";
+    };
+  };
+  pascal = buildGrammar {
+    language = "pascal";
+    version = "2fd40f4";
+    source = fetchFromGitHub {
+      owner = "Isopod";
+      repo = "tree-sitter-pascal";
+      rev = "2fd40f477d3e2794af152618ccfac8d92eb72a66";
+      hash = "sha256-/nChZspacQymw+1P7yrkOpa7BIBVIKeLKUv0y9Hk8oc=";
+    };
+  };
+  perl = buildGrammar {
+    language = "perl";
+    version = "ff5c310";
+    source = fetchFromGitHub {
+      owner = "ganezdragon";
+      repo = "tree-sitter-perl";
+      rev = "ff5c3108083af6fcb7575e32a7558b8165a05bcd";
+      hash = "sha256-ETlvojT2X8gg323zxxNBpNqJ4ARVeo5ICKxRXUpzTv8=";
+    };
+  };
+  php = buildGrammar {
+    language = "php";
+    version = "ab2e721";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-php";
+      rev = "ab2e72179ceb8bb0b249c8ac9162a148e911b3dc";
+      hash = "sha256-Lg4gEi6bCYosakr2McmgOwGHsmsVSjD+oyG6XNTd0j0=";
+    };
+  };
+  phpdoc = buildGrammar {
+    language = "phpdoc";
+    version = "2f4d16c";
+    source = fetchFromGitHub {
+      owner = "claytonrcarter";
+      repo = "tree-sitter-phpdoc";
+      rev = "2f4d16c861b5a454b577d057f247f9902d7b47f5";
+      hash = "sha256-7oriB1AWNvedT1JRoCYuF2m5+E9MYr85Lg38KRZ+BKo=";
+    };
+  };
+  pioasm = buildGrammar {
+    language = "pioasm";
+    version = "924aada";
+    source = fetchFromGitHub {
+      owner = "leo60228";
+      repo = "tree-sitter-pioasm";
+      rev = "924aadaf5dea2a6074d72027b064f939acf32e20";
+      hash = "sha256-og5DjoyTtKUTp0V4/PpcGb8xwzLeidsb2lq0+QF7u9M=";
+    };
+  };
+  prisma = buildGrammar {
+    language = "prisma";
+    version = "17a5923";
+    source = fetchFromGitHub {
+      owner = "victorhqc";
+      repo = "tree-sitter-prisma";
+      rev = "17a59236ac25413b81b1613ea6ba5d8d52d7cd6c";
+      hash = "sha256-EdeKTmai/OM0WzCjcLmzHI41EqJWH/dOJJxvCE2sid8=";
+    };
+  };
+  proto = buildGrammar {
+    language = "proto";
+    version = "42d82fa";
+    source = fetchFromGitHub {
+      owner = "mitchellh";
+      repo = "tree-sitter-proto";
+      rev = "42d82fa18f8afe59b5fc0b16c207ee4f84cb185f";
+      hash = "sha256-cX+0YARIa9i8UymPPviyoj+Wh37AFYl9fsoNZMQXPgA=";
+    };
+  };
+  pug = buildGrammar {
+    language = "pug";
+    version = "63e2149";
+    source = fetchFromGitHub {
+      owner = "zealot128";
+      repo = "tree-sitter-pug";
+      rev = "63e214905970e75f065688b1e8aa90823c3aacdc";
+      hash = "sha256-t/KRUV1DMlU/xu5BRe1VZm+dliXdtUVhFO+6psiHf+Q=";
+    };
+  };
+  python = buildGrammar {
+    language = "python";
+    version = "b14614e";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-python";
+      rev = "b14614e2144b8f9ee54deed5a24f3c6f51f9ffa8";
+      hash = "sha256-4TDEK3v7hqinisXtAi/iJL0rUKqII07oVg/Jz3IV2yA=";
+    };
+  };
+  ql = buildGrammar {
+    language = "ql";
+    version = "bd08702";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ql";
+      rev = "bd087020f0d8c183080ca615d38de0ec827aeeaf";
+      hash = "sha256-2QOtNguYAIhIhGuVqyx/33gFu3OqcxAPBZOk85Q226M=";
+    };
+  };
+  qmljs = buildGrammar {
+    language = "qmljs";
+    version = "0b2b25b";
+    source = fetchFromGitHub {
+      owner = "yuja";
+      repo = "tree-sitter-qmljs";
+      rev = "0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1";
+      hash = "sha256-Hf8LfrN3YjN9hpGtTVmK3ZjJ/b/fsRCg9FG7hSSj/mk=";
+    };
+  };
+  query = buildGrammar {
+    language = "query";
+    version = "0695cd0";
+    source = fetchFromGitHub {
+      owner = "nvim-treesitter";
+      repo = "tree-sitter-query";
+      rev = "0695cd0760532de7b54f23c667d459b5d1332b44";
+      hash = "sha256-DwhvOvUb3hNmZTTk5HkZ9X1DCWz+G3+YJ0l/PqLVDdU=";
+    };
+  };
+  r = buildGrammar {
+    language = "r";
+    version = "0f4f66e";
+    source = fetchFromGitHub {
+      owner = "r-lib";
+      repo = "tree-sitter-r";
+      rev = "0f4f66e5050037b759ea040dafd596bcdda1de94";
+      hash = "sha256-5rgc1ZmzFT3Hgv0GKVu5Ns21Nc3Ck8NW2naslvKzguM=";
+    };
+  };
+  racket = buildGrammar {
+    language = "racket";
+    version = "b9b2e74";
+    source = fetchFromGitHub {
+      owner = "6cdh";
+      repo = "tree-sitter-racket";
+      rev = "b9b2e7454d7098e44595dd8c1b471b9d1518b910";
+      hash = "sha256-DxwbIhyCx+E0kDztPQFBa9x65ssKzsMh7vY+TpP3dTM=";
+    };
+  };
+  rasi = buildGrammar {
+    language = "rasi";
+    version = "1239134";
+    source = fetchFromGitHub {
+      owner = "Fymyte";
+      repo = "tree-sitter-rasi";
+      rev = "12391343979463a2484e6353e5afb6dcb8c31e8b";
+      hash = "sha256-JmL2Ei2DZhsZ4jFQ8s6B0ig9bflDs9dLr5/QknDqqRc=";
+    };
+  };
+  regex = buildGrammar {
+    language = "regex";
+    version = "e1cfca3";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-regex";
+      rev = "e1cfca3c79896ff79842f057ea13e529b66af636";
+      hash = "sha256-lDsr3sLrLf6wXu/juIA+bTtv1SBo+Jgwqw/6yBAE0kg=";
+    };
+  };
+  rego = buildGrammar {
+    language = "rego";
+    version = "6d70da3";
+    source = fetchFromGitHub {
+      owner = "FallenAngel97";
+      repo = "tree-sitter-rego";
+      rev = "6d70da3a998fd0081efc5d1019c71e74cc1568e9";
+      hash = "sha256-i6XVQOQHItZsba3oNplkBbCfIYjX5bU5qyig/WyGEt4=";
+    };
+  };
+  rnoweb = buildGrammar {
+    language = "rnoweb";
+    version = "502c112";
+    source = fetchFromGitHub {
+      owner = "bamonroe";
+      repo = "tree-sitter-rnoweb";
+      rev = "502c1126dc6777f09af5bef16e72a42f75bd081e";
+      hash = "sha256-aGEhy4uMhKFbL0+JO5rrn3GIe//8PZpDHEMDGHDlBCY=";
+    };
+  };
+  rst = buildGrammar {
+    language = "rst";
+    version = "25e6328";
+    source = fetchFromGitHub {
+      owner = "stsewd";
+      repo = "tree-sitter-rst";
+      rev = "25e6328872ac3a764ba8b926aea12719741103f1";
+      hash = "sha256-g3CovnXY15SkxAdVk15M4hAxizqLc551omwKKG+Vozg=";
+    };
+  };
+  ruby = buildGrammar {
+    language = "ruby";
+    version = "252ca18";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-ruby";
+      rev = "252ca18be76b0918fb6b34c302292b6931876c25";
+      hash = "sha256-8UWHLVrSxQM6iT+tN+2PwTs43n+Z69c0DVnDE3yfqKo=";
+    };
+  };
+  rust = buildGrammar {
+    language = "rust";
+    version = "47b061c";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-rust";
+      rev = "47b061c1e1ba3a7e9c2f450363a50e87de3f7c61";
+      hash = "sha256-v6ExAQxXIOeLfCjxbIhVEd7XBCkXHCiukRyrUqEBxIA=";
+    };
+  };
+  scala = buildGrammar {
+    language = "scala";
+    version = "140c96c";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-scala";
+      rev = "140c96cf398693189d4e50f76d19ddfcd8a018f8";
+      hash = "sha256-Sr4+avj0v1y8K6XXPAVwJDTa6+RmbKe/4dzd0k0y3cE=";
+    };
+  };
+  scheme = buildGrammar {
+    language = "scheme";
+    version = "af0fd1f";
+    source = fetchFromGitHub {
+      owner = "6cdh";
+      repo = "tree-sitter-scheme";
+      rev = "af0fd1fa452cb2562dc7b5c8a8c55551c39273b9";
+      hash = "sha256-K3+zmykjq2DpCnk17Ko9LOyGQTBZb1/dgVXIVynCYd4=";
+    };
+  };
+  scss = buildGrammar {
+    language = "scss";
+    version = "c478c68";
+    source = fetchFromGitHub {
+      owner = "serenadeai";
+      repo = "tree-sitter-scss";
+      rev = "c478c6868648eff49eb04a4df90d703dc45b312a";
+      hash = "sha256-BFtMT6eccBWUyq6b8UXRAbB1R1XD3CrrFf1DM3aUI5c=";
+    };
+  };
+  slint = buildGrammar {
+    language = "slint";
+    version = "d422300";
+    source = fetchFromGitHub {
+      owner = "jrmoulton";
+      repo = "tree-sitter-slint";
+      rev = "d422300f5d6ccce8f9a617dfed57aafb636fadb2";
+      hash = "sha256-j6NBJaix0oOUKLAaeo+/1XdYatStqyaTyLKawq/nFvc=";
+    };
+  };
+  solidity = buildGrammar {
+    language = "solidity";
+    version = "52ed088";
+    source = fetchFromGitHub {
+      owner = "YongJieYongJie";
+      repo = "tree-sitter-solidity";
+      rev = "52ed0880c0126df2f2c7693f215fe6f38e4a2e0a";
+      hash = "sha256-ZyeUYtE0pyQIPnZhza6u6yQO0Mx8brgAUmUpIXYZwb4=";
+    };
+  };
+  sparql = buildGrammar {
+    language = "sparql";
+    version = "05f949d";
+    source = fetchFromGitHub {
+      owner = "BonaBeavis";
+      repo = "tree-sitter-sparql";
+      rev = "05f949d3c1c15e3261473a244d3ce87777374dec";
+      hash = "sha256-KBalxmAukeSbjyelEy+ZqMcBlRd0V0/pntCwTeINTAQ=";
+    };
+  };
+  sql = buildGrammar {
+    language = "sql";
+    version = "2743c7b";
+    source = fetchFromGitHub {
+      owner = "derekstride";
+      repo = "tree-sitter-sql";
+      rev = "2743c7b5e710e6854d4e8c14c302548b436e2a1f";
+      hash = "sha256-lhQxFXphS97tITDosG/pGe85osV4CweW44ulmCd+CxQ=";
+    };
+  };
+  supercollider = buildGrammar {
+    language = "supercollider";
+    version = "90c6d9f";
+    source = fetchFromGitHub {
+      owner = "madskjeldgaard";
+      repo = "tree-sitter-supercollider";
+      rev = "90c6d9f777d2b8c4ce497c48b5f270a44bcf3ea0";
+      hash = "sha256-YF+JFLcRHrWIRky2aI5s294+G6jSyVUgt/1bnZkYGLw=";
+    };
+  };
+  surface = buildGrammar {
+    language = "surface";
+    version = "f4586b3";
+    source = fetchFromGitHub {
+      owner = "connorlay";
+      repo = "tree-sitter-surface";
+      rev = "f4586b35ac8548667a9aaa4eae44456c1f43d032";
+      hash = "sha256-Fn/pF8yvU+Ll7WmoMHnEcNxb3dsfNhuKhXA1UgXeviA=";
+    };
+  };
+  svelte = buildGrammar {
+    language = "svelte";
+    version = "52e122a";
+    source = fetchFromGitHub {
+      owner = "Himujjal";
+      repo = "tree-sitter-svelte";
+      rev = "52e122ae68b316d3aa960a0a422d3645ba717f42";
+      hash = "sha256-ACRpn1/2d6/ambLvr0xr7kT9gTzFFHXtvbQRTxEoet0=";
+    };
+  };
+  swift = buildGrammar {
+    language = "swift";
+    version = "c88b5d7";
+    source = fetchFromGitHub {
+      owner = "alex-pinkus";
+      repo = "tree-sitter-swift";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "c88b5d73f193f5b0762b1a5f0299a275e6a728fb";
+      hash = "sha256-OfFMGxL72SPZW4AtHoThhYtjmKWabStLKAB9TxmjMDw=";
+    };
+  };
+  sxhkdrc = buildGrammar {
+    language = "sxhkdrc";
+    version = "440d5f9";
+    source = fetchFromGitHub {
+      owner = "RaafatTurki";
+      repo = "tree-sitter-sxhkdrc";
+      rev = "440d5f913d9465c9c776a1bd92334d32febcf065";
+      hash = "sha256-AGhGYomrMe6Wj+EHLQT4v0BiU4jxhxXpVQkU2xU/1ZI=";
+    };
+  };
+  teal = buildGrammar {
+    language = "teal";
+    version = "1ae8c68";
+    source = fetchFromGitHub {
+      owner = "euclidianAce";
+      repo = "tree-sitter-teal";
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";
+      rev = "1ae8c68e90523b26b93af56feb7868fe4214e2b2";
+      hash = "sha256-8FqXrsgOI/cVezgVsQqPLlTa4Qnzmbuelo0XsI48fV0=";
+    };
+  };
+  tiger = buildGrammar {
+    language = "tiger";
+    version = "eb1d371";
+    source = fetchFromGitHub {
+      owner = "ambroisie";
+      repo = "tree-sitter-tiger";
+      rev = "eb1d3714998977ae76ca7c6a102b10ee37efc2b5";
+      hash = "sha256-kbwERaTHk5Pj5AfpbXPuRS6speB+xLMfrhRXTVOyMNw=";
+    };
+  };
+  tlaplus = buildGrammar {
+    language = "tlaplus";
+    version = "deaf0e5";
+    source = fetchFromGitHub {
+      owner = "tlaplus-community";
+      repo = "tree-sitter-tlaplus";
+      rev = "deaf0e5c573ad4e2bbfc9a29abb7b6dcb572556e";
+      hash = "sha256-D4A2k14SpVR4iKCMwql403XjHGg7p17EYazvAUiJ2gY=";
+    };
+  };
+  todotxt = buildGrammar {
+    language = "todotxt";
+    version = "0207f6a";
+    source = fetchFromGitHub {
+      owner = "arnarg";
+      repo = "tree-sitter-todotxt";
+      rev = "0207f6a4ab6aeafc4b091914d31d8235049a2578";
+      hash = "sha256-FWVW+qWOUSri+qf+qistf8bKWJCTxUKkoO66yUYtwHI=";
+    };
+  };
+  toml = buildGrammar {
+    language = "toml";
+    version = "8bd2056";
+    source = fetchFromGitHub {
+      owner = "ikatyang";
+      repo = "tree-sitter-toml";
+      rev = "8bd2056818b21860e3d756b5a58c4f6e05fb744e";
+      hash = "sha256-z9MWNOBxLHBd/pVs5/QiSSGtaW+DUd7y3wZXcl3hWnk=";
+    };
+  };
+  tsx = buildGrammar {
+    language = "tsx";
+    version = "0ab9d99";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-typescript";
+      rev = "0ab9d99867435a7667c5548a6617a6bf73dbd830";
+      hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8=";
+    };
+    location = "tsx";
+
+  };
+  turtle = buildGrammar {
+    language = "turtle";
+    version = "085437f";
+    source = fetchFromGitHub {
+      owner = "BonaBeavis";
+      repo = "tree-sitter-turtle";
+      rev = "085437f5cb117703b7f520dd92161140a684f092";
+      hash = "sha256-ub777Pjody2SvP2EjW7IwWj8YnMuMzdJ4AlrkP6WrdA=";
+    };
+  };
+  twig = buildGrammar {
+    language = "twig";
+    version = "6a01f20";
+    source = fetchFromGitHub {
+      owner = "gbprod";
+      repo = "tree-sitter-twig";
+      rev = "6a01f20e73038300d205d370212c361949be3035";
+      hash = "sha256-M+57mGl4Sgn0yUGAyxHxE6ShR+E/ki4m8/x/f/KHetA=";
+    };
+  };
+  typescript = buildGrammar {
+    language = "typescript";
+    version = "0ab9d99";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-typescript";
+      rev = "0ab9d99867435a7667c5548a6617a6bf73dbd830";
+      hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8=";
+    };
+    location = "typescript";
+
+  };
+  v = buildGrammar {
+    language = "v";
+    version = "d0e7c75";
+    source = fetchFromGitHub {
+      owner = "vlang";
+      repo = "vls";
+      rev = "d0e7c755193c762eb1521e3b4740b22929cc91cc";
+      hash = "sha256-d1NeZixsN9992Q1UC5ZKGN4LNxlsvdL91QW2K8d1J9Y=";
+    };
+    location = "tree_sitter_v";
+
+  };
+  vala = buildGrammar {
+    language = "vala";
+    version = "8f690bf";
+    source = fetchFromGitHub {
+      owner = "vala-lang";
+      repo = "tree-sitter-vala";
+      rev = "8f690bfa639f2b83d1fb938ed3dd98a7ba453e8b";
+      hash = "sha256-YZTE3PkBPCEkMXnLC0HSQ86v5+3/J7/ETDQp8eguFW8=";
+    };
+  };
+  verilog = buildGrammar {
+    language = "verilog";
+    version = "4457145";
+    source = fetchFromGitHub {
+      owner = "tree-sitter";
+      repo = "tree-sitter-verilog";
+      rev = "4457145e795b363f072463e697dfe2f6973c9a52";
+      hash = "sha256-l4DgThuP9EFU55YQ9lgvVP/8pXojOllQ870gRsBF3FE=";
+    };
+  };
+  vim = buildGrammar {
+    language = "vim";
+    version = "9736af8";
+    source = fetchFromGitHub {
+      owner = "vigoux";
+      repo = "tree-sitter-viml";
+      rev = "9736af8ef0a7f20b4c45f6474342c8f5b473e2cc";
+      hash = "sha256-cptSrA+EOfntdW9V8qt3pg3PUK7uSwex7OS4XVnwItI=";
+    };
+  };
+  vue = buildGrammar {
+    language = "vue";
+    version = "91fe275";
+    source = fetchFromGitHub {
+      owner = "ikatyang";
+      repo = "tree-sitter-vue";
+      rev = "91fe2754796cd8fba5f229505a23fa08f3546c06";
+      hash = "sha256-NeuNpMsKZUP5mrLCjJEOSLD6tlJpNO4Z/rFUqZLHE1A=";
+    };
+  };
+  wgsl = buildGrammar {
+    language = "wgsl";
+    version = "af16e7d";
+    source = fetchFromGitHub {
+      owner = "szebniok";
+      repo = "tree-sitter-wgsl";
+      rev = "af16e7d9e230004888fb52d33599ad38b4cf6052";
+      hash = "sha256-rp6SqiGVAxlAbrYhNLhwqawjpFXZd2R4A4cNQx6qFZs=";
+    };
+  };
+  yaml = buildGrammar {
+    language = "yaml";
+    version = "0e36bed";
+    source = fetchFromGitHub {
+      owner = "ikatyang";
+      repo = "tree-sitter-yaml";
+      rev = "0e36bed171768908f331ff7dff9d956bae016efb";
+      hash = "sha256-bpiT3FraOZhJaoiFWAoVJX1O+plnIi8aXOW2LwyU23M=";
+    };
+  };
+  yang = buildGrammar {
+    language = "yang";
+    version = "8e9d175";
+    source = fetchFromGitHub {
+      owner = "Hubro";
+      repo = "tree-sitter-yang";
+      rev = "8e9d175982afcefa3dac8ca20d40d1643accd2bd";
+      hash = "sha256-QSOy5wLb52hKkfW8bJY827zGrXTsMO5sZtl2NaNLmBA=";
+    };
+  };
+  zig = buildGrammar {
+    language = "zig";
+    version = "b1803f2";
+    source = fetchFromGitHub {
+      owner = "maxxnino";
+      repo = "tree-sitter-zig";
+      rev = "b1803f2a665d228f968a831eac4fcc07a377c7bc";
+      hash = "sha256-WLfecfqwCNh/IPPfmZ55XgsY6cLv62ad0Xhh9pUW3nw=";
+    };
+  };
+}
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
new file mode 100644
index 00000000000..f34fd25e8de
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
@@ -0,0 +1,38 @@
+{ lib, callPackage, tree-sitter, nodejs }:
+
+self: super:
+
+let
+  builtGrammars = callPackage ./generated.nix {
+    buildGrammar = callPackage ../../../../../development/tools/parsing/tree-sitter/grammar.nix { };
+  };
+
+  allGrammars = lib.filter lib.isDerivation (lib.attrValues builtGrammars);
+
+  # Usage:
+  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ... ])
+  # or for all grammars:
+  # pkgs.vimPlugins.nvim-treesitter.withAllGrammars
+  withPlugins =
+    grammarFn: self.nvim-treesitter.overrideAttrs (_: {
+      postPatch =
+        let
+          grammars = tree-sitter.withPlugins (ps: grammarFn (ps // builtGrammars));
+        in
+        ''
+          rm -r parser
+          ln -s ${grammars} parser
+        '';
+    });
+in
+
+{
+  passthru = {
+    inherit builtGrammars allGrammars withPlugins;
+
+    tests.builtGrammars = lib.recurseIntoAttrs builtGrammars;
+
+    withAllGrammars = withPlugins (_: allGrammars);
+  };
+}
+
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix
new file mode 100644
index 00000000000..ca8c4d801c2
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update-shell.nix
@@ -0,0 +1,17 @@
+{ pkgs ? import ../../../../../.. { } }:
+
+with pkgs;
+
+let
+  inherit (vimPlugins) nvim-treesitter;
+
+  neovim = pkgs.neovim.override {
+    configure.packages.all.start = [ nvim-treesitter ];
+  };
+in
+
+mkShell {
+  packages = [ neovim nix-prefetch python3 ];
+
+  NVIM_TREESITTER = nvim-treesitter;
+}
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
new file mode 100755
index 00000000000..6c35476d606
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
@@ -0,0 +1,123 @@
+#!/usr/bin/env nix-shell
+#!nix-shell update-shell.nix -i python
+
+import json
+import re
+import subprocess
+from os import getenv
+from os.path import dirname, join
+
+lockfile = json.load(open(join(getenv("NVIM_TREESITTER"), "lockfile.json")))
+
+configs = json.loads(
+    subprocess.check_output(
+        [
+            "nvim",
+            "--headless",
+            "-u",
+            "NONE",
+            "+lua io.write(vim.json.encode(require('nvim-treesitter.parsers').get_parser_configs()))",
+            "+quit!",
+        ]
+    )
+)
+
+regex = re.compile("^https?://(github.com|gitlab.com)/(.+?)/(.+?)(.git)?$")
+
+
+def generate_grammar(item):
+    lang, lock = item
+    cfg = configs.get(lang)
+    if not cfg:
+        return ""
+
+    info = cfg["install_info"]
+    url = info["url"]
+    rev = lock["revision"]
+
+    generated = f"""  {lang} = buildGrammar {{
+    language = "{lang}";
+    version = "{rev[:7]}";
+    source = """
+
+    m = regex.fullmatch(url)
+    cmd = ["nix-prefetch", "--rev", rev]
+
+    match m and m.group(1, 2, 3):
+        case "github.com", owner, repo:
+            cmd += [
+                "fetchFromGitHub",
+                "--owner",
+                owner,
+                "--repo",
+                repo,
+            ]
+
+            generated += f"""fetchFromGitHub {{
+      owner = "{owner}";
+      repo = "{repo}";"""
+
+        case "gitlab.com", owner, repo:
+            cmd += [
+                "fetchFromGitLab",
+                "--owner",
+                owner,
+                "--repo",
+                repo,
+            ]
+
+            generated += f"""fetchFromGitLab {{
+      owner = "{owner}";
+      repo = "{repo}";"""
+
+        case _:
+            cmd += ["fetchgit", "url"]
+            generated += f"""fetchgit {{
+      url = "{url}";"""
+
+    if info.get("requires_generate_from_grammar"):
+        cmd += [
+            "--arg",
+            "nativeBuildInputs",
+            "[ nodejs tree-sitter ]",
+            "--postFetch",
+            "pushd $out && tree-sitter generate && popd",
+        ]
+
+        generated += """
+      nativeBuildInputs = [ nodejs tree-sitter ];
+      postFetch = "pushd $out && tree-sitter generate && popd";"""
+
+    hash = subprocess.check_output(cmd, text=True).strip()
+
+    generated += f"""
+      rev = "{rev}";
+      hash = "{hash}";
+    }};"""
+
+    location = info.get("location")
+    if location:
+        generated += f"""
+    location = "{location}";
+"""
+
+    generated += """
+  };
+"""
+
+    return generated
+
+
+generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
+
+{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit, nodejs, tree-sitter }:
+
+{
+"""
+
+for generated in map(generate_grammar, lockfile.items()):
+    generated_file += generated
+
+generated_file += "}\n"
+
+open(join(dirname(__file__), "generated.nix"), "w").write(generated_file)
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 071abb223b9..1bda4248de6 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -67,7 +67,7 @@
 , CoreServices
 
   # nvim-treesitter dependencies
-, tree-sitter
+, callPackage
 
   # sved dependencies
 , glib
@@ -652,23 +652,9 @@ self: super: {
     dependencies = with self; [ plenary-nvim ];
   });
 
-  # Usage:
-  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.tree-sitter-c p.tree-sitter-java ... ])
-  # or for all grammars:
-  # pkgs.vimPlugins.nvim-treesitter.withPlugins (_: tree-sitter.allGrammars)
-  nvim-treesitter = super.nvim-treesitter.overrideAttrs (old: {
-    passthru.withPlugins =
-      grammarFn: self.nvim-treesitter.overrideAttrs (_: {
-        postPatch =
-          let
-            grammars = tree-sitter.withPlugins grammarFn;
-          in
-          ''
-            rm -r parser
-            ln -s ${grammars} parser
-          '';
-      });
-  });
+  nvim-treesitter = super.nvim-treesitter.overrideAttrs (old:
+    callPackage ./nvim-treesitter/overrides.nix { } self super
+  );
 
   octo-nvim = super.octo-nvim.overrideAttrs (old: {
     dependencies = with self; [ telescope-nvim plenary-nvim ];