diff options
author | figsoda <figsoda@pm.me> | 2022-10-30 01:27:25 -0400 |
---|---|---|
committer | figsoda <figsoda@pm.me> | 2022-10-31 09:44:02 -0400 |
commit | ca846a348f8a112498082f06372fdb966cfb60b5 (patch) | |
tree | 11ecf4c39bce1baf4cc4a5cccb0d145a92ec0c5f /pkgs/applications/editors | |
parent | ea41661652b3d032662accd26d03ddc4df9b0ee1 (diff) | |
download | nixpkgs-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')
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 ]; |