plugins/lsp/extensions: remove with lib + fix mkRaw reference

See https://github.com/nix-community/nixvim/pull/2053#issuecomment-2307961673
This commit is contained in:
Matt Sturgeon 2024-08-24 01:55:49 +01:00
parent 4c8d3559ac
commit 1181535e34
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299

View file

@ -1,5 +1,4 @@
{ lib, config, ... }: { lib, config, ... }:
with lib;
let let
inherit (lib.nixvim) mkPluginPackageOption mkSettingsOption toSnakeCase; inherit (lib.nixvim) mkPluginPackageOption mkSettingsOption toSnakeCase;
in in
@ -32,15 +31,15 @@ rec {
++ (map ( ++ (map (
option: option:
let let
optionPath = if isString option then [ option ] else option; # option is already a path (i.e. a list) optionPath = lib.toList option;
optionPathSnakeCase = map toSnakeCase optionPath; optionPathSnakeCase = map toSnakeCase optionPath;
in in
mkRenamedOptionModule (basePluginPath ++ optionPath) (settingsPath ++ optionPathSnakeCase) lib.mkRenamedOptionModule (basePluginPath ++ optionPath) (settingsPath ++ optionPathSnakeCase)
) optionsRenamedToSettings); ) optionsRenamedToSettings);
options.plugins.telescope.extensions.${name} = { options.plugins.telescope.extensions.${name} = {
enable = mkEnableOption "the `${name}` telescope extension"; enable = lib.mkEnableOption "the `${name}` telescope extension";
package = mkPluginPackageOption name defaultPackage; package = mkPluginPackageOption name defaultPackage;
@ -55,23 +54,27 @@ rec {
let let
cfg = config.plugins.telescope.extensions.${name}; cfg = config.plugins.telescope.extensions.${name};
in in
mkIf cfg.enable (mkMerge [ lib.mkIf cfg.enable (
{ lib.mkMerge [
extraPlugins = [ cfg.package ]; {
extraPlugins = [ cfg.package ];
plugins.telescope = { plugins.telescope = {
enabledExtensions = [ extensionName ]; enabledExtensions = [ extensionName ];
settings.extensions.${extensionName} = cfg.settings; settings.extensions.${extensionName} = cfg.settings;
}; };
} }
(extraConfig cfg) (extraConfig cfg)
]); ]
);
}; };
# FIXME: don't manually put Default in the description
# TODO: Comply with #603
mkModeMappingsOption = mkModeMappingsOption =
mode: defaults: mode: defaults:
mkOption { lib.mkOption {
type = with types; attrsOf strLuaFn; type = with lib.types; attrsOf strLuaFn;
default = { }; default = { };
description = '' description = ''
Keymaps in ${mode} mode. Keymaps in ${mode} mode.
@ -81,7 +84,7 @@ rec {
${defaults} ${defaults}
``` ```
''; '';
apply = mapAttrs (_: mkRaw); apply = lib.mapAttrs (_: lib.nixvim.mkRaw);
}; };
mkMappingsOption = mkMappingsOption =