mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 16:39:00 +02:00
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:
parent
4c8d3559ac
commit
1181535e34
1 changed files with 20 additions and 17 deletions
|
@ -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 =
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue