feat(nvim): simplify lsp config
parent
44adf70862
commit
92b9ac1233
68
flake.lock
68
flake.lock
|
@ -55,38 +55,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cmp-async-path": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1673896803,
|
|
||||||
"narHash": "sha256-dgAiVbdMiKjiKWk+dJf/Zz8T20+D4OalGH5dTzYi5aM=",
|
|
||||||
"owner": "FelipeLema",
|
|
||||||
"repo": "cmp-async-path",
|
|
||||||
"rev": "d8229a93d7b71f22c66ca35ac9e6c6cd850ec61d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "FelipeLema",
|
|
||||||
"repo": "cmp-async-path",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"copilot-lua": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1688190439,
|
|
||||||
"narHash": "sha256-lD9FdbKKZ6d/BjIfqp0Ust2hqSYNLpCFWxuaKUO9qLs=",
|
|
||||||
"owner": "zbirenbaum",
|
|
||||||
"repo": "copilot.lua",
|
|
||||||
"rev": "e48bd7020a98be217d85c006a298656294fd6210",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "zbirenbaum",
|
|
||||||
"repo": "copilot.lua",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"darwin": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -470,22 +438,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"leap-spooky-nvim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1687792124,
|
|
||||||
"narHash": "sha256-EPqbsG7KFHdnbW430+BSrPeOoVy99KtIC8OpFbV1ycw=",
|
|
||||||
"owner": "ggandor",
|
|
||||||
"repo": "leap-spooky.nvim",
|
|
||||||
"rev": "e003f2aa376190148f2e7731a60c89239335013c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ggandor",
|
|
||||||
"repo": "leap-spooky.nvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lowdown-src": {
|
"lowdown-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -502,22 +454,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lspsaga-nvim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689849495,
|
|
||||||
"narHash": "sha256-tD3UxJUtYoxUMTFF4gfKChVfI5SxZQ2C12WRF73Ahc4=",
|
|
||||||
"owner": "glepnir",
|
|
||||||
"repo": "lspsaga.nvim",
|
|
||||||
"rev": "0c20101ac826961a7052c4ad9d5f7f791b4adab1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "glepnir",
|
|
||||||
"repo": "lspsaga.nvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"master": {
|
"master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689880801,
|
"lastModified": 1689880801,
|
||||||
|
@ -848,15 +784,11 @@
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"arkenfox-userjs": "arkenfox-userjs",
|
"arkenfox-userjs": "arkenfox-userjs",
|
||||||
"asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver",
|
"asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver",
|
||||||
"cmp-async-path": "cmp-async-path",
|
|
||||||
"copilot-lua": "copilot-lua",
|
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"hypr-contrib": "hypr-contrib",
|
"hypr-contrib": "hypr-contrib",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpaper": "hyprpaper",
|
"hyprpaper": "hyprpaper",
|
||||||
"leap-spooky-nvim": "leap-spooky-nvim",
|
|
||||||
"lspsaga-nvim": "lspsaga-nvim",
|
|
||||||
"master": "master",
|
"master": "master",
|
||||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||||
"nil": "nil",
|
"nil": "nil",
|
||||||
|
|
12
flake.nix
12
flake.nix
|
@ -35,24 +35,12 @@
|
||||||
# Neovim
|
# Neovim
|
||||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||||
|
|
||||||
cmp-async-path.url = "github:FelipeLema/cmp-async-path";
|
|
||||||
cmp-async-path.flake = false;
|
|
||||||
|
|
||||||
copilot-lua.flake = false;
|
|
||||||
copilot-lua.url = "github:zbirenbaum/copilot.lua";
|
|
||||||
|
|
||||||
lspsaga-nvim.flake = false;
|
|
||||||
lspsaga-nvim.url = "github:glepnir/lspsaga.nvim";
|
|
||||||
|
|
||||||
nvim-treesitter-textsubjects.flake = false;
|
nvim-treesitter-textsubjects.flake = false;
|
||||||
nvim-treesitter-textsubjects.url = "github:RRethy/nvim-treesitter-textsubjects";
|
nvim-treesitter-textsubjects.url = "github:RRethy/nvim-treesitter-textsubjects";
|
||||||
|
|
||||||
smartcolumn-nvim.flake = false;
|
smartcolumn-nvim.flake = false;
|
||||||
smartcolumn-nvim.url = "github:m4xshen/smartcolumn.nvim";
|
smartcolumn-nvim.url = "github:m4xshen/smartcolumn.nvim";
|
||||||
|
|
||||||
leap-spooky-nvim.flake = false;
|
|
||||||
leap-spooky-nvim.url = "github:ggandor/leap-spooky.nvim";
|
|
||||||
|
|
||||||
telekasten-nvim.flake = false;
|
telekasten-nvim.flake = false;
|
||||||
telekasten-nvim.url = "github:renerocksai/telekasten.nvim";
|
telekasten-nvim.url = "github:renerocksai/telekasten.nvim";
|
||||||
|
|
||||||
|
|
|
@ -132,13 +132,6 @@ with builtins;
|
||||||
{ plugin = which-key-nvim; }
|
{ plugin = which-key-nvim; }
|
||||||
{ plugin = lspkind-nvim; }
|
{ plugin = lspkind-nvim; }
|
||||||
{ plugin = lsp_lines-nvim; }
|
{ plugin = lsp_lines-nvim; }
|
||||||
{
|
|
||||||
plugin = lspsaga-nvim-original;
|
|
||||||
dependencies = [
|
|
||||||
{ plugin = nvim-web-devicons; }
|
|
||||||
{ plugin = nvim-treesitter.withAllGrammars; }
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
plugin = nvim-ufo;
|
plugin = nvim-ufo;
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
|
|
@ -53,51 +53,50 @@ capabilities.textDocument.foldingRange = {
|
||||||
}
|
}
|
||||||
require("ufo").setup()
|
require("ufo").setup()
|
||||||
|
|
||||||
require("lspsaga").setup({
|
|
||||||
symbol_in_winbar = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
lightbulb = {
|
|
||||||
enable = false,
|
|
||||||
enable_in_insert = false,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
local lspconfig = require("lspconfig")
|
local lspconfig = require("lspconfig")
|
||||||
local on_attach_def = function(_, bufnr)
|
local on_attach_def = function(_, bufnr)
|
||||||
require("which-key").register({
|
require("which-key").register({
|
||||||
K = { "<cmd>Lspsaga hover_doc ++quiet<cr>", "show info" },
|
K = { vim.lsp.buf.hover, "Hover" },
|
||||||
["<leader>"] = {
|
["<leader>"] = {
|
||||||
l = {
|
l = {
|
||||||
d = { "<cmd>Lspsaga show_cursor_diagnostics<cr>", "open diagnostic window" },
|
d = { vim.diagnostic.open_float, "Open diagnostic window" },
|
||||||
c = { "<cmd>Lspsaga code_action<cr>", "code action" },
|
c = { vim.lsp.buf.code_action, "Code action" },
|
||||||
r = { "<cmd>Lspsaga rename<cr>", "rename" },
|
r = { vim.lsp.buf.rename, "Rename" },
|
||||||
i = { "<cmd>Lspsaga hover_doc ++keep<cr>", "show info (sticky)" },
|
|
||||||
f = {
|
f = {
|
||||||
function()
|
function()
|
||||||
vim.lsp.buf.format({ async = true })
|
vim.lsp.buf.format({ async = true })
|
||||||
end,
|
end,
|
||||||
"format (lsp)",
|
"Format (lsp)",
|
||||||
mode = { "n", "v" },
|
mode = { "n", "v" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
t = {
|
t = {
|
||||||
l = { lsp_lines.toggle, "lsp lines" },
|
l = { lsp_lines.toggle, "Lsp lines" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
g = {
|
g = {
|
||||||
d = { "<cmd>Lspsaga peek_definition<cr>", "Goto definition" },
|
d = {
|
||||||
t = { "<cmd>Lspsaga peek_type_definition<cr>", "Goto type defininition" },
|
function()
|
||||||
h = { "<cmd>Lspsaga lsp_finder<CR>", "Lsp finder" },
|
require("telescope.builtin").lsp_definitions({ reuse_win = true })
|
||||||
r = { "<cmd>Telescope lsp_references<cr>", "Goto reference" },
|
end,
|
||||||
|
"Goto definition",
|
||||||
|
},
|
||||||
|
t = {
|
||||||
|
function()
|
||||||
|
require("telescope.builtin").lsp_type_definitions({ reuse_win = true })
|
||||||
|
end,
|
||||||
|
"Goto type defininition",
|
||||||
|
},
|
||||||
|
r = { "<cmd>Telescope lsp_references<cr>", "Goto references" },
|
||||||
D = { vim.lsp.buf.declaration, "Goto declaration" },
|
D = { vim.lsp.buf.declaration, "Goto declaration" },
|
||||||
I = { "<cmd>Telescope lsp_implementations<cr>", "Goto implementation" },
|
I = { "<cmd>Telescope lsp_implementations<cr>", "Goto implementation" },
|
||||||
|
K = { vim.lsp.buf.signature_help, "Signature help" },
|
||||||
},
|
},
|
||||||
["["] = {
|
["["] = {
|
||||||
d = { "<cmd>Lspsaga diagnostic_jump_prev<cr>", "Previous diagnostic" },
|
d = { vim.diagnostic.goto_prev, "Previous diagnostic" },
|
||||||
},
|
},
|
||||||
["]"] = {
|
["]"] = {
|
||||||
d = { "<cmd>Lspsaga diagnostic_jump_next<cr>", "Next diagnostic" },
|
d = { vim.diagnostic.goto_next, "Next diagnostic" },
|
||||||
},
|
},
|
||||||
}, { buffer = bufnr, silent = true })
|
}, { buffer = bufnr, silent = true })
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,28 +16,6 @@ with lib.my;
|
||||||
src = inputs.smartcolumn-nvim;
|
src = inputs.smartcolumn-nvim;
|
||||||
};
|
};
|
||||||
|
|
||||||
copilot-lua = prev.vimPlugins.copilot-lua.overrideAttrs (_: {
|
|
||||||
version = mkVersionInput inputs.copilot-lua;
|
|
||||||
src = inputs.copilot-lua;
|
|
||||||
});
|
|
||||||
|
|
||||||
lspsaga-nvim-original = prev.vimPlugins.lspsaga-nvim-original.overrideAttrs (_: {
|
|
||||||
version = mkVersionInput inputs.lspsaga-nvim;
|
|
||||||
src = inputs.lspsaga-nvim;
|
|
||||||
});
|
|
||||||
|
|
||||||
cmp-async-path = prev.vimPlugins.cmp-path.overrideAttrs (_: {
|
|
||||||
pname = "cmp-async-path";
|
|
||||||
version = mkVersionInput inputs.cmp-async-path;
|
|
||||||
src = inputs.cmp-async-path;
|
|
||||||
});
|
|
||||||
|
|
||||||
leap-spooky-nvim = prev.vimUtils.buildVimPluginFrom2Nix {
|
|
||||||
pname = "leap-spooky-nvim";
|
|
||||||
version = mkVersionInput inputs.leap-spooky-nvim;
|
|
||||||
src = inputs.leap-spooky-nvim;
|
|
||||||
};
|
|
||||||
|
|
||||||
telekasten-nvim = prev.vimUtils.buildVimPluginFrom2Nix {
|
telekasten-nvim = prev.vimUtils.buildVimPluginFrom2Nix {
|
||||||
pname = "telekasten-nvim";
|
pname = "telekasten-nvim";
|
||||||
version = mkVersionInput inputs.telekasten-nvim;
|
version = mkVersionInput inputs.telekasten-nvim;
|
||||||
|
|
Loading…
Reference in New Issue