diff options
Diffstat (limited to 'pkgs/applications/editors/vim/plugins/nvim-treesitter')
3 files changed, 47 insertions, 41 deletions
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix index 69dc58b6339..74991bc5c71 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix @@ -1,6 +1,6 @@ # generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py -{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit, nodejs, tree-sitter }: +{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit }: { agda = buildGrammar { @@ -169,11 +169,10 @@ source = fetchFromGitHub { owner = "CyberShadow"; repo = "tree-sitter-d"; - nativeBuildInputs = [ nodejs tree-sitter ]; - postFetch = "pushd $out && tree-sitter generate && popd"; rev = "c2fbf21bd3aa45495fe13247e040ad5815250032"; - hash = "sha256-JOCS72Ux1FMzf6kBVO7aqHNwJ0s3xkhzIFFV9GjJVOs="; + hash = "sha256-1aW3nLZ5MbsOEiJ9PH6N/bBUlRihosWa4OWRcAmT3kc="; }; + generate = true; }; dart = buildGrammar { language = "dart"; @@ -191,11 +190,10 @@ source = fetchFromGitHub { owner = "joelspadin"; repo = "tree-sitter-devicetree"; - nativeBuildInputs = [ nodejs tree-sitter ]; - postFetch = "pushd $out && tree-sitter generate && popd"; rev = "ea30a05d0f0446a96d8b096ad11828ad4f8ad849"; - hash = "sha256-AZ0MAGVfeVhRHEbiqQrDpKzZsb9AMHBXC9uOJVla2fk="; + hash = "sha256-ZiUMIsjVMxpchxmJQ3g2yXIn+/kAWPwTzMzx3IlW93o="; }; + generate = true; }; diff = buildGrammar { language = "diff"; @@ -373,11 +371,10 @@ 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="; + hash = "sha256-MjoY1tlVZgN6JqoTjhhg0zSdHzc8yplMr8824sfIKp8="; }; + generate = true; }; gleam = buildGrammar { language = "gleam"; @@ -425,11 +422,10 @@ 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="; + hash = "sha256-ws/8nL+HOoPb6Hcdh4pihjPoRw90R1fy7MB0V9Lb9ik="; }; + generate = true; }; gomod = buildGrammar { language = "gomod"; @@ -831,11 +827,10 @@ 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="; + hash = "sha256-XRxAnl+9F6AYPyd6BGNQOo+KjRs2el78ziyo7NeD1IE="; }; + generate = true; }; org = buildGrammar { language = "org"; @@ -1163,11 +1158,10 @@ source = fetchFromGitHub { owner = "alex-pinkus"; repo = "tree-sitter-swift"; - nativeBuildInputs = [ nodejs tree-sitter ]; - postFetch = "pushd $out && tree-sitter generate && popd"; rev = "25f8de356e3c33099ed691bd3b8b5c0fe3a11e15"; - hash = "sha256-KCmEE5O7EAA0uUcYkM/FpeEIn9tOqrJosSpYsBvivOk="; + hash = "sha256-x9m5QFQY33NWdkq0lkWiskfKxqRPz5ePSbVUDY7IBLU="; }; + generate = true; }; sxhkdrc = buildGrammar { language = "sxhkdrc"; @@ -1185,11 +1179,10 @@ 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="; + hash = "sha256-IGSZurROJLOp1pRPLowHGO1Pu/ehieLKWgI+RCE7wLc="; }; + generate = true; }; tiger = buildGrammar { language = "tiger"; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 2b8ba7616ae..97218844730 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -1,4 +1,4 @@ -{ lib, callPackage, tree-sitter, nodejs }: +{ lib, callPackage, tree-sitter, neovim, runCommand }: self: super: @@ -21,7 +21,7 @@ let replaced = lib.replaceStrings [ "_" ] [ "-" ] k; in map (lib.flip lib.nameValuePair v) - ([ ("tree-sitter-${k}") ] ++ lib.optionals (k != replaced) [ + ([ "tree-sitter-${k}" ] ++ lib.optionals (k != replaced) [ replaced "tree-sitter-${replaced}" ])) @@ -44,15 +44,37 @@ let ln -s ${grammars} parser ''; }); + + withAllGrammars = withPlugins (_: allGrammars); in { passthru = { - inherit builtGrammars allGrammars withPlugins; + inherit builtGrammars allGrammars withPlugins withAllGrammars; + + tests.check-queries = + let + nvimWithAllGrammars = neovim.override { + configure.packages.all.start = [ withAllGrammars ]; + }; + in + runCommand "nvim-treesitter-check-queries" + { + nativeBuildInputs = [ nvimWithAllGrammars ]; + CI = true; + } + '' + touch $out + export HOME=$(mktemp -d) + ln -s ${withAllGrammars}/CONTRIBUTING.md . - tests.builtGrammars = lib.recurseIntoAttrs builtGrammars; + nvim --headless "+luafile ${withAllGrammars}/scripts/check-queries.lua" | tee log - withAllGrammars = withPlugins (_: allGrammars); + if grep -q Warning log; then + echo "Error: warnings were emitted by the check" + exit 1 + fi + ''; }; meta.maintainers = with lib.maintainers; [ figsoda ]; diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py index dd88d74e8f1..d23e9b39cf1 100755 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py @@ -75,19 +75,6 @@ def generate_grammar(item): 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""" @@ -100,6 +87,10 @@ def generate_grammar(item): generated += f""" location = "{location}";""" + if info.get("requires_generate_from_grammar"): + generated += """ + generate = true;""" + generated += """ }; """ @@ -109,7 +100,7 @@ def generate_grammar(item): generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py -{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit, nodejs, tree-sitter }: +{ buildGrammar, fetchFromGitHub, fetchFromGitLab, fetchgit }: { """ |