added lspconfig+lspinstall configs!
This commit is contained in:
		
							parent
							
								
									2d7ccc16f2
								
							
						
					
					
						commit
						b2cefbe3b8
					
				| @ -35,60 +35,27 @@ function on_attach(client) | |||||||
|     end |     end | ||||||
| end | end | ||||||
| 
 | 
 | ||||||
|  | -- lspInstall + lspconfig stuff | ||||||
|  | 
 | ||||||
|  | local function setup_servers() | ||||||
|  |     require "lspinstall".setup() | ||||||
|  | 
 | ||||||
|     local lspconf = require("lspconfig") |     local lspconf = require("lspconfig") | ||||||
|  |     local servers = require "lspinstall".installed_servers() | ||||||
| 
 | 
 | ||||||
| -- these langs require same lspconfig so put em all in a table and loop through! |     for _, lang in pairs(servers) do | ||||||
| local servers = {"html", "cssls", "tsserver", "pyright", "bashls", "clangd", "ccls"} |         if lang ~= "lua" then | ||||||
| 
 |  | ||||||
| for _, lang in ipairs(servers) do |  | ||||||
|             lspconf[lang].setup { |             lspconf[lang].setup { | ||||||
|                 on_attach = on_attach, |                 on_attach = on_attach, | ||||||
|                 root_dir = vim.loop.cwd |                 root_dir = vim.loop.cwd | ||||||
|             } |             } | ||||||
| end |         elseif lang == "lua" then | ||||||
| 
 |  | ||||||
| -- vls conf example |  | ||||||
| local vls_binary = "/usr/local/bin/vls" |  | ||||||
| lspconf.vls.setup { |  | ||||||
|     cmd = {vls_binary} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| -- lua lsp settings |  | ||||||
| USER = "/home/" .. vim.fn.expand("$USER") |  | ||||||
| 
 |  | ||||||
| local sumneko_root_path = USER .. "/.config/lua-language-server" |  | ||||||
| local sumneko_binary = USER .. "/.config/lua-language-server/bin/Linux/lua-language-server" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| local lsp_installer = require'nvim-lsp-installer' |  | ||||||
| 
 |  | ||||||
| local installed_servers = lsp_installer.get_installed_servers() |  | ||||||
| 
 |  | ||||||
| for _, server in pairs(installed_servers) do |  | ||||||
|     opts = { |  | ||||||
|         on_attach = common_on_attach, |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     -- (optional) Customize the options passed to the server |  | ||||||
|     -- if server.name == "tsserver" then |  | ||||||
|     --     opts.root_dir = function() ... end |  | ||||||
|     -- end |  | ||||||
| 
 |  | ||||||
|     server:setup(opts) |  | ||||||
| end |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|             lspconf.sumneko_lua.setup { |             lspconf.sumneko_lua.setup { | ||||||
|     cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"}, |  | ||||||
|                 root_dir = function() |                 root_dir = function() | ||||||
|                     return vim.loop.cwd() |                     return vim.loop.cwd() | ||||||
|                 end, |                 end, | ||||||
|                 settings = { |                 settings = { | ||||||
|                     Lua = { |                     Lua = { | ||||||
|             runtime = { |  | ||||||
|                 version = "LuaJIT", |  | ||||||
|                 path = vim.split(package.path, ";") |  | ||||||
|             }, |  | ||||||
|                         diagnostics = { |                         diagnostics = { | ||||||
|                             globals = {"vim"} |                             globals = {"vim"} | ||||||
|                         }, |                         }, | ||||||
| @ -104,10 +71,20 @@ lspconf.sumneko_lua.setup { | |||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |         end | ||||||
|  |     end | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | setup_servers() | ||||||
|  | 
 | ||||||
|  | -- Automatically reload after `:LspInstall <server>` so we don't have to restart neovim | ||||||
|  | require "lspinstall".post_install_hook = function() | ||||||
|  |     setup_servers() -- reload installed servers | ||||||
|  |     vim.cmd("bufdo e") -- this triggers the FileType autocmd that starts the server | ||||||
|  | end | ||||||
| 
 | 
 | ||||||
| -- replace the default lsp diagnostic letters with prettier symbols | -- replace the default lsp diagnostic letters with prettier symbols | ||||||
| vim.fn.sign_define("LspDiagnosticsSignError", {text = "", numhl = "LspDiagnosticsDefaultError"}) | vim.fn.sign_define("LspDiagnosticsSignError", {text = "", numhl = "LspDiagnosticsDefaultError"}) | ||||||
| vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"}) | vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"}) | ||||||
| vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"}) | vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"}) | ||||||
| vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"}) | vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"}) | ||||||
| 
 |  | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user