neovim additions
This commit is contained in:
parent
315e988734
commit
409f13a1db
25 changed files with 242 additions and 86 deletions
|
|
@ -8,6 +8,10 @@
|
|||
nix = [ "nixfmt" ];
|
||||
lua = [ "stylua" ];
|
||||
python = [ "ruff_format" ];
|
||||
format_on_save = {
|
||||
lsp_fallback = true;
|
||||
timeout_ms = 500;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,10 +1,61 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
gitsigns = {
|
||||
enable = true;
|
||||
programs.nixvim.plugins.gitsigns.enable = true;
|
||||
|
||||
programs.nixvim.keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "]c";
|
||||
action.__raw = ''
|
||||
function()
|
||||
if vim.wo.diff then return "]c" end
|
||||
vim.schedule(function() require("gitsigns").nav_hunk("next") end)
|
||||
return "<Ignore>"
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Next git hunk";
|
||||
expr = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "[c";
|
||||
action.__raw = ''
|
||||
function()
|
||||
if vim.wo.diff then return "[c" end
|
||||
vim.schedule(function() require("gitsigns").nav_hunk("prev") end)
|
||||
return "<Ignore>"
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Previous git hunk";
|
||||
expr = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hs";
|
||||
action.__raw = ''function() require("gitsigns").stage_hunk() end'';
|
||||
options.desc = "Stage hunk";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hr";
|
||||
action.__raw = ''function() require("gitsigns").reset_hunk() end'';
|
||||
options.desc = "Reset hunk";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hp";
|
||||
action.__raw = ''function() require("gitsigns").preview_hunk() end'';
|
||||
options.desc = "Preview hunk";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>hb";
|
||||
action.__raw = ''function() require("gitsigns").blame_line({ full = true }) end'';
|
||||
options.desc = "Blame line";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
enable = true;
|
||||
servers = {
|
||||
nil_ls.enable = true;
|
||||
lua-ls = {
|
||||
lua_ls = {
|
||||
enable = true;
|
||||
settings.Lua.diagnostics.globals = [ "vim" ];
|
||||
};
|
||||
|
|
|
|||
16
home/afoucaultc/packages/neovim/plugins/neogit.nix
Normal file
16
home/afoucaultc/packages/neovim/plugins/neogit.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
neogit.enable = true;
|
||||
diffview.enable = true; # compagnon habituel de neogit pour les diffs
|
||||
};
|
||||
|
||||
programs.nixvim.keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>gg";
|
||||
action = "<cmd>Neogit<cr>";
|
||||
options.desc = "Open Neogit";
|
||||
}
|
||||
];
|
||||
}
|
||||
10
home/afoucaultc/packages/neovim/plugins/noice.nix
Normal file
10
home/afoucaultc/packages/neovim/plugins/noice.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.noice = {
|
||||
enable = true;
|
||||
settings.lsp = {
|
||||
"vim.lsp.util.convert_input_to_markdown_lines" = true;
|
||||
"vim.lsp.util.stylize_markdown" = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
11
home/afoucaultc/packages/neovim/plugins/snacks.nix
Normal file
11
home/afoucaultc/packages/neovim/plugins/snacks.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.nixvim.plugins.snacks = {
|
||||
enable = true;
|
||||
settings = {
|
||||
bigfile.enabled = true; # gère proprement les très gros fichiers
|
||||
quickfile.enabled = true; # affichage plus rapide au démarrage
|
||||
indent.enabled = true; # guides d'indentation visuels
|
||||
};
|
||||
};
|
||||
}
|
||||
8
home/afoucaultc/packages/neovim/plugins/web-devicons.nix
Normal file
8
home/afoucaultc/packages/neovim/plugins/web-devicons.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
web-devicons.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,10 +1,17 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
which-key = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
programs.nixvim.plugins.which-key.enable = true;
|
||||
|
||||
programs.nixvim.extraConfigLua = ''
|
||||
require("which-key").add({
|
||||
{ "<leader>f", group = "Find" },
|
||||
{ "<leader>g", group = "Git" },
|
||||
{ "<leader>h", group = "Git Hunk" },
|
||||
{ "<leader>s", group = "Spell" },
|
||||
{ "<leader>c", group = "Code" },
|
||||
{ "<leader>r", group = "Run" },
|
||||
{ "<leader>l", group = "LaTeX" },
|
||||
{ "<leader>t", group = "Toggle" },
|
||||
})
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue