mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-30 16:46:45 +00:00
7dbd1cd8d1
* modules/completion: rewrite * treewide: remove vsnip, add luasnip * nvim-cmp: add default sorting * nvim-cmp: load after luasnip * lib: fix docs for mergelessListOf * docs: add changelog entires for rewrite * deprecations: add rewrite deprecations * nvim-cmp: clarify in format description * docs: fix option reference in release notes * treewide: remove reduant `// {default = false;}`s * luasnip: add missing `{option}` for option reference * deprecations: add entry for vsnip * nvim-autopairs: use multiline string * nvim-dap: use outer attribute
38 lines
952 B
Nix
38 lines
952 B
Nix
# From home-manager: https://github.com/nix-community/home-manager/blob/master/modules/lib/booleans.nix
|
|
{lib}: let
|
|
inherit (builtins) isString getAttr;
|
|
inherit (lib.options) mkOption;
|
|
inherit (lib.types) bool;
|
|
inherit (lib.nvim.attrsets) mapListToAttrs;
|
|
in {
|
|
# Converts a boolean to a yes/no string. This is used in lots of
|
|
# configuration formats.
|
|
diagnosticsToLua = {
|
|
lang,
|
|
config,
|
|
diagnosticsProviders,
|
|
}:
|
|
mapListToAttrs
|
|
(v: let
|
|
type =
|
|
if isString v
|
|
then v
|
|
else getAttr v.type;
|
|
package =
|
|
if isString v
|
|
then diagnosticsProviders.${type}.package
|
|
else v.package;
|
|
in {
|
|
name = "${lang}-diagnostics-${type}";
|
|
value = diagnosticsProviders.${type}.nullConfig package;
|
|
})
|
|
config;
|
|
|
|
mkEnable = desc:
|
|
mkOption {
|
|
description = "Turn on ${desc} for enabled languages by default";
|
|
type = bool;
|
|
default = false;
|
|
};
|
|
}
|