fix cmp bindings, format on save
This commit is contained in:
parent
ff529bc372
commit
be5e044f83
1 changed files with 68 additions and 53 deletions
|
@ -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
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue