From d02e16803e9b60e5701d715da75bcc8ed4e62e64 Mon Sep 17 00:00:00 2001 From: Dario48true Date: Sun, 29 Oct 2023 16:18:24 +0100 Subject: [PATCH] qol --- init.lua | 9 +- lua/Dario48/plugins/lsp-zero.lua | 160 ++++++++++++++++--------------- 2 files changed, 91 insertions(+), 78 deletions(-) diff --git a/init.lua b/init.lua index 81509ce..64897ec 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,10 @@ vim.cmd("nnoremap ") + vim.g.mapleader = ' ' -vim.cmd("set shiftwidth=4") -vim.cmd("set nu") + +vim.cmd("set tabstop=4") +vim.cmd("set softtabstop=0") +vim.cmd("set shiftwidth=0") + +vim.opt.nu = true require("Dario48/lazy") diff --git a/lua/Dario48/plugins/lsp-zero.lua b/lua/Dario48/plugins/lsp-zero.lua index 3967152..a7f42d3 100644 --- a/lua/Dario48/plugins/lsp-zero.lua +++ b/lua/Dario48/plugins/lsp-zero.lua @@ -1,82 +1,90 @@ return { - { - 'VonHeikemen/lsp-zero.nvim', - branch = 'v3.x', - lazy = true, - config = false, - init = function() - -- Disable automatic setup, we are doing it manually - vim.g.lsp_zero_extend_cmp = 0 - vim.g.lsp_zero_extend_lspconfig = 0 - end, - }, - { - 'williamboman/mason.nvim', - lazy = false, - config = true, - }, - - -- Autocompletion - { - 'hrsh7th/nvim-cmp', - event = 'InsertEnter', - dependencies = { - {'L3MON4D3/LuaSnip'}, + { + 'VonHeikemen/lsp-zero.nvim', + branch = 'v3.x', + lazy = true, + config = false, + init = function() + -- Disable automatic setup, we are doing it manually + vim.g.lsp_zero_extend_cmp = 0 + vim.g.lsp_zero_extend_lspconfig = 0 + end, }, - config = function() - -- Here is where you configure the autocompletion settings. - local lsp_zero = require('lsp-zero') - lsp_zero.extend_cmp() - - -- And you can configure cmp even more, if you want to. - local cmp = require('cmp') - local cmp_action = lsp_zero.cmp_action() - - cmp.setup({ - formatting = lsp_zero.cmp_format(), - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.complete(), - [' '] = cmp.mapping.confirm({select = true}), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp_action.luasnip_jump_forward(), - [''] = cmp_action.luasnip_jump_backward(), - }) - }) - end - }, - - -- LSP - { - 'neovim/nvim-lspconfig', - cmd = {'LspInfo', 'LspInstall', 'LspStart'}, - event = {'BufReadPre', 'BufNewFile'}, - dependencies = { - {'hrsh7th/cmp-nvim-lsp'}, - {'williamboman/mason-lspconfig.nvim'}, + { + 'williamboman/mason.nvim', + lazy = false, + config = function () + require("mason").setup() + vim.keymap.set("n", "m", ":Mason ") + end }, - config = function() - -- This is where all the LSP shenanigans will live - local lsp_zero = require('lsp-zero') - lsp_zero.extend_lspconfig() - lsp_zero.on_attach(function(client, bufnr) - -- see :help lsp-zero-keybindings - -- to learn the available actions - lsp_zero.default_keymaps({buffer = bufnr}) - end) + -- Autocompletion + { + 'hrsh7th/nvim-cmp', + event = 'InsertEnter', + dependencies = { + {'L3MON4D3/LuaSnip'}, + }, + config = function() + -- Here is where you configure the autocompletion settings. + local lsp_zero = require('lsp-zero') + lsp_zero.extend_cmp() - require('mason-lspconfig').setup({ - ensure_installed = {}, - handlers = { - lsp_zero.default_setup, - lua_ls = function() - -- (Optional) Configure lua language server for neovim - local lua_opts = lsp_zero.nvim_lua_ls() - require('lspconfig').lua_ls.setup(lua_opts) - end, - } - }) - end - } + -- And you can configure cmp even more, if you want to. + local cmp = require('cmp') + local cmp_action = lsp_zero.cmp_action() + + cmp.setup({ + sources = { + {name = 'nvim_lsp'}, + {name = 'nvim_lua'}, + }, + formatting = lsp_zero.cmp_format(), + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.complete(), + [' '] = cmp.mapping.confirm({select = true}), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp_action.luasnip_jump_forward(), + [''] = cmp_action.luasnip_jump_backward(), + }) + }) + end + }, + + -- LSP + { + 'neovim/nvim-lspconfig', + cmd = {'LspInfo', 'LspInstall', 'LspStart'}, + event = {'BufReadPre', 'BufNewFile'}, + dependencies = { + {'hrsh7th/cmp-nvim-lsp'}, + {'williamboman/mason-lspconfig.nvim'}, + }, + config = function() + -- This is where all the LSP shenanigans will live + local lsp_zero = require('lsp-zero') + lsp_zero.extend_lspconfig() + + lsp_zero.on_attach(function(client, bufnr) + -- see :help lsp-zero-keybindings + -- to learn the available actions + vim.keymap.set("n", "gd", function () vim.lsp.buf.definition() end, {buffer = bufnr, remap = false}) + lsp_zero.default_keymaps({buffer = bufnr}) + end) + + require('mason-lspconfig').setup({ + ensure_installed = {}, + handlers = { + lsp_zero.default_setup, + lua_ls = function() + -- (Optional) Configure lua language server for neovim + local lua_opts = lsp_zero.nvim_lua_ls() + require('lspconfig').lua_ls.setup(lua_opts) + end, + } + }) + end + } }