1
0
Fork 0

Add diagnostics plugin and icons to Neovim configuration

This commit is contained in:
Avery 2025-03-11 13:53:51 +00:00
parent 1178b3ee53
commit 2d0d477a99
Signed by: Avery
GPG key ID: B684FD451B692E04
4 changed files with 193 additions and 139 deletions

View file

@ -7,6 +7,7 @@
./none-ls.nix ./none-ls.nix
./treesitter.nix ./treesitter.nix
./telescope.nix ./telescope.nix
./trouble.nix
]; ];
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;

View file

@ -1,7 +1,21 @@
{ pkgs, ... }: { { ... }: {
programs.nixvim.plugins = { programs.nixvim.plugins = {
lsp = { lsp = {
enable = true; enable = true;
keymaps.lspBuf."<leader>ca" = "code_action";
luaConfig.post = ''
local signs = {
Error = "",
Warn = "",
Hint = "",
Info = ""
}
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, {text = icon, texthl = hl, numhl = hl})
end
'';
servers = { servers = {
cssls.enable = true; cssls.enable = true;
dartls.enable = true; dartls.enable = true;

View file

@ -1,11 +1,9 @@
{ ... }: { { ... }: {
programs.nixvim = { programs.nixvim = {
keymaps = [ keymaps = [{
{
action = "<cmd>Neotree toggle<CR>"; action = "<cmd>Neotree toggle<CR>";
key = "<leader>fi"; key = "<leader>fi";
} }];
];
plugins.neo-tree = { plugins.neo-tree = {
enable = true; enable = true;
closeIfLastWindow = true; closeIfLastWindow = true;
@ -15,14 +13,13 @@
winbar = true; winbar = true;
statusline = false; statusline = false;
tabsLayout = "equal"; tabsLayout = "equal";
sources = [ sources = [{
{ source = "filesystem"; displayName = " 󰉓 Archivos "; } source = "filesystem";
]; displayName = " 󰉓 Archivos ";
}];
}; };
defaultComponentConfigs = { defaultComponentConfigs = {
container = { container = { enableCharacterFade = true; };
enableCharacterFade = true;
};
indent = { indent = {
indentSize = 2; indentSize = 2;
padding = 1; padding = 1;
@ -56,11 +53,11 @@
added = ""; added = "";
modified = ""; modified = "";
deleted = ""; deleted = "";
renamed = ""; renamed = "";
untracked = ""; untracked = "";
ignored = ""; ignored = "";
unstaged = "U"; unstaged = "";
staged = ""; staged = "";
conflict = ""; conflict = "";
}; };
}; };
@ -68,7 +65,7 @@
symbols = { symbols = {
error = ""; error = "";
warn = ""; warn = "";
hint = ""; hint = "";
info = ""; info = "";
}; };
highlights = { highlights = {
@ -93,16 +90,12 @@
visible = false; visible = false;
hideDotfiles = false; hideDotfiles = false;
hideGitignored = false; hideGitignored = false;
hideByName = [ hideByName = [ "nodeModules" ];
"nodeModules"
];
}; };
groupEmptyDirs = false; groupEmptyDirs = false;
useLibuvFileWatcher = true; useLibuvFileWatcher = true;
}; };
buffers = { buffers = { groupEmptyDirs = true; };
groupEmptyDirs = true;
};
renderers = { renderers = {
directory = [ directory = [
"indent" "indent"
@ -146,12 +139,33 @@
{ {
name = "container"; name = "container";
content = [ content = [
{ name = "name"; zindex = 10; } {
{ name = "clipboard"; zindex = 10;} name = "name";
{ name = "bufnr"; zindex = 10;} zindex = 10;
{ name = "modified"; zindex = 20; align = "right";} }
{ name = "diagnostics"; zindex = 20; align = "right";} {
{ name = "git_status"; zindex = 15; align = "right";} name = "clipboard";
zindex = 10;
}
{
name = "bufnr";
zindex = 10;
}
{
name = "modified";
zindex = 20;
align = "right";
}
{
name = "diagnostics";
zindex = 20;
align = "right";
}
{
name = "git_status";
zindex = 15;
align = "right";
}
]; ];
} }
]; ];

View file

@ -0,0 +1,25 @@
{ ... }: {
programs.nixvim = {
plugins.trouble = {
enable = true;
settings = {
auto_refresh = true;
focus = true;
follow = false;
keys = {
"<cr>" = "jump_close";
"s" = "jump_vsplit";
"S" = "jump_split";
};
win = {
type = "float";
border = "rounded";
};
};
};
keymaps = [{
action = "<cmd>Trouble diagnostics toggle<cr>";
key = "<leader>dg";
}];
};
}