mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 08:35:43 +02:00
lib/options: refactor
This commit is contained in:
parent
53697141b5
commit
7697a1cc5a
1 changed files with 23 additions and 89 deletions
112
lib/options.nix
112
lib/options.nix
|
@ -56,83 +56,39 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultNullOpts = rec {
|
defaultNullOpts = rec {
|
||||||
|
# Description helpers
|
||||||
|
mkDefaultDesc = defaultValue: "default: `${toString defaultValue}`";
|
||||||
|
mkDesc =
|
||||||
|
default: desc:
|
||||||
|
let
|
||||||
|
defaultDesc = mkDefaultDesc default;
|
||||||
|
in
|
||||||
|
if desc == "" then
|
||||||
|
defaultDesc
|
||||||
|
else
|
||||||
|
''
|
||||||
|
${desc}
|
||||||
|
|
||||||
|
${defaultDesc}
|
||||||
|
'';
|
||||||
|
|
||||||
mkNullable =
|
mkNullable =
|
||||||
type: default: desc:
|
type: default: desc:
|
||||||
mkNullOrOption type (
|
mkNullOrOption type (mkDesc default desc);
|
||||||
let
|
|
||||||
defaultDesc = "default: `${default}`";
|
|
||||||
in
|
|
||||||
if desc == "" then
|
|
||||||
defaultDesc
|
|
||||||
else
|
|
||||||
''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
${defaultDesc}
|
|
||||||
''
|
|
||||||
);
|
|
||||||
|
|
||||||
mkNullableWithRaw = type: mkNullable (nixvimTypes.maybeRaw type);
|
mkNullableWithRaw = type: mkNullable (nixvimTypes.maybeRaw type);
|
||||||
|
|
||||||
mkStrLuaOr =
|
mkStrLuaOr =
|
||||||
type: default: desc:
|
type: default: desc:
|
||||||
mkNullOrStrLuaOr type (
|
mkNullOrStrLuaOr type (mkDesc default desc);
|
||||||
let
|
|
||||||
defaultDesc = "default: `${default}`";
|
|
||||||
in
|
|
||||||
if desc == "" then
|
|
||||||
defaultDesc
|
|
||||||
else
|
|
||||||
''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
${defaultDesc}
|
|
||||||
''
|
|
||||||
);
|
|
||||||
|
|
||||||
mkStrLuaFnOr =
|
mkStrLuaFnOr =
|
||||||
type: default: desc:
|
type: default: desc:
|
||||||
mkNullOrStrLuaFnOr type (
|
mkNullOrStrLuaFnOr type (mkDesc default desc);
|
||||||
let
|
|
||||||
defaultDesc = "default: `${default}`";
|
|
||||||
in
|
|
||||||
if desc == "" then
|
|
||||||
defaultDesc
|
|
||||||
else
|
|
||||||
''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
${defaultDesc}
|
mkLua = default: desc: mkNullOrLua (mkDesc default desc);
|
||||||
''
|
|
||||||
);
|
|
||||||
|
|
||||||
mkLua =
|
mkLuaFn = default: desc: mkNullOrLuaFn (mkDesc default desc);
|
||||||
default: desc:
|
|
||||||
mkNullOrLua (
|
|
||||||
(optionalString (desc != "") ''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
'')
|
|
||||||
+ ''
|
|
||||||
default: `${default}`
|
|
||||||
''
|
|
||||||
);
|
|
||||||
|
|
||||||
mkLuaFn =
|
|
||||||
default: desc:
|
|
||||||
let
|
|
||||||
defaultDesc = "default: `${default}`";
|
|
||||||
in
|
|
||||||
mkNullOrLuaFn (
|
|
||||||
if desc == "" then
|
|
||||||
defaultDesc
|
|
||||||
else
|
|
||||||
''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
${defaultDesc}
|
|
||||||
''
|
|
||||||
);
|
|
||||||
|
|
||||||
mkNum = default: mkNullableWithRaw types.number (toString default);
|
mkNum = default: mkNullableWithRaw types.number (toString default);
|
||||||
mkInt = default: mkNullableWithRaw types.int (toString default);
|
mkInt = default: mkNullableWithRaw types.int (toString default);
|
||||||
|
@ -181,18 +137,7 @@ rec {
|
||||||
apply = mapNullable (
|
apply = mapNullable (
|
||||||
value: if isInt value then value else mkRaw "vim.diagnostic.severity.${strings.toUpper value}"
|
value: if isInt value then value else mkRaw "vim.diagnostic.severity.${strings.toUpper value}"
|
||||||
);
|
);
|
||||||
description =
|
description = mkDesc default desc;
|
||||||
let
|
|
||||||
defaultDesc = "default: `${toString default}`";
|
|
||||||
in
|
|
||||||
if desc == "" then
|
|
||||||
defaultDesc
|
|
||||||
else
|
|
||||||
''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
${defaultDesc}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
mkLogLevel =
|
mkLogLevel =
|
||||||
default: desc:
|
default: desc:
|
||||||
|
@ -202,18 +147,7 @@ rec {
|
||||||
apply = mapNullable (
|
apply = mapNullable (
|
||||||
value: if isInt value then value else mkRaw "vim.log.levels.${strings.toUpper value}"
|
value: if isInt value then value else mkRaw "vim.log.levels.${strings.toUpper value}"
|
||||||
);
|
);
|
||||||
description =
|
description = mkDesc default desc;
|
||||||
let
|
|
||||||
defaultDesc = "default: `${toString default}`";
|
|
||||||
in
|
|
||||||
if desc == "" then
|
|
||||||
defaultDesc
|
|
||||||
else
|
|
||||||
''
|
|
||||||
${desc}
|
|
||||||
|
|
||||||
${defaultDesc}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mkHighlight =
|
mkHighlight =
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue