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