move stuff to common and half figured out the install script
This commit is contained in:
74
common/.config/nvim/lua/lsp-general.lua
Normal file
74
common/.config/nvim/lua/lsp-general.lua
Normal file
@@ -0,0 +1,74 @@
|
||||
local lsp_installer = require'nvim-lsp-installer'
|
||||
local lsp_installer_servers = require'nvim-lsp-installer.servers'
|
||||
|
||||
-- install LSP servers
|
||||
local function installServer(name)
|
||||
local ok, server = lsp_installer_servers.get_server(name)
|
||||
if ok then
|
||||
if not server:is_installed() then
|
||||
server:install()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function installServers(names)
|
||||
for _,name in pairs(names) do
|
||||
installServer(name)
|
||||
end
|
||||
end
|
||||
|
||||
-- find a list of available ones here: https://github.com/williamboman/nvim-lsp-installer
|
||||
installServers({'angularls', 'bashls', 'dockerls', 'sumneko_lua', 'pyright', 'jsonls', 'cssls', 'tsserver'})
|
||||
|
||||
-- setup installed servers
|
||||
lsp_installer.on_server_ready(function(server)
|
||||
local opts = {}
|
||||
|
||||
-- (optional) Customize the options passed to the server
|
||||
-- if server.name == "tsserver" then
|
||||
-- opts.root_dir = function() ... end
|
||||
-- end
|
||||
if server.name == 'sumneko_lua' then
|
||||
opts = require'lsp-server-config.lua'
|
||||
end
|
||||
|
||||
-- This setup() function is exactly the same as lspconfig's setup function.
|
||||
-- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/ADVANCED_README.md
|
||||
server:setup(opts)
|
||||
end)
|
||||
|
||||
-- diagnostic symbols
|
||||
local signs = { Error = "", Warn = "", Hint = "", Info = ""}
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
|
||||
end
|
||||
|
||||
-- completion symbols
|
||||
vim.lsp.protocol.CompletionItemKind = {
|
||||
" (Text) ",
|
||||
" (Method)",
|
||||
" (Function)",
|
||||
" (Constructor)",
|
||||
" ﴲ (Field)",
|
||||
"[] (Variable)",
|
||||
" (Class)",
|
||||
" ﰮ (Interface)",
|
||||
" (Module)",
|
||||
" 襁 (Property)",
|
||||
" (Unit)",
|
||||
" (Value)",
|
||||
" 練 (Enum)",
|
||||
" (Keyword)",
|
||||
" (Snippet)",
|
||||
" (Color)",
|
||||
" (File)",
|
||||
" (Reference)",
|
||||
" (Folder)",
|
||||
" (EnumMember)",
|
||||
" ﲀ (Constant)",
|
||||
" ﳤ (Struct)",
|
||||
" (Event)",
|
||||
" (Operator)",
|
||||
" (TypeParameter)"
|
||||
}
|
||||
Reference in New Issue
Block a user