Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
108 lines
1.9 KiB
Nix
108 lines
1.9 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
inherit (config.myvim.mkKey) mkKeymap;
|
|
in
|
|
{
|
|
opts = {
|
|
foldcolumn = "1";
|
|
foldlevel = 99;
|
|
foldlevelstart = -1;
|
|
foldenable = true;
|
|
};
|
|
|
|
diagnostic.settings = {
|
|
virtual_text = false;
|
|
underline = true;
|
|
signs = true;
|
|
severity_sort = true;
|
|
|
|
float = {
|
|
border = config.myvim.border;
|
|
source = "always";
|
|
focusable = false;
|
|
};
|
|
};
|
|
|
|
plugins = {
|
|
lsp = {
|
|
enable = true;
|
|
|
|
keymaps.extra = [
|
|
(mkKeymap "n" "<leader>lO" "<cmd>lua require('otter').activate()<cr>" "Force Otter")
|
|
];
|
|
|
|
inlayHints = true;
|
|
|
|
servers = {
|
|
typos_lsp = {
|
|
enable = true;
|
|
extraOptions.init_options.diagnosticSeverity = "Hint";
|
|
};
|
|
};
|
|
|
|
keymaps = {
|
|
silent = true;
|
|
|
|
diagnostic = {
|
|
"<leader>lj" = "goto_next";
|
|
"<leader>lk" = "goto_prev";
|
|
};
|
|
};
|
|
};
|
|
|
|
lspsaga = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
lightbulb = {
|
|
enable = false;
|
|
virtualText = false;
|
|
};
|
|
|
|
outline.keys.jump = "<cr>";
|
|
ui.bortder = config.myvim.border;
|
|
|
|
scrollPreview = {
|
|
scrollDown = "<c-d>";
|
|
scrollUp = "<c-u>";
|
|
};
|
|
};
|
|
};
|
|
|
|
nvim-ufo = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
provider_selector = # lua
|
|
''
|
|
function()
|
|
return { "lsp", "indent" }
|
|
end
|
|
'';
|
|
|
|
preview.mappings = {
|
|
close = "q";
|
|
switch = "K";
|
|
};
|
|
};
|
|
};
|
|
|
|
otter = {
|
|
enable = true;
|
|
|
|
settings.buffers = {
|
|
set_filetype = true;
|
|
};
|
|
};
|
|
|
|
tiny-inline-diagnostic.enable = true;
|
|
trouble.enable = true;
|
|
};
|
|
|
|
imports =
|
|
with builtins;
|
|
with lib;
|
|
map (fn: ./${fn}) (
|
|
filter (fn: (fn != "default.nix" && !hasSuffix ".md" "${fn}")) (attrNames (readDir ./.))
|
|
);
|
|
}
|