Final bits of polish for lsp stuff

This commit is contained in:
Jeremy Wall 2023-07-16 22:21:45 -04:00
parent cc355821ab
commit 95ccdf5597
3 changed files with 36 additions and 37 deletions

View File

@ -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

View File

@ -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
View File

@ -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"
}
},