summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <adam.moloney.stuck@gmail.com>2022-02-10 17:22:58 +0100
committeradamstuck <adam.moloney.stuck@gmail.com>2022-02-11 08:33:15 +0100
commit6e9e94897a77ef16d4d5b3aa8faca1972cbfac48 (patch)
tree4fbb3035c10d990c41289e8cc3b6a5db7eca078a
parentbf45f211aaf4163e5ecd1f8487a50cb3ab2a5f6d (diff)
nvim: lsp-installer
-rw-r--r--.config/nvim/lua/opts.lua69
-rw-r--r--.config/nvim/lua/plugins.lua1
2 files changed, 17 insertions, 53 deletions
diff --git a/.config/nvim/lua/opts.lua b/.config/nvim/lua/opts.lua
index cb29acf..1e5bfda 100644
--- a/.config/nvim/lua/opts.lua
+++ b/.config/nvim/lua/opts.lua
@@ -51,67 +51,30 @@ cmp.setup {
}
vim.cmd('autocmd FileType markdown lua require("cmp").setup.buffer { enabled = false }')
-require('nvim-autopairs').setup{}
-
-- LSPCONFIG
-local nvim_lsp = require('lspconfig')
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
-
-local servers = { 'omnisharp', 'html', 'sumneko_lua', 'bashls', 'tsserver', 'cssls' }
-for _, lsp in ipairs(servers) do
- nvim_lsp[lsp].setup {
- capabilities = capabilities,
- }
-end
-
--- C#
-local pid = vim.fn.getpid()
-require'lspconfig'.omnisharp.setup {
- capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()),
- on_attach = function(_, bufnr)
- vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
- end,
- cmd = { "/usr/bin/omnisharp", "--languageserver" , "--hostPID", tostring(pid) },
-}
--- LUA
-local sumneko_root_path = "/home/adam/Documents/github/lua-language-server"
-local sumneko_binary = sumneko_root_path.."/bin/Linux/lua-language-server"
+local lsp_installer = require("nvim-lsp-installer")
-local runtime_path = vim.split(package.path, ';')
-table.insert(runtime_path, "lua/?.lua")
-table.insert(runtime_path, "lua/?/init.lua")
+-- Register a handler that will be called for each installed server when it's ready (i.e. when installation is finished
+-- or if the server is already installed).
+lsp_installer.on_server_ready(function(server)
+ local opts = {}
-require'lspconfig'.sumneko_lua.setup {
- cmd = {sumneko_binary, "-E", sumneko_root_path.."/main.lua"};
- settings = {
- Lua = {
- runtime = {
- version = 'LuaJIT',
- path = runtime_path,
- },
- diagnostics = {
- globals = {'vim'},
- },
- workspace = {
- library = vim.api.nvim_get_runtime_file("", true),
- },
- telemetry = {
- enable = false,
- },
- },
- },
-}
+ -- (optional) Customize the options passed to the server
+ -- if server.name == "tsserver" then
+ -- opts.root_dir = function() ... end
+ -- end
--- HTML, CSS, JS (TS), BASH
-require'lspconfig'.html.setup{}
-require'lspconfig'.cssls.setup{}
-require'lspconfig'.tsserver.setup{}
-require'lspconfig'.bashls.setup{}
+ -- This setup() function will take the provided server configuration and decorate it with the necessary properties
+ -- before passing it onwards to lspconfig.
+ -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
+ server:setup(opts)
+end)
-- Misc
+require('nvim-autopairs').setup{}
+
require'lsp_signature'.setup {
floating_window = false
}
diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua
index a5b8176..92d25c5 100644
--- a/.config/nvim/lua/plugins.lua
+++ b/.config/nvim/lua/plugins.lua
@@ -7,6 +7,7 @@ require('packer').startup(function()
use 'tpope/vim-repeat'
use 'b3nj5m1n/kommentary'
+ use 'williamboman/nvim-lsp-installer'
use 'neovim/nvim-lspconfig'
use 'hrsh7th/cmp-nvim-lsp'
use 'hrsh7th/nvim-cmp'