Fuxx
This commit is contained in:
parent
8268fba83d
commit
7ed2a6e110
9565 changed files with 1315332 additions and 90 deletions
61
home/.config/nvim/lua/lsp-config/language-servers.lua
Normal file
61
home/.config/nvim/lua/lsp-config/language-servers.lua
Normal file
|
@ -0,0 +1,61 @@
|
|||
local lsp_installer = require("nvim-lsp-installer")
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
end
|
||||
local function buf_set_option(...)
|
||||
vim.api.nvim_buf_set_option(bufnr, ...)
|
||||
end
|
||||
|
||||
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
buf_set_keymap("n", "gd", ":lua vim.lsp.buf.definition()<CR>", opts) --> jumps to the definition of the symbol under the cursor
|
||||
buf_set_keymap("n", "<leader>lh", ":lua vim.lsp.buf.hover()<CR>", opts) --> information about the symbol under the cursos in a floating window
|
||||
buf_set_keymap("n", "gi", ":lua vim.lsp.buf.implementation()<CR>", opts) --> lists all the implementations for the symbol under the cursor in the quickfix window
|
||||
buf_set_keymap("n", "<leader>rn", ":lua vim.lsp.util.rename()<CR>", opts) --> renaname old_fname to new_fname
|
||||
buf_set_keymap("n", "<leader>ca", ":lua vim.lsp.buf.code_action()<CR>", opts) --> selects a code action available at the current cursor position
|
||||
buf_set_keymap("n", "gr", ":lua vim.lsp.buf.references()<CR>", opts) --> lists all the references to the symbl under the cursor in the quickfix window
|
||||
buf_set_keymap("n", "<leader>ld", ":lua vim.diagnostic.open_float()<CR>", opts)
|
||||
buf_set_keymap("n", "[d", ":lua vim.diagnostic.goto_prev()<CR>", opts)
|
||||
buf_set_keymap("n", "]d", ":lua vim.diagnostic.goto_next()<CR>", opts)
|
||||
buf_set_keymap("n", "<leader>lq", ":lua vim.diagnostic.setloclist()<CR>", opts)
|
||||
buf_set_keymap("n", "<leader>lf", ":lua vim.lsp.buf.formatting()<CR>", opts) --> formats the current buffer
|
||||
end
|
||||
|
||||
local servers = {
|
||||
"bashls",
|
||||
"cssls",
|
||||
"eslint",
|
||||
--"ltex",
|
||||
"sumneko_lua",
|
||||
"tsserver",
|
||||
--"pyright",
|
||||
"jedi_language_server",
|
||||
}
|
||||
|
||||
---@diagnostic disable-next-line: undefined-global
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
|
||||
|
||||
for _, name in pairs(servers) do
|
||||
local server_is_found, server = lsp_installer.get_server(name)
|
||||
if server_is_found then
|
||||
if not server:is_installed() then
|
||||
print("Installing " .. name)
|
||||
server:install()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
lsp_installer.on_server_ready(function(server)
|
||||
-- Specify the default options which we'll use to setup all servers
|
||||
local default_opts = {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
server:setup(default_opts)
|
||||
end)
|
Loading…
Add table
Add a link
Reference in a new issue