From 45099b41f9cadd0c02b04b84d4101621048dec34 Mon Sep 17 00:00:00 2001 From: Garrit Franke Date: Mon, 20 Jun 2022 10:33:50 +0200 Subject: [PATCH] nvim: configure lsp --- .config/nvim/lua/plugins.lua | 33 ++++++++++++++++++++++++++- .config/nvim/lua/settings/keymaps.lua | 16 +++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index e054c5a..d8d10f4 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -43,7 +43,7 @@ return packer.startup(function(use) --------------------- -- Package Manager -- --------------------- - use "wbthomason/packer.nvim" -- Packer manage itself + use "wbthomason/packer.nvim" -- Packer manage itself use { "nvim-lua/plenary.nvim" } @@ -54,6 +54,37 @@ return packer.startup(function(use) requires = { {'nvim-lua/plenary.nvim'} } } + --------------------- + -- LSP Extensions -- + --------------------- + use 'neovim/nvim-lspconfig' -- Configurations for Nvim LSP + + use { + "williamboman/nvim-lsp-installer", + requires = { + { "neovim/nvim-lspconfig" }, + { "simrat39/rust-tools.nvim" }, + { "jose-elias-alvarez/typescript.nvim" }, + { "someone-stole-my-name/yaml-companion.nvim" }, + { + "Saecki/crates.nvim", + event = { "BufRead Cargo.toml" }, + config = function() + require("crates").setup() + end, + }, + { + "vuki656/package-info.nvim", + event = { "BufRead package.json" }, + config = function() + require("package-info").setup() + end + }, + }, + config = function() + require("plugins.lsp-setup") + end, + } -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins diff --git a/.config/nvim/lua/settings/keymaps.lua b/.config/nvim/lua/settings/keymaps.lua index e69de29..0a20e83 100644 --- a/.config/nvim/lua/settings/keymaps.lua +++ b/.config/nvim/lua/settings/keymaps.lua @@ -0,0 +1,16 @@ +local function global_keymap(desc) return { silent = true, desc = desc } end + +--Remap space as leader key +vim.api.nvim_set_keymap("", "", "", { noremap = true, silent = true }) +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +-- Y yank until the end of line +vim.keymap.set("n", "Y", "y$", global_keymap("Yank full line")) +vim.keymap.set("v", "p", "\"_dP", global_keymap("Paste from clipboard")) + +-- Better window navigation +vim.keymap.set("n", "", "h", global_keymap("Switch to lefthand window")) +vim.keymap.set("n", "", "j", global_keymap("Switch to window below")) +vim.keymap.set("n", "", "k", global_keymap("Switch to window above")) +vim.keymap.set("n", "", "l", global_keymap("Switch to righthand window"))