From f3a969f2a4aff56e790c0cbf6bb93faba2e2cb2a Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Sat, 13 Jan 2024 00:15:37 +0100 Subject: [PATCH 1/4] Make nix flake respect unused grammars --- grammars.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/grammars.nix b/grammars.nix index 843fa02ad7dc..8c689f05ba5b 100644 --- a/grammars.nix +++ b/grammars.nix @@ -28,7 +28,8 @@ owner = builtins.elemAt match 0; repo = builtins.elemAt match 1; }; - gitGrammars = builtins.filter isGitGrammar languagesConfig.grammar; + grammarsToUse = builtins.filter (grammar: !(builtins.elem grammar.name languagesConfig.use-grammars.except)) languagesConfig.grammar; + gitGrammars = builtins.filter isGitGrammar grammarsToUse; buildGrammar = grammar: let gh = toGitHubFetcher grammar.source.git; sourceGit = builtins.fetchTree { From 840e9788290f658e781e6a5f29be68b2b51a9db2 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Sat, 13 Jan 2024 00:31:37 +0100 Subject: [PATCH 2/4] Use default value --- grammars.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grammars.nix b/grammars.nix index 8c689f05ba5b..22e082e06508 100644 --- a/grammars.nix +++ b/grammars.nix @@ -28,7 +28,7 @@ owner = builtins.elemAt match 0; repo = builtins.elemAt match 1; }; - grammarsToUse = builtins.filter (grammar: !(builtins.elem grammar.name languagesConfig.use-grammars.except)) languagesConfig.grammar; + grammarsToUse = builtins.filter (grammar: !(builtins.elem grammar.name (languagesConfig.use-grammars.except or []))) languagesConfig.grammar; gitGrammars = builtins.filter isGitGrammar grammarsToUse; buildGrammar = grammar: let gh = toGitHubFetcher grammar.source.git; From 8c2df9cab1e17699bb3dcf002a6b48ea42152a71 Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Sat, 13 Jan 2024 00:37:18 +0100 Subject: [PATCH 3/4] Refactor --- grammars.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/grammars.nix b/grammars.nix index 22e082e06508..b83db191813e 100644 --- a/grammars.nix +++ b/grammars.nix @@ -28,7 +28,8 @@ owner = builtins.elemAt match 0; repo = builtins.elemAt match 1; }; - grammarsToUse = builtins.filter (grammar: !(builtins.elem grammar.name (languagesConfig.use-grammars.except or []))) languagesConfig.grammar; + useGrammar = grammar: !(builtins.elem grammar.name (languagesConfig.use-grammars.except or [])); + grammarsToUse = builtins.filter useGrammar languagesConfig.grammar; gitGrammars = builtins.filter isGitGrammar grammarsToUse; buildGrammar = grammar: let gh = toGitHubFetcher grammar.source.git; From 64c34b0a8933ce90e929ed3b487ef4928cc0360a Mon Sep 17 00:00:00 2001 From: Sebastian Zivota Date: Sat, 13 Jan 2024 17:01:51 +0100 Subject: [PATCH 4/4] Take use-grammars.only into account --- grammars.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/grammars.nix b/grammars.nix index b83db191813e..5152b5204dd9 100644 --- a/grammars.nix +++ b/grammars.nix @@ -28,7 +28,15 @@ owner = builtins.elemAt match 0; repo = builtins.elemAt match 1; }; - useGrammar = grammar: !(builtins.elem grammar.name (languagesConfig.use-grammars.except or [])); + # If `use-grammars.only` is set, use only those grammars. + # If `use-grammars.except` is set, use all other grammars. + # Otherwise use all grammars. + useGrammar = grammar: + if languagesConfig?use-grammars.only then + builtins.elem grammar.name languagesConfig.use-grammars.only + else if languagesConfig?use-grammars.except then + !(builtins.elem grammar.name languagesConfig.use-grammars.except) + else true; grammarsToUse = builtins.filter useGrammar languagesConfig.grammar; gitGrammars = builtins.filter isGitGrammar grammarsToUse; buildGrammar = grammar: let