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; { packages.myVimPackage = with pkgs.vimPlugins; {
start = [ start = [
nvim-tree-lua nvim-tree-lua
nvim-web-devicons
nvim-lspconfig nvim-lspconfig
packer-nvim packer-nvim
nvim-cmp nvim-cmp
@ -104,6 +105,7 @@
}; };
environment.systemPackages = (with pkgs; [ environment.systemPackages = (with pkgs; [
nodejs nodejs
nodePackages.typescript-language-server
tmux tmux
gnumake gnumake
# TODO find a version of the julia package that will install # 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 --https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
local lsconfig = require("lspconfig")
-- Nix language server support -- Nix language server support
require'lspconfig'.nil_ls.setup{} lsconfig.nil_ls.setup{}
-- This needs a path to the omnisharp dll provided -- This needs a path to the omnisharp dll provided
require'lspconfig'.omnisharp.setup {} lsconfig.omnisharp.setup {}
-- Java language server support -- Java language server support
require'lspconfig'.java_language_server.setup{} lsconfig.java_language_server.setup{}
-- Typescript language server support -- 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', { vim.api.nvim_create_autocmd('LspAttach', {
callback = function(args) callback = function(args)
vim.keymap.set('n', '<C-space>', vim.lsp.buf.hover, { buffer = args.buf }) 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", "<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 }) --vim.keymap.set("n", "", vim.lsp.buf.implementation, { buffer = args.buf })
end, 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 -- LSP Diagnostics Options Setup
local sign = function(opts) local sign = function(opts)
@ -191,21 +183,26 @@ vim.g.loaded_netrwPlugin = 1
-- set termguicolors to enable highlight groups -- set termguicolors to enable highlight groups
vim.opt.termguicolors = true vim.opt.termguicolors = true
-- OR setup with some options -- Ensure nvim-web-deicons is loaded
require("nvim-tree").setup({ require'nvim-web-devicons'.setup{}
sort_by = "case_sensitive",
view = {
width = 30,
},
renderer = {
group_empty = true,
},
--filters = {
-- dotfiles = true,
--},
})
-- 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() vim.keymap.set("n", "<C-p>", function()
require("nvim-tree.api").tree.toggle() require("nvim-tree.api").tree.toggle()
end) end)
require("nvim-tree.api").tree.toggle()

6
nix/darwin/flake.lock generated
View File

@ -34,12 +34,12 @@
}, },
"locked": { "locked": {
"lastModified": 1, "lastModified": 1,
"narHash": "sha256-QSp0Et1cnKZWAtPqKhQnPJwRAeRSZg7j68QppyOghZA=", "narHash": "sha256-SbQ+XfMrqzNICok/PcnjciXYRQPQYtfEuFTKGlKg0c0=",
"path": "/nix/store/mbfrl9xq2i2vfmw4qbxz8j36qbc5nkp8-source/nix/base-system", "path": "/nix/store/9y1n15br996sqsh4s4q3j3n16217cnny-source/nix/base-system",
"type": "path" "type": "path"
}, },
"original": { "original": {
"path": "/nix/store/mbfrl9xq2i2vfmw4qbxz8j36qbc5nkp8-source/nix/base-system", "path": "/nix/store/9y1n15br996sqsh4s4q3j3n16217cnny-source/nix/base-system",
"type": "path" "type": "path"
} }
}, },