From 394159cfdf14d04fb65c4b5eb681877d28f8b248 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:08:45 +0200 Subject: [PATCH 01/10] tree-sitter-grammars.tree-sitter-agda: non-schema queries nesting in tree-sitter.json --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index ac828b09fd5e..6c534e8ce542 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -30,6 +30,8 @@ aciceri ]; }; + # Non-schema `queries` nesting in grammar entry + excludeBrokenTreeSitterJson = true; }; alloy = { From 838e69c0fd4f230f8184053bf205ad35ad76f1f5 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:08:59 +0200 Subject: [PATCH 02/10] tree-sitter-grammars.tree-sitter-fstar: non-schema camelCase and external-scanner fields --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index 6c534e8ce542..389abcb572c0 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -742,6 +742,8 @@ sei40kr ]; }; + # Non-schema `camelCase` and `external-scanner` fields + excludeBrokenTreeSitterJson = true; }; gas = { From 425ad1236de6efb013ebec5395e1cfe5ea357144 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:09:16 +0200 Subject: [PATCH 03/10] tree-sitter-grammars.tree-sitter-gren: slash in grammar name violates name pattern --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index 389abcb572c0..eca7bb54e615 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -1026,6 +1026,8 @@ aciceri ]; }; + # Slash in grammar name and non-schema top-level `tree-sitter` field + excludeBrokenTreeSitterJson = true; }; groovy = { From 4b44df2388f30b07e99fbeaf913494ccdabd07ba Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:09:35 +0200 Subject: [PATCH 04/10] tree-sitter-grammars.tree-sitter-opam: missing required metadata.links --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index eca7bb54e615..4d1fbf6e5710 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -1830,6 +1830,8 @@ meta = { license = lib.licenses.mit; }; + # Missing required `metadata.links` + excludeBrokenTreeSitterJson = true; }; opencl = { From 579dff7d88210627347305a7186e1eb0c2cea042 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:09:53 +0200 Subject: [PATCH 05/10] tree-sitter-grammars.tree-sitter-quint: missing required grammar name and metadata --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index 4d1fbf6e5710..09d59085d5ec 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -2208,6 +2208,8 @@ aciceri ]; }; + # Missing required `grammars[0].name` and `metadata` + excludeBrokenTreeSitterJson = true; }; r = { From 0293ffd7406f49bf5cb5c8a4302d8c9b71232cd5 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:10:10 +0200 Subject: [PATCH 06/10] tree-sitter-grammars.tree-sitter-strace: empty metadata.links.funding fails URL parsing --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index 09d59085d5ec..767e44624f2d 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -2538,6 +2538,8 @@ aciceri ]; }; + # Empty `metadata.links.funding` fails URL parsing + excludeBrokenTreeSitterJson = true; }; supercollider = { From d32219a9f08261c0bbd8a86eae4c38511e18db11 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:10:27 +0200 Subject: [PATCH 07/10] tree-sitter-grammars.tree-sitter-tact: non-schema metadata.links.homepage --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index 767e44624f2d..e488bc3fbe8b 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -2629,6 +2629,8 @@ aciceri ]; }; + # Non-schema `metadata.links.homepage` + excludeBrokenTreeSitterJson = true; }; talon = rec { From 7a7e3adec7ffcc25be521e0cf723a0b063263338 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:10:45 +0200 Subject: [PATCH 08/10] tree-sitter-grammars.tree-sitter-vue: relative repository URL and empty URLs --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index e488bc3fbe8b..b6c72d4b9bd4 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -2985,6 +2985,8 @@ jeafleohj ]; }; + # Relative repository URL, empty funding and author URLs + excludeBrokenTreeSitterJson = true; }; wast = { From 0fb50782eaaeec68f82128faeb7a128a77b4370a Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:10:58 +0200 Subject: [PATCH 09/10] tree-sitter-grammars.tree-sitter-go-template-helm: override lang ident to tree_sitter_helm --- pkgs/development/python-modules/tree-sitter-grammars/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/tree-sitter-grammars/default.nix b/pkgs/development/python-modules/tree-sitter-grammars/default.nix index e84085a6ab25..c2ab41f35662 100644 --- a/pkgs/development/python-modules/tree-sitter-grammars/default.nix +++ b/pkgs/development/python-modules/tree-sitter-grammars/default.nix @@ -33,6 +33,7 @@ let # of overrides ensures the binding can find the correct symbol langIdentOverrides = { tree_sitter_org_nvim = "tree_sitter_org"; + tree_sitter_go_template_helm = "tree_sitter_helm"; }; langIdent = langIdentOverrides.${snakeCaseName} or snakeCaseName; in From 3707abfbe3a2f2a76ee213e26dda3e69ffa38d19 Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Wed, 27 May 2026 17:36:07 +0200 Subject: [PATCH 10/10] helix: add tree-sitter grammar overrides --- pkgs/by-name/he/helix/package.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/by-name/he/helix/package.nix b/pkgs/by-name/he/helix/package.nix index 4325ce184118..37fc4ea9105d 100644 --- a/pkgs/by-name/he/helix/package.nix +++ b/pkgs/by-name/he/helix/package.nix @@ -10,6 +10,9 @@ lockedGrammars ? lib.importJSON ./grammars.json, grammarsOverlay ? ( final: prev: { + tree-sitter-agda = prev.tree-sitter-agda.override { + excludeBrokenTreeSitterJson = false; + }; tree-sitter-beancount = prev.tree-sitter-beancount.override { excludeBrokenTreeSitterJson = false; }; @@ -28,6 +31,15 @@ tree-sitter-sql = prev.tree-sitter-sql.override { generate = false; }; + tree-sitter-strace = prev.tree-sitter-strace.override { + excludeBrokenTreeSitterJson = false; + }; + tree-sitter-tact = prev.tree-sitter-tact.override { + excludeBrokenTreeSitterJson = false; + }; + tree-sitter-vue = prev.tree-sitter-vue.override { + excludeBrokenTreeSitterJson = false; + }; } ), }: