2023-04-17 23:27:27 +03:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
2023-11-07 19:16:46 -07:00
|
|
|
}: let
|
2024-03-23 20:14:39 -04:00
|
|
|
inherit (lib.modules) mkIf mkMerge;
|
2025-03-29 20:50:14 +03:00
|
|
|
inherit (lib.nvim.lua) toLuaObject;
|
|
|
|
|
inherit (lib.nvim.dag) entryAfter;
|
2023-11-07 19:16:46 -07:00
|
|
|
|
2025-03-29 20:50:14 +03:00
|
|
|
cfg = config.vim.lsp.null-ls;
|
2023-04-17 23:27:27 +03:00
|
|
|
in {
|
2025-03-29 20:50:14 +03:00
|
|
|
config = mkIf cfg.enable (mkMerge [
|
2023-04-17 23:27:27 +03:00
|
|
|
{
|
2024-03-12 03:46:29 +03:00
|
|
|
vim = {
|
2024-05-16 19:09:20 +03:00
|
|
|
startPlugins = [
|
2025-02-06 17:43:54 +03:00
|
|
|
"none-ls-nvim"
|
2024-05-16 19:09:20 +03:00
|
|
|
"plenary-nvim"
|
|
|
|
|
];
|
|
|
|
|
|
2025-03-29 20:50:14 +03:00
|
|
|
# null-ls implies that LSP is already being set up
|
|
|
|
|
# as it will hook into LSPs to receive information.
|
2024-03-12 03:46:29 +03:00
|
|
|
lsp.enable = true;
|
2023-04-17 23:27:27 +03:00
|
|
|
|
2025-03-29 20:50:14 +03:00
|
|
|
pluginRC.null_ls = entryAfter ["lsp-setup"] ''
|
|
|
|
|
require('null-ls').setup(${toLuaObject cfg.setupOpts})
|
|
|
|
|
'';
|
2024-03-12 03:46:29 +03:00
|
|
|
};
|
2023-04-17 23:27:27 +03:00
|
|
|
}
|
|
|
|
|
]);
|
|
|
|
|
}
|