fix cmp bindings, format on save

This commit is contained in:
sloane 2025-02-20 15:46:57 -05:00
parent ff529bc372
commit be5e044f83
Signed by: sloanelybutsurely
SSH key fingerprint: SHA256:8SBnwhl+RY3oEyQxy1a9wByPzxWM0x+/Ejc+sIlY5qQ

View file

@ -1,11 +1,8 @@
{ pkgs, ... }: { pkgs, ... }: {
{
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;
globals = { globals = { mapleader = " "; };
mapleader = " ";
};
opts = { opts = {
number = true; number = true;
@ -21,105 +18,110 @@
{ {
key = ";"; key = ";";
action = ":"; action = ":";
mode = ["n" "v"]; mode = [ "n" "v" ];
} }
{ {
key = "q;"; key = "q;";
action = "q:"; action = "q:";
mode = ["n" "v"]; mode = [ "n" "v" ];
} }
{ {
key = "<leader>y"; key = "<leader>y";
action = ''"+y''; action = ''"+y'';
mode = ["n" "v"]; mode = [ "n" "v" ];
} }
{ {
key = "<leader>Y"; key = "<leader>Y";
action = ''"+Y''; action = ''"+Y'';
mode = ["n" "v"]; mode = [ "n" "v" ];
} }
{ {
key = "<leader>p"; key = "<leader>p";
action = ''"+p''; action = ''"+p'';
mode = ["n" "v"]; mode = [ "n" "v" ];
} }
{ {
key = "<leader>P"; key = "<leader>P";
action = ''"+P''; action = ''"+P'';
mode = ["n" "v"]; mode = [ "n" "v" ];
} }
{ {
key = "<leader>w"; key = "<leader>w";
action = "<cmd>w<cr>"; action = "<cmd>w<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<leader>q"; key = "<leader>q";
action = "<cmd>q<cr>"; action = "<cmd>q<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<esc>"; key = "<esc>";
action = "<cmd>nohlsearch<cr>"; action = "<cmd>nohlsearch<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = ''<leader>"''; key = ''<leader>"'';
action = "<cmd>split<cr>"; action = "<cmd>split<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<leader>%"; key = "<leader>%";
action = "<cmd>vsplit<cr>"; action = "<cmd>vsplit<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<leader><tab>"; key = "<leader><tab>";
action = "<cmd>NERDTreeToggle<cr>"; action = "<cmd>NERDTreeToggle<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<leader>fl"; key = "<leader>fl";
action = "<cmd>NERDTreeFind<cr>"; action = "<cmd>NERDTreeFind<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<leader><space>"; key = "<leader><space>";
action = "<cmd>Telescope find_files theme=dropdown<cr>"; action = "<cmd>Telescope find_files theme=dropdown<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<leader>/"; key = "<leader>/";
action = "<cmd>Telescope live_grep<cr>"; action = "<cmd>Telescope live_grep<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<C-h>"; key = "<C-h>";
action = "<cmd>ZellijNavigateLeft<cr>"; action = "<cmd>ZellijNavigateLeft<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<C-j>"; key = "<C-j>";
action = "<cmd>ZellijNavigateDown<cr>"; action = "<cmd>ZellijNavigateDown<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<C-k>"; key = "<C-k>";
action = "<cmd>ZellijNavigateUp<cr>"; action = "<cmd>ZellijNavigateUp<cr>";
mode = ["n"]; mode = [ "n" ];
} }
{ {
key = "<C-l>"; key = "<C-l>";
action = "<cmd>ZellijNavigateRight<cr>"; action = "<cmd>ZellijNavigateRight<cr>";
mode = ["n"]; mode = [ "n" ];
} }
]; ];
extraPlugins = with pkgs.vimPlugins; [ autoGroups = { format_on_save = { clear = true; }; };
vim-abolish
nerdtree autoCmd = [{
vim-rhubarb event = "BufWritePre";
]; group = "format_on_save";
pattern = "*";
command = "lua vim.lsp.buf.format()";
}];
extraPlugins = with pkgs.vimPlugins; [ vim-abolish nerdtree vim-rhubarb ];
plugins.commentary.enable = true; plugins.commentary.enable = true;
plugins.repeat.enable = true; plugins.repeat.enable = true;
@ -162,6 +164,21 @@
tailwindcss.enable = true; tailwindcss.enable = true;
terraform_lsp.enable = true; terraform_lsp.enable = true;
}; };
keymaps.lspBuf = {
gd = "definition";
gi = "implementation";
gr = "references";
};
};
plugins.none-ls = {
enable = true;
sources.formatting = {
mix.enable = true;
nixfmt.enable = true;
prettier.enable = true;
stylua.enable = true;
};
}; };
plugins.telescope.enable = true; plugins.telescope.enable = true;
@ -172,42 +189,40 @@
settings = { settings = {
sources = [ sources = [
{ name = "nvim_lsp"; } { name = "nvim_lsp"; }
{ name = "snippy"; } { name = "luasnip"; }
{ name = "path"; } { name = "path"; }
{ name = "buffer"; } { name = "buffer"; }
]; ];
mappings = { mapping = {
"<C-n>" = '' "<C-n>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
function(fallback) do "<C-p>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
if cmp.visible() then "<Tab>" = ''
cmp.select_next_item({ behavior = cmp.SelectBehavior.Insert }) cmp.mapping(function(fallback)
else local luasnip = require('luasnip')
fallback()
end
end
'';
"<C-p>" = ''
function(fallback) do
if cmp.visible() then
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Insert })
else
fallback()
end
end
'';
"<CR>" = ''
function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.confirm({ select = true }) cmp.confirm({ select = true })
elseif luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump()
else else
fallback() fallback()
end end
end end, {'i', 's'})
''; '';
"<S-Tab>" = ''
cmp.mapping(function(fallback)
local luasnip = require('luasnip')
if luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, {'i', 's'})
'';
"<CR>" = "cmp.mapping.confirm({ select = true })";
}; };
snippet.expand = '' snippet.expand = ''
function(args) function(args)
require('snippy').expand_snippet(args.body) require('luasnip').lsp_expand(args.body)
end end
''; '';
}; };