Final bits of polish for lsp stuff
This commit is contained in:
parent
cc355821ab
commit
95ccdf5597
@ -59,6 +59,7 @@
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
nvim-tree-lua
|
||||
nvim-web-devicons
|
||||
nvim-lspconfig
|
||||
packer-nvim
|
||||
nvim-cmp
|
||||
@ -104,6 +105,7 @@
|
||||
};
|
||||
environment.systemPackages = (with pkgs; [
|
||||
nodejs
|
||||
nodePackages.typescript-language-server
|
||||
tmux
|
||||
gnumake
|
||||
# TODO find a version of the julia package that will install
|
||||
|
@ -27,43 +27,35 @@ require("mason-lspconfig").setup()
|
||||
|
||||
--https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||
|
||||
local lsconfig = require("lspconfig")
|
||||
-- Nix language server support
|
||||
require'lspconfig'.nil_ls.setup{}
|
||||
lsconfig.nil_ls.setup{}
|
||||
|
||||
-- This needs a path to the omnisharp dll provided
|
||||
require'lspconfig'.omnisharp.setup {}
|
||||
lsconfig.omnisharp.setup {}
|
||||
|
||||
-- Java language server support
|
||||
require'lspconfig'.java_language_server.setup{}
|
||||
lsconfig.java_language_server.setup{}
|
||||
|
||||
-- Typescript language server support
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
lsconfig.tsserver.setup{}
|
||||
|
||||
-- Global lsp configuration
|
||||
-- Rust language server support
|
||||
lsconfig.rust_analyzer.setup{}
|
||||
|
||||
-- lsp configuration
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
callback = function(args)
|
||||
vim.keymap.set('n', '<C-space>', vim.lsp.buf.hover, { buffer = args.buf })
|
||||
vim.keymap.set("n", "<Leader>a", vim.lsp.buf.code_action, { buffer = args.buf })
|
||||
vim.keymap.set({"n", "v"}, "<Leader>a", vim.lsp.buf.code_action, { buffer = args.buf })
|
||||
vim.keymap.set("n", "<M-f>", vim.lsp.buf.references, { buffer = args.buf })
|
||||
--vim.keymap.set("n", "", vim.lsp.buf.format, { buffer = args.buf })
|
||||
vim.keymap.set("n", "<Leader>f", vim.lsp.buf.format, { buffer = args.buf })
|
||||
-- We use F2 to rename things
|
||||
vim.keymap.set("n", "<F2>", vim.lsp.buf.rename, { buffer = args.buf })
|
||||
--vim.keymap.set("n", "", vim.lsp.buf.implementation, { buffer = args.buf })
|
||||
end,
|
||||
})
|
||||
|
||||
-- Rust language server support
|
||||
local rt = require("rust-tools")
|
||||
|
||||
-- https://github.com/simrat39/rust-tools.nvim#configuration
|
||||
rt.setup({
|
||||
server = {
|
||||
on_attach = function(_, bufnr)
|
||||
-- Hover actions
|
||||
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
|
||||
-- Code action groups
|
||||
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
-- LSP Diagnostics Options Setup
|
||||
local sign = function(opts)
|
||||
@ -191,21 +183,26 @@ vim.g.loaded_netrwPlugin = 1
|
||||
-- set termguicolors to enable highlight groups
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
-- OR setup with some options
|
||||
require("nvim-tree").setup({
|
||||
sort_by = "case_sensitive",
|
||||
view = {
|
||||
width = 30,
|
||||
},
|
||||
renderer = {
|
||||
group_empty = true,
|
||||
},
|
||||
--filters = {
|
||||
-- dotfiles = true,
|
||||
--},
|
||||
})
|
||||
-- Ensure nvim-web-deicons is loaded
|
||||
require'nvim-web-devicons'.setup{}
|
||||
|
||||
-- setup nvim-tree
|
||||
require("nvim-tree").setup{}
|
||||
--({
|
||||
-- sort_by = "case_sensitive",
|
||||
-- view = {
|
||||
-- width = 30,
|
||||
-- },
|
||||
-- renderer = {
|
||||
-- group_empty = true,
|
||||
-- },
|
||||
-- filters = {
|
||||
-- dotfiles = false,
|
||||
-- },
|
||||
--})
|
||||
|
||||
vim.keymap.set("n", "<C-p>", function()
|
||||
require("nvim-tree.api").tree.toggle()
|
||||
end)
|
||||
|
||||
require("nvim-tree.api").tree.toggle()
|
||||
|
6
nix/darwin/flake.lock
generated
6
nix/darwin/flake.lock
generated
@ -34,12 +34,12 @@
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-QSp0Et1cnKZWAtPqKhQnPJwRAeRSZg7j68QppyOghZA=",
|
||||
"path": "/nix/store/mbfrl9xq2i2vfmw4qbxz8j36qbc5nkp8-source/nix/base-system",
|
||||
"narHash": "sha256-SbQ+XfMrqzNICok/PcnjciXYRQPQYtfEuFTKGlKg0c0=",
|
||||
"path": "/nix/store/9y1n15br996sqsh4s4q3j3n16217cnny-source/nix/base-system",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "/nix/store/mbfrl9xq2i2vfmw4qbxz8j36qbc5nkp8-source/nix/base-system",
|
||||
"path": "/nix/store/9y1n15br996sqsh4s4q3j3n16217cnny-source/nix/base-system",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user