fidget: do not apply mkLuaInline to str opts

This commit is contained in:
Ching Pei Yang 2024-04-27 16:06:31 +02:00
parent 0c4f7a544d
commit f0631c2d26
1 changed files with 20 additions and 29 deletions

View File

@ -7,8 +7,8 @@
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.attrsets) mapAttrs; inherit (lib.attrsets) mapAttrs;
inherit (lib.strings) toUpper; inherit (lib.strings) toUpper;
inherit (lib.types) int float bool str enum listOf attrsOf; inherit (lib.types) int float bool str enum listOf attrsOf anything;
inherit (lib.nvim.types) mkPluginSetupOption; inherit (lib.nvim.types) mkPluginSetupOption luaInline;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
in { in {
imports = [ imports = [
@ -44,13 +44,12 @@ in {
}; };
notification_group = mkOption { notification_group = mkOption {
description = "How to get a progress message's notification group key"; description = "How to get a progress message's notification group key";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
function(msg) function(msg)
return msg.lsp_client.name return msg.lsp_client.name
end end
''; '';
apply = mkLuaInline;
}; };
ignore = mkOption { ignore = mkOption {
description = "Ignore LSP servers by name"; description = "Ignore LSP servers by name";
@ -157,33 +156,29 @@ in {
}; };
format_message = mkOption { format_message = mkOption {
description = "How to format a progress message"; description = "How to format a progress message";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
require("fidget.progress.display").default_format_message require("fidget.progress.display").default_format_message
''; '';
apply = mkLuaInline;
}; };
format_annote = mkOption { format_annote = mkOption {
description = "How to format a progress annotation"; description = "How to format a progress annotation";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
function(msg) return msg.title end function(msg) return msg.title end
''; '';
apply = mkLuaInline;
}; };
format_group_name = mkOption { format_group_name = mkOption {
description = "How to format a progress notification group's name"; description = "How to format a progress notification group's name";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
function(group) return tostring(group) end function(group) return tostring(group) end
''; '';
apply = mkLuaInline;
}; };
overrides = mkOption { overrides = mkOption {
description = "Override options from the default notification config"; description = "Override options from the default notification config";
type = attrsOf str; type = attrsOf (attrsOf anything);
default = {rust_analyzer = "{ name = 'rust-analyzer' }";}; default = {rust_analyzer = {name = "rust-analyzer";};};
apply = mapAttrs (key: lua: mkLuaInline lua);
}; };
}; };
@ -225,21 +220,19 @@ in {
}; };
configs = mkOption { configs = mkOption {
description = "How to configure notification groups when instantiated"; description = "How to configure notification groups when instantiated";
type = attrsOf str; type = attrsOf luaInline;
default = {default = "require('fidget.notification').default_config";}; default = {default = mkLuaInline "require('fidget.notification').default_config";};
apply = mapAttrs (key: lua: mkLuaInline lua);
}; };
redirect = mkOption { redirect = mkOption {
description = "Conditionally redirect notifications to another backend"; description = "Conditionally redirect notifications to another backend";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
function(msg, level, opts) function(msg, level, opts)
if opts and opts.on_open then if opts and opts.on_open then
return require("fidget.integration.nvim-notify").delegate(msg, level, opts) return require("fidget.integration.nvim-notify").delegate(msg, level, opts)
end end
end end
''; '';
apply = mkLuaInline;
}; };
view = { view = {
@ -265,13 +258,12 @@ in {
}; };
render_message = mkOption { render_message = mkOption {
description = "How to render notification messages"; description = "How to render notification messages";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
function(msg, cnt) function(msg, cnt)
return cnt == 1 and msg or string.format("(%dx) %s", cnt, msg) return cnt == 1 and msg or string.format("(%dx) %s", cnt, msg)
end end
''; '';
apply = mkLuaInline;
}; };
}; };
@ -371,11 +363,10 @@ in {
}; };
path = mkOption { path = mkOption {
description = "Where Fidget writes its logs to"; description = "Where Fidget writes its logs to";
type = str; type = luaInline;
default = '' default = mkLuaInline ''
string.format("%s/fidget.nvim.log", vim.fn.stdpath("cache")) string.format("%s/fidget.nvim.log", vim.fn.stdpath("cache"))
''; '';
apply = mkLuaInline;
}; };
}; };
}; };