summary refs log tree commit diff
path: root/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-11-17 00:15:28 +0000
committerGitHub <noreply@github.com>2022-11-17 00:15:28 +0000
commit88ec79e8f9cf08a65123641741698f145ab0f9a1 (patch)
treebda72b7a0043fbdcc0ef20bbbeb0fab91ffe00b4 /pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix
parenta7e53e534a2b8894aea20233e59579fa207dcb12 (diff)
parentebf9fcd06dbcd86536cbd636b4626a32e91ddabb (diff)
downloadnixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.tar
nixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.tar.gz
nixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.tar.bz2
nixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.tar.lz
nixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.tar.xz
nixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.tar.zst
nixpkgs-88ec79e8f9cf08a65123641741698f145ab0f9a1.zip
Merge master into haskell-updates
Diffstat (limited to 'pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix')
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix32
1 files changed, 27 insertions, 5 deletions
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 ];