From 650fd131fb0deb3f13a7427a7a841b38c4cc808f Mon Sep 17 00:00:00 2001 From: figsoda Date: Tue, 1 Nov 2022 20:39:18 -0400 Subject: vimPlugins.nvim-treesitter: fix up update script and update grammars --- .../vim/plugins/nvim-treesitter/generated.nix | 37 +++++++++------------- .../editors/vim/plugins/nvim-treesitter/update.py | 7 ++-- 2 files changed, 18 insertions(+), 26 deletions(-) (limited to 'pkgs/applications') diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix index e818eff764a86..4fb96a7128c5c 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix @@ -25,12 +25,12 @@ }; bash = buildGrammar { language = "bash"; - version = "f1a86d3"; + version = "77cf8a7"; source = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-bash"; - rev = "f1a86d3cc5aeeb67e0e52442e893af7f813025b4"; - hash = "sha256-zzHA+kGw67WFyPVFRWRyKmhAjxp5jkv0K2yhGxNfFM4="; + rev = "77cf8a7cab8904baf1a721762e012644ac1d4c7b"; + hash = "sha256-UPMJ7iL8Y0NkAHtPDrkTjG1qFwr8rXuGqvsG+LTWqEY="; }; }; beancount = buildGrammar { @@ -503,12 +503,12 @@ }; help = buildGrammar { language = "help"; - version = "8df3266"; + version = "49cdef5"; source = fetchFromGitHub { owner = "neovim"; repo = "tree-sitter-vimdoc"; - rev = "8df3266b423d24c9ac3f3b4b9928e65eb1e5e741"; - hash = "sha256-t9SHuymK5pYlryWGpORGPYLgPZ3xBx0XH69s5RtRnEI="; + rev = "49cdef52ded4a886bf34bc474876b09f9270d48f"; + hash = "sha256-szNY2yw5i9pgF+MpaEAkP8BgSYEe6nrFW+17sbSZ6Yc="; }; }; hjson = buildGrammar { @@ -693,12 +693,12 @@ }; lua = buildGrammar { language = "lua"; - version = "887dfd4"; + version = "fb30e8c"; source = fetchFromGitHub { owner = "MunifTanjim"; repo = "tree-sitter-lua"; - rev = "887dfd4e83c469300c279314ff1619b1d0b85b91"; - hash = "sha256-5i+UN6Es+K7KDD1qz3ZrVn8IfGdTswcISUyV2sGtY9M="; + rev = "fb30e8cb605e2ebd6c643e6981325a63fbbde320"; + hash = "sha256-gT2WHH3rkFzb6iER0ryVU7bqVbh36RbTI9HSWMh3DsI="; }; }; m68k = buildGrammar { @@ -731,7 +731,6 @@ hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE="; }; location = "tree-sitter-markdown"; - }; markdown_inline = buildGrammar { language = "markdown_inline"; @@ -743,7 +742,6 @@ hash = "sha256-gKbjAcY/x9sIxiG7edolAQp2JWrx78mEGeCpayxFOuE="; }; location = "tree-sitter-markdown-inline"; - }; menhir = buildGrammar { language = "menhir"; @@ -815,7 +813,6 @@ hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM="; }; location = "ocaml"; - }; ocaml_interface = buildGrammar { language = "ocaml_interface"; @@ -827,7 +824,6 @@ hash = "sha256-gTmRBFFCBrA48Yn1MO2mMQPpa6u3uv5McC4BDuMXKuM="; }; location = "interface"; - }; ocamllex = buildGrammar { language = "ocamllex"; @@ -1163,14 +1159,14 @@ }; swift = buildGrammar { language = "swift"; - version = "c88b5d7"; + version = "d7808f0"; 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="; + rev = "d7808f030a44dc8768948042baa7566949785e2f"; + hash = "sha256-7Gjpf2isOpeOV3ZMTMibK+F4C4v8ywOPin2Wv86s+AM="; }; }; sxhkdrc = buildGrammar { @@ -1245,7 +1241,6 @@ hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8="; }; location = "tsx"; - }; turtle = buildGrammar { language = "turtle"; @@ -1259,12 +1254,12 @@ }; twig = buildGrammar { language = "twig"; - version = "6a01f20"; + version = "035f549"; source = fetchFromGitHub { owner = "gbprod"; repo = "tree-sitter-twig"; - rev = "6a01f20e73038300d205d370212c361949be3035"; - hash = "sha256-M+57mGl4Sgn0yUGAyxHxE6ShR+E/ki4m8/x/f/KHetA="; + rev = "035f549ec8c043e734f04341d7ccdc669bb2ba91"; + hash = "sha256-XSE0E6a9o+WpvmMIXHu0N89VqzaIk9eFHofKAPHtT20="; }; }; typescript = buildGrammar { @@ -1277,7 +1272,6 @@ hash = "sha256-Nx+K7Ic/ePKAXPIMlrRn6zELYE59f/FnnZ/LM5ELaU8="; }; location = "typescript"; - }; v = buildGrammar { language = "v"; @@ -1289,7 +1283,6 @@ hash = "sha256-d1NeZixsN9992Q1UC5ZKGN4LNxlsvdL91QW2K8d1J9Y="; }; location = "tree_sitter_v"; - }; vala = buildGrammar { language = "vala"; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py index 6c35476d60698..dd88d74e8f17a 100755 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py @@ -4,10 +4,10 @@ import json import re import subprocess -from os import getenv +from os import environ from os.path import dirname, join -lockfile = json.load(open(join(getenv("NVIM_TREESITTER"), "lockfile.json"))) +lockfile = json.load(open(join(environ["NVIM_TREESITTER"], "lockfile.json"))) configs = json.loads( subprocess.check_output( @@ -98,8 +98,7 @@ def generate_grammar(item): location = info.get("location") if location: generated += f""" - location = "{location}"; -""" + location = "{location}";""" generated += """ }; -- cgit 1.4.1 From 8ce4a83e94f54223d9a3924ae0ef79e6f34182dc Mon Sep 17 00:00:00 2001 From: figsoda Date: Tue, 1 Nov 2022 21:09:23 -0400 Subject: vimPlugins.nvim-treesitter: create aliases for grammars --- .../editors/vim/plugins/nvim-treesitter/overrides.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'pkgs/applications') diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index f34fd25e8de77..a2b70c785ff13 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -3,11 +3,26 @@ self: super: let - builtGrammars = callPackage ./generated.nix { + generatedGrammars = callPackage ./generated.nix { buildGrammar = callPackage ../../../../../development/tools/parsing/tree-sitter/grammar.nix { }; }; - allGrammars = lib.filter lib.isDerivation (lib.attrValues builtGrammars); + generatedDerivations = lib.filterAttrs (_: lib.isDerivation) generatedGrammars; + + builtGrammars = generatedGrammars // lib.listToAttrs + (lib.concatLists (lib.mapAttrsToList + (k: v: + let + replaced = lib.replaceStrings [ "_" ] [ "-" ] k; + in + map (lib.flip lib.nameValuePair v) + ([ ("tree-sitter-${k}") ] ++ lib.optionals (k != replaced) [ + replaced + "tree-sitter-${replaced}" + ])) + generatedDerivations)); + + allGrammars = lib.attrValues generatedDerivations; # Usage: # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ... ]) -- cgit 1.4.1 From 94e35d1aa2aca1eb91c42d2e6b8e13fa2e8cdc2f Mon Sep 17 00:00:00 2001 From: figsoda Date: Tue, 1 Nov 2022 21:31:59 -0400 Subject: vimPlugins.nvim-treesitter: add figsoda as a maintainer --- pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'pkgs/applications') diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index a2b70c785ff13..cdaba769ff52b 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -49,5 +49,7 @@ in withAllGrammars = withPlugins (_: allGrammars); }; + + meta.maintainers = with lib.maintainers; [ figsoda ]; } -- cgit 1.4.1 From 56e160ee612b3f6ab9fade147742440ecaef84e5 Mon Sep 17 00:00:00 2001 From: figsoda Date: Fri, 4 Nov 2022 09:51:04 -0400 Subject: nvim-treesitter: add comment on aliases --- pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pkgs/applications') diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index cdaba769ff52b..2b8ba7616ae62 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -9,6 +9,11 @@ let generatedDerivations = lib.filterAttrs (_: lib.isDerivation) generatedGrammars; + # add aliases so grammars from `tree-sitter` are overwritten in `withPlugins` + # for example, for ocaml_interface, the following aliases will be added + # ocaml-interface + # tree-sitter-ocaml-interface + # tree-sitter-ocaml_interface builtGrammars = generatedGrammars // lib.listToAttrs (lib.concatLists (lib.mapAttrsToList (k: v: -- cgit 1.4.1