mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-09 16:54:36 +02:00
treewide: Reformat with nixfmt
This commit is contained in:
parent
c6281260dc
commit
62f32bfc71
459 changed files with 28139 additions and 26377 deletions
320
lib/options.nix
320
lib/options.nix
|
@ -4,21 +4,23 @@
|
|||
nixvimUtils,
|
||||
}:
|
||||
with lib;
|
||||
with nixvimUtils; rec {
|
||||
with nixvimUtils;
|
||||
rec {
|
||||
# Creates an option with a nullable type that defaults to null.
|
||||
mkNullOrOption = type: desc:
|
||||
mkNullOrOption =
|
||||
type: desc:
|
||||
lib.mkOption {
|
||||
type = lib.types.nullOr type;
|
||||
default = null;
|
||||
description = desc;
|
||||
};
|
||||
|
||||
mkCompositeOption = desc: options:
|
||||
mkNullOrOption (types.submodule {inherit options;}) desc;
|
||||
mkCompositeOption = desc: options: mkNullOrOption (types.submodule { inherit options; }) desc;
|
||||
|
||||
mkNullOrStr = mkNullOrOption (with nixvimTypes; maybeRaw str);
|
||||
|
||||
mkNullOrLua = desc:
|
||||
mkNullOrLua =
|
||||
desc:
|
||||
lib.mkOption {
|
||||
type = lib.types.nullOr nixvimTypes.strLua;
|
||||
default = null;
|
||||
|
@ -26,7 +28,8 @@ with nixvimUtils; rec {
|
|||
apply = mkRaw;
|
||||
};
|
||||
|
||||
mkNullOrLuaFn = desc:
|
||||
mkNullOrLuaFn =
|
||||
desc:
|
||||
lib.mkOption {
|
||||
type = lib.types.nullOr nixvimTypes.strLuaFn;
|
||||
default = null;
|
||||
|
@ -34,37 +37,35 @@ with nixvimUtils; rec {
|
|||
apply = mkRaw;
|
||||
};
|
||||
|
||||
mkNullOrStrLuaOr = ty: desc:
|
||||
mkNullOrStrLuaOr =
|
||||
ty: desc:
|
||||
lib.mkOption {
|
||||
type = lib.types.nullOr (types.either nixvimTypes.strLua ty);
|
||||
default = null;
|
||||
description = desc;
|
||||
apply = v:
|
||||
if builtins.isString v
|
||||
then mkRaw v
|
||||
else v;
|
||||
apply = v: if builtins.isString v then mkRaw v else v;
|
||||
};
|
||||
|
||||
mkNullOrStrLuaFnOr = ty: desc:
|
||||
mkNullOrStrLuaFnOr =
|
||||
ty: desc:
|
||||
lib.mkOption {
|
||||
type = lib.types.nullOr (types.either nixvimTypes.strLuaFn ty);
|
||||
default = null;
|
||||
description = desc;
|
||||
apply = v:
|
||||
if builtins.isString v
|
||||
then mkRaw v
|
||||
else v;
|
||||
apply = v: if builtins.isString v then mkRaw v else v;
|
||||
};
|
||||
|
||||
defaultNullOpts = rec {
|
||||
mkNullable = type: default: desc:
|
||||
mkNullable =
|
||||
type: default: desc:
|
||||
mkNullOrOption type (
|
||||
let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
if desc == ""
|
||||
then defaultDesc
|
||||
else ''
|
||||
if desc == "" then
|
||||
defaultDesc
|
||||
else
|
||||
''
|
||||
${desc}
|
||||
|
||||
${defaultDesc}
|
||||
|
@ -73,33 +74,41 @@ with nixvimUtils; rec {
|
|||
|
||||
mkNullableWithRaw = type: mkNullable (maybeRaw type);
|
||||
|
||||
mkStrLuaOr = type: default: desc:
|
||||
mkNullOrStrLuaOr type (let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
if desc == ""
|
||||
then defaultDesc
|
||||
else ''
|
||||
${desc}
|
||||
mkStrLuaOr =
|
||||
type: default: desc:
|
||||
mkNullOrStrLuaOr type (
|
||||
let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
if desc == "" then
|
||||
defaultDesc
|
||||
else
|
||||
''
|
||||
${desc}
|
||||
|
||||
${defaultDesc}
|
||||
'');
|
||||
${defaultDesc}
|
||||
''
|
||||
);
|
||||
|
||||
mkStrLuaFnOr = type: default: desc:
|
||||
mkNullOrStrLuaFnOr type (let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
if desc == ""
|
||||
then defaultDesc
|
||||
else ''
|
||||
${desc}
|
||||
mkStrLuaFnOr =
|
||||
type: default: desc:
|
||||
mkNullOrStrLuaFnOr type (
|
||||
let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
if desc == "" then
|
||||
defaultDesc
|
||||
else
|
||||
''
|
||||
${desc}
|
||||
|
||||
${defaultDesc}
|
||||
'');
|
||||
${defaultDesc}
|
||||
''
|
||||
);
|
||||
|
||||
mkLua = default: desc:
|
||||
mkNullOrLua
|
||||
(
|
||||
mkLua =
|
||||
default: desc:
|
||||
mkNullOrLua (
|
||||
(optionalString (desc != "") ''
|
||||
${desc}
|
||||
|
||||
|
@ -109,18 +118,20 @@ with nixvimUtils; rec {
|
|||
''
|
||||
);
|
||||
|
||||
mkLuaFn = default: desc: let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
mkNullOrLuaFn
|
||||
(
|
||||
if desc == ""
|
||||
then defaultDesc
|
||||
else ''
|
||||
${desc}
|
||||
mkLuaFn =
|
||||
default: desc:
|
||||
let
|
||||
defaultDesc = "default: `${default}`";
|
||||
in
|
||||
mkNullOrLuaFn (
|
||||
if desc == "" then
|
||||
defaultDesc
|
||||
else
|
||||
''
|
||||
${desc}
|
||||
|
||||
${defaultDesc}
|
||||
''
|
||||
${defaultDesc}
|
||||
''
|
||||
);
|
||||
|
||||
mkNum = default: mkNullable (with nixvimTypes; maybeRaw number) (toString default);
|
||||
|
@ -129,137 +140,124 @@ with nixvimUtils; rec {
|
|||
mkPositiveInt = default: mkNullable (with nixvimTypes; maybeRaw ints.positive) (toString default);
|
||||
# Unsigned: >=0
|
||||
mkUnsignedInt = default: mkNullable (with nixvimTypes; maybeRaw ints.unsigned) (toString default);
|
||||
mkBool = default:
|
||||
mkNullable (with nixvimTypes; maybeRaw bool) (
|
||||
if default
|
||||
then "true"
|
||||
else "false"
|
||||
);
|
||||
mkBool =
|
||||
default: mkNullable (with nixvimTypes; maybeRaw bool) (if default then "true" else "false");
|
||||
mkStr = default: mkNullable (with nixvimTypes; maybeRaw str) ''${builtins.toString default}'';
|
||||
mkAttributeSet = default: mkNullable nixvimTypes.attrs ''${default}'';
|
||||
mkListOf = ty: default: mkNullable (with nixvimTypes; listOf (maybeRaw ty)) default;
|
||||
mkAttrsOf = ty: default: mkNullable (with nixvimTypes; attrsOf (maybeRaw ty)) default;
|
||||
mkEnum = enumValues: default: mkNullable (with nixvimTypes; maybeRaw (enum enumValues)) ''"${default}"'';
|
||||
mkEnum =
|
||||
enumValues: default: mkNullable (with nixvimTypes; maybeRaw (enum enumValues)) ''"${default}"'';
|
||||
mkEnumFirstDefault = enumValues: mkEnum enumValues (head enumValues);
|
||||
mkBorder = default: name: desc:
|
||||
mkNullable
|
||||
(with nixvimTypes; maybeRaw border)
|
||||
default
|
||||
(let
|
||||
defaultDesc = ''
|
||||
Defines the border to use for ${name}.
|
||||
Accepts same border values as `nvim_open_win()`. See `:help nvim_open_win()` for more info.
|
||||
'';
|
||||
in
|
||||
if desc == ""
|
||||
then defaultDesc
|
||||
else ''
|
||||
${desc}
|
||||
${defaultDesc}
|
||||
'');
|
||||
mkSeverity = default: desc:
|
||||
mkOption {
|
||||
type = with types;
|
||||
nullOr
|
||||
(
|
||||
either ints.unsigned
|
||||
(
|
||||
enum
|
||||
["error" "warn" "info" "hint"]
|
||||
)
|
||||
);
|
||||
default = null;
|
||||
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}
|
||||
mkBorder =
|
||||
default: name: desc:
|
||||
mkNullable (with nixvimTypes; maybeRaw border) default (
|
||||
let
|
||||
defaultDesc = ''
|
||||
Defines the border to use for ${name}.
|
||||
Accepts same border values as `nvim_open_win()`. See `:help nvim_open_win()` for more info.
|
||||
'';
|
||||
};
|
||||
mkLogLevel = default: desc:
|
||||
mkOption {
|
||||
type = with types;
|
||||
nullOr
|
||||
(
|
||||
either
|
||||
ints.unsigned
|
||||
nixvimTypes.logLevel
|
||||
);
|
||||
default = null;
|
||||
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 ''
|
||||
if desc == "" then
|
||||
defaultDesc
|
||||
else
|
||||
''
|
||||
${desc}
|
||||
|
||||
${defaultDesc}
|
||||
'';
|
||||
};
|
||||
|
||||
mkHighlight = default: name: desc:
|
||||
mkNullable
|
||||
nixvimTypes.highlight
|
||||
default
|
||||
(
|
||||
if desc == ""
|
||||
then "Highlight settings."
|
||||
else desc
|
||||
''
|
||||
);
|
||||
mkSeverity =
|
||||
default: desc:
|
||||
mkOption {
|
||||
type =
|
||||
with types;
|
||||
nullOr (
|
||||
either ints.unsigned (enum [
|
||||
"error"
|
||||
"warn"
|
||||
"info"
|
||||
"hint"
|
||||
])
|
||||
);
|
||||
default = null;
|
||||
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}
|
||||
'';
|
||||
};
|
||||
mkLogLevel =
|
||||
default: desc:
|
||||
mkOption {
|
||||
type = with types; nullOr (either ints.unsigned nixvimTypes.logLevel);
|
||||
default = null;
|
||||
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}
|
||||
'';
|
||||
};
|
||||
|
||||
mkHighlight =
|
||||
default: name: desc:
|
||||
mkNullable nixvimTypes.highlight default (if desc == "" then "Highlight settings." else desc);
|
||||
};
|
||||
|
||||
mkPackageOption = name: default:
|
||||
mkPackageOption =
|
||||
name: default:
|
||||
mkOption {
|
||||
type = types.package;
|
||||
inherit default;
|
||||
description = "Plugin to use for ${name}";
|
||||
};
|
||||
|
||||
mkSettingsOption = {
|
||||
options ? {},
|
||||
description,
|
||||
example ? null,
|
||||
}:
|
||||
mkSettingsOption =
|
||||
{
|
||||
options ? { },
|
||||
description,
|
||||
example ? null,
|
||||
}:
|
||||
mkOption {
|
||||
type = with types;
|
||||
type =
|
||||
with types;
|
||||
submodule {
|
||||
freeformType = attrsOf anything;
|
||||
inherit options;
|
||||
};
|
||||
default = {};
|
||||
default = { };
|
||||
inherit description;
|
||||
example =
|
||||
if example == null
|
||||
then {
|
||||
foo_bar = 42;
|
||||
hostname = "localhost:8080";
|
||||
callback.__raw = ''
|
||||
function()
|
||||
print('nixvim')
|
||||
end
|
||||
'';
|
||||
}
|
||||
else example;
|
||||
if example == null then
|
||||
{
|
||||
foo_bar = 42;
|
||||
hostname = "localhost:8080";
|
||||
callback.__raw = ''
|
||||
function()
|
||||
print('nixvim')
|
||||
end
|
||||
'';
|
||||
}
|
||||
else
|
||||
example;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue