mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-09 16:54:36 +02:00
plugins/none-ls/sources: structured "with" settings
Allow supplying strLua or an attrset that will be handled using `toLuaObject`. Included an example and a link to the [upstream documentation]. [upstream documentation]: https://github.com/nvimtools/none-ls.nvim/blob/main/doc/BUILTIN_CONFIG.md
This commit is contained in:
parent
ff6ad12a7d
commit
55bda0cc3b
1 changed files with 34 additions and 4 deletions
|
@ -18,9 +18,26 @@ in
|
||||||
options.plugins.none-ls.sources.${sourceType}.${sourceName} =
|
options.plugins.none-ls.sources.${sourceType}.${sourceName} =
|
||||||
{
|
{
|
||||||
enable = lib.mkEnableOption "the ${sourceName} ${sourceType} source for none-ls";
|
enable = lib.mkEnableOption "the ${sourceName} ${sourceType} source for none-ls";
|
||||||
withArgs = helpers.mkNullOrOption helpers.nixvimTypes.strLua ''
|
# Support strLua for compatibility with the old withArgs option
|
||||||
Raw Lua code passed as an argument to the source's `with` method.
|
settings = helpers.defaultNullOpts.mkStrLuaOr' {
|
||||||
'';
|
type = with lib.types; attrsOf anything;
|
||||||
|
description = ''
|
||||||
|
Options provided to the `require('null-ls').builtins.${sourceType}.${sourceName}.with` function.
|
||||||
|
|
||||||
|
See upstream's [`BUILTIN_CONFIG`] documentation.
|
||||||
|
|
||||||
|
[`BUILTIN_CONFIG`]: https://github.com/nvimtools/none-ls.nvim/blob/main/doc/BUILTIN_CONFIG.md
|
||||||
|
'';
|
||||||
|
example = {
|
||||||
|
extra_filetypes = [ "toml" ];
|
||||||
|
disabled_filetypes = [ "lua" ];
|
||||||
|
extra_args = [
|
||||||
|
"-i"
|
||||||
|
"2"
|
||||||
|
"-ci"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
# Only declare a package option if a package is required
|
# Only declare a package option if a package is required
|
||||||
// lib.optionalAttrs (packaged ? ${sourceName}) {
|
// lib.optionalAttrs (packaged ? ${sourceName}) {
|
||||||
|
@ -42,11 +59,24 @@ in
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: Added 2024-07-16; remove after 24.11
|
||||||
|
imports =
|
||||||
|
let
|
||||||
|
basePath = [
|
||||||
|
"plugins"
|
||||||
|
"none-ls"
|
||||||
|
"sources"
|
||||||
|
sourceType
|
||||||
|
sourceName
|
||||||
|
];
|
||||||
|
in
|
||||||
|
[ (lib.mkRenamedOptionModule (basePath ++ [ "withArgs" ]) (basePath ++ [ "settings" ])) ];
|
||||||
|
|
||||||
config = lib.mkIf (cfg.enable && cfg'.enable) {
|
config = lib.mkIf (cfg.enable && cfg'.enable) {
|
||||||
plugins.none-ls.settings.sources = lib.mkDefault [
|
plugins.none-ls.settings.sources = lib.mkDefault [
|
||||||
(
|
(
|
||||||
"require('null-ls').builtins.${sourceType}.${sourceName}"
|
"require('null-ls').builtins.${sourceType}.${sourceName}"
|
||||||
+ lib.optionalString (cfg'.withArgs != null) ".with(${cfg'.withArgs})"
|
+ lib.optionalString (cfg'.settings != null) ".with(${helpers.toLuaObject cfg'.settings})"
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue