Neovim_Backup/lua/lsp.lua
2021-12-25 05:40:23 -06:00

54 lines
2.0 KiB
Lua
Executable File

local lsp_installer = require("nvim-lsp-installer")
lsp_installer.on_server_ready(function(server)
local opts = {
-- Coq configuration, ensure coq actual has capabilties shown
capabilities = require("coq").lsp_ensure_capabilities(vim.lsp.protocol.make_client_capabilities()),
}
-- In the scenario we're using rust it makes more sense to use rust-tools
-- see: https://github.com/williamboman/nvim-lsp-installer/wiki/Rust
--
-- NOTE: Requires rust_analyzer
if server.name == "rust_analyzer" then
-- Dap installation, required vscode and the following extension to be installed:
-- https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
--
-- locate it with `find ~/ -name `
-- local extension_path = os.getenv("HOME") .. ".vscode/extensions/vadimcn.vscode-lldb-1.6.10/"
-- local codelldb_path = extension_path .. 'adapter/codelldb'
-- local liblldb_path = extension_path .. 'lldb/lib/'
-- opts.dap = {
-- adapter = require('rust-tools.dap').get_codelldb_adapter(codelldb_path, liblldb_path)
-- }
require("rust-tools").setup{
server = vim.tbl_deep_extend("force", server:get_default_options(), opts),
}
server:attach_buffers()
else
-- I use ansible a lot, define exceptions for servers that can use
-- server:setup & vim.cmd at the bottom here
if server.name == "ansiblels" then
opts.settings = {
ansible = {
ansible = {
path = "ansible"
},
ansibleLint = {
enabled = true,
path = "ansible-lint"
},
python = {
interpreterPath = "python3"
}
}
}
end
server:setup(opts)
vim.cmd [[ do User LspAttachBuffers ]]
end
end)