From f60a852a6c144f56071e1690e0b199ca5bf7e7bf Mon Sep 17 00:00:00 2001 From: 409 Date: Sun, 3 Dec 2023 19:27:38 +0000 Subject: [PATCH] added various plugins to customize my nvim experience --- after/plugin/colors.lua | 0 after/plugin/fugitive.lua | 0 after/plugin/harpoon.lua | 0 after/plugin/lsp.lua | 66 +++++++++++++++++++++++++++++++++++++ after/plugin/telescope.lua | 0 after/plugin/treesitter.lua | 0 after/plugin/undotree.lua | 0 init.lua | 0 lua/409/init.lua | 1 + lua/409/packer.lua | 16 +++++++++ lua/409/remap.lua | 41 +++++++++++++++++++++++ lua/409/set.lua | 33 +++++++++++++++++++ plugin/packer_compiled.lua | 35 ++++++++++++++++++++ 13 files changed, 192 insertions(+) mode change 100644 => 100755 after/plugin/colors.lua mode change 100644 => 100755 after/plugin/fugitive.lua mode change 100644 => 100755 after/plugin/harpoon.lua create mode 100755 after/plugin/lsp.lua mode change 100644 => 100755 after/plugin/telescope.lua mode change 100644 => 100755 after/plugin/treesitter.lua mode change 100644 => 100755 after/plugin/undotree.lua mode change 100644 => 100755 init.lua mode change 100644 => 100755 lua/409/init.lua mode change 100644 => 100755 lua/409/packer.lua mode change 100644 => 100755 lua/409/remap.lua create mode 100755 lua/409/set.lua mode change 100644 => 100755 plugin/packer_compiled.lua diff --git a/after/plugin/colors.lua b/after/plugin/colors.lua old mode 100644 new mode 100755 diff --git a/after/plugin/fugitive.lua b/after/plugin/fugitive.lua old mode 100644 new mode 100755 diff --git a/after/plugin/harpoon.lua b/after/plugin/harpoon.lua old mode 100644 new mode 100755 diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua new file mode 100755 index 0000000..0836c69 --- /dev/null +++ b/after/plugin/lsp.lua @@ -0,0 +1,66 @@ +local lsp = require("lsp-zero") + +lsp.preset("recommended") + +require('mason').setup({}) +require('mason-lspconfig').setup({ + ensure_installed = {'tsserver', 'rust_analyzer', 'lua_ls'}, + handlers = { + lsp.default_setup + } +}) + +local cmp = require('cmp') + +local cmp_select = {behavior = cmp.SelectBehavior.Select} +local cmp_mappings = lsp.defaults.cmp_mappings({ +}) + +cmp_mappings[''] = nil +cmp_mappings[''] = nil + +cmp.setup({ + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered() + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_prev_item(cmp_select), + [''] = cmp.mapping.select_next_item(cmp_select), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.complete(), + [''] = nil, + [''] = nil + }) +}) + +lsp.set_preferences({ + suggest_lsp_servers = false, + sign_icons = { + error = 'E', + warn = 'W', + hint = 'H', + info = 'I' + } +}) + +lsp.on_attach(function(client, bufnr) + local opts = {buffer = bufnr, remap = false} + + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) + vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) + vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) + vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, opts) + vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) +end) + +lsp.setup() + +vim.diagnostic.config({ + virtual_text = true +}) diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua old mode 100644 new mode 100755 diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua old mode 100644 new mode 100755 diff --git a/after/plugin/undotree.lua b/after/plugin/undotree.lua old mode 100644 new mode 100755 diff --git a/init.lua b/init.lua old mode 100644 new mode 100755 diff --git a/lua/409/init.lua b/lua/409/init.lua old mode 100644 new mode 100755 index 6a20a0d..6a1494e --- a/lua/409/init.lua +++ b/lua/409/init.lua @@ -1 +1,2 @@ require('409.remap') +require('409.set') diff --git a/lua/409/packer.lua b/lua/409/packer.lua old mode 100644 new mode 100755 index 255a423..fbe45fa --- a/lua/409/packer.lua +++ b/lua/409/packer.lua @@ -28,4 +28,20 @@ return require('packer').startup(function(use) use('mbbill/undotree') use('tpope/vim-fugitive') + + use { + 'VonHeikemen/lsp-zero.nvim', + branch = 'v3.x', + requires = { + {'williamboman/mason.nvim'}, + {'williamboman/mason-lspconfig.nvim'}, + + -- LSP Support + {'neovim/nvim-lspconfig'}, + -- Autocompletion + {'hrsh7th/nvim-cmp'}, + {'hrsh7th/cmp-nvim-lsp'}, + {'L3MON4D3/LuaSnip'}, + } + } end) diff --git a/lua/409/remap.lua b/lua/409/remap.lua old mode 100644 new mode 100755 index b760350..9f2fb55 --- a/lua/409/remap.lua +++ b/lua/409/remap.lua @@ -1,2 +1,43 @@ vim.g.mapleader = " " vim.keymap.set("n", "pv", vim.cmd.Ex) + +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") + +vim.keymap.set("n", "J", "mzJ`z") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") + +-- greatest remap ever +vim.keymap.set("x", "p", [["_dP]]) + +-- next greatest remap ever : asbjornHaland +vim.keymap.set({ "n", "v" }, "y", [["+y]]) +vim.keymap.set("n", "Y", [["+Y]]) + +vim.keymap.set({ "n", "v" }, "d", [["_d]]) + +-- This is going to get me cancelled +vim.keymap.set("i", "", "") + +vim.keymap.set("n", "Q", "") +vim.keymap.set("n", "", "silent !tmux neww tmux-sessionizer") +vim.keymap.set("n", "f", vim.lsp.buf.format) + +vim.keymap.set("n", "", "cnextzz") +vim.keymap.set("n", "", "cprevzz") +vim.keymap.set("n", "k", "lnextzz") +vim.keymap.set("n", "j", "lprevzz") + +vim.keymap.set("n", "s", [[:%s/\<\>//gI]]) +vim.keymap.set("n", "x", "!chmod +x %", { silent = true }) + +vim.keymap.set("n", "vpp", "e ~/.dotfiles/nvim/.config/nvim/lua/theprimeagen/packer.lua"); +vim.keymap.set("n", "mr", "CellularAutomaton make_it_rain"); + +vim.keymap.set("n", "", function() + vim.cmd("so") +end) + diff --git a/lua/409/set.lua b/lua/409/set.lua new file mode 100755 index 0000000..bac5c9b --- /dev/null +++ b/lua/409/set.lua @@ -0,0 +1,33 @@ +vim.opt.guicursor = '' + +vim.opt.nu = true +vim.opt.relativenumber = true + +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true + +vim.opt.smartindent = true + +vim.opt.wrap = false + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv('HOME') .. '/.vim/undodir' +vim.opt.undofile = true + +vim.opt.hlsearch = false +vim.opt.incsearch = true + +vim.opt.termguicolors = true + +vim.opt.scrolloff = 8 +vim.opt.signcolumn = 'yes' +vim.opt.isfname:append('@-@') + +vim.opt.updatetime = 50 + +vim.opt.colorcolumn = '80' + +vim.g.mapleader = ' ' diff --git a/plugin/packer_compiled.lua b/plugin/packer_compiled.lua old mode 100644 new mode 100755 index 5057c18..d2d9e0e --- a/plugin/packer_compiled.lua +++ b/plugin/packer_compiled.lua @@ -74,11 +74,46 @@ end time([[try_loadstring definition]], false) time([[Defining packer_plugins]], true) _G.packer_plugins = { + LuaSnip = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/LuaSnip", + url = "https://github.com/L3MON4D3/LuaSnip" + }, + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + url = "https://github.com/hrsh7th/cmp-nvim-lsp" + }, harpoon = { loaded = true, path = "/home/j409/.local/share/nvim/site/pack/packer/start/harpoon", url = "https://github.com/ThePrimeagen/harpoon" }, + ["lsp-zero.nvim"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim", + url = "https://github.com/VonHeikemen/lsp-zero.nvim" + }, + ["mason-lspconfig.nvim"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + url = "https://github.com/williamboman/mason-lspconfig.nvim" + }, + ["mason.nvim"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/mason.nvim", + url = "https://github.com/williamboman/mason.nvim" + }, + ["nvim-cmp"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-lspconfig"] = { + loaded = true, + path = "/home/j409/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, ["nvim-treesitter"] = { loaded = true, path = "/home/j409/.local/share/nvim/site/pack/packer/start/nvim-treesitter",