mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-26 18:58:43 +02:00
ci/efmls-configs: merge language sets with different cases
Merge entries that are the same language but with different casing.
This commit is contained in:
parent
b74cec1698
commit
7594bac24e
1 changed files with 18 additions and 11 deletions
|
@ -13,27 +13,34 @@ let
|
|||
miscFormatters = toLangTools' "misc" "formatters";
|
||||
|
||||
sources =
|
||||
(lib.listToAttrs (
|
||||
lib.map (
|
||||
lang:
|
||||
let
|
||||
# Group languages by lowercase name and merge their tools
|
||||
groupedLanguages = builtins.groupBy (lang: lib.toLower lang) languages;
|
||||
mergedLanguages = lib.mapAttrs (
|
||||
lowerLang: langList:
|
||||
let
|
||||
toLangTools = toLangTools' lang;
|
||||
# Use the first language as the canonical name but prefer lowercase if available
|
||||
canonicalLang = if lib.elem lowerLang langList then lowerLang else lib.head langList;
|
||||
# Merge all tools from all case variations
|
||||
allLinters = lib.unique (lib.concatMap (lang: toLangTools' lang "linters") langList);
|
||||
allFormatters = lib.unique (lib.concatMap (lang: toLangTools' lang "formatters") langList);
|
||||
in
|
||||
{
|
||||
name = lang;
|
||||
name = canonicalLang;
|
||||
value = {
|
||||
linter = {
|
||||
inherit lang;
|
||||
possible = (toLangTools "linters") ++ miscLinters;
|
||||
lang = canonicalLang;
|
||||
possible = allLinters ++ miscLinters;
|
||||
};
|
||||
formatter = {
|
||||
inherit lang;
|
||||
possible = (toLangTools "formatters") ++ miscFormatters;
|
||||
lang = canonicalLang;
|
||||
possible = allFormatters ++ miscFormatters;
|
||||
};
|
||||
};
|
||||
}
|
||||
) languages
|
||||
))
|
||||
) groupedLanguages;
|
||||
in
|
||||
(lib.listToAttrs (lib.attrValues mergedLanguages))
|
||||
// {
|
||||
all = {
|
||||
linter = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue