From 0744e9a5e9e6795ac7e3a7f2f41f89932360b57a Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Sun, 17 Oct 2021 10:12:27 +0200 Subject: chore: fix minimal_lsp.lua (#1793) --- tests/minimal_lsp.lua | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++ tests/minimal_rtp.lua | 103 ------------------------------------------------ 2 files changed, 107 insertions(+), 103 deletions(-) create mode 100644 tests/minimal_lsp.lua delete mode 100644 tests/minimal_rtp.lua (limited to 'tests') diff --git a/tests/minimal_lsp.lua b/tests/minimal_lsp.lua new file mode 100644 index 00000000..a2b9ab57 --- /dev/null +++ b/tests/minimal_lsp.lua @@ -0,0 +1,107 @@ +vim.cmd [[set runtimepath=$VIMRUNTIME]] +vim.cmd [[set packpath=/tmp/nvim/site]] + +local package_root = "/tmp/nvim/site/pack" +local install_path = package_root .. "/packer/start/packer.nvim" + +-- Choose whether to use the executable that's managed by lsp-installer +local use_lsp_installer = true + +local function load_plugins() + require("packer").startup { + { + "wbthomason/packer.nvim", + "neovim/nvim-lspconfig", + { "williamboman/nvim-lsp-installer", disable = not use_lsp_installer }, + }, + config = { + package_root = package_root, + compile_path = install_path .. "/plugin/packer_compiled.lua", + }, + } +end + +function _G.dump(...) + local objects = vim.tbl_map(vim.inspect, { ... }) + print(unpack(objects)) + return ... +end + +_G.load_config = function() + vim.lsp.set_log_level "trace" + if vim.fn.has "nvim-0.5.1" == 1 then + require("vim.lsp.log").set_format_func(vim.inspect) + end + local nvim_lsp = require "lspconfig" + local on_attach = function(_, 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") + + -- Mappings. + local opts = { noremap = true, silent = true } + buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) + buf_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) + buf_set_keymap("n", "K", "lua vim.lsp.buf.hover()", opts) + buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) + buf_set_keymap("n", "", "lua vim.lsp.buf.signature_help()", opts) + buf_set_keymap("n", "wa", "lua vim.lsp.buf.add_workspace_folder()", opts) + buf_set_keymap("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) + buf_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) + buf_set_keymap("n", "lD", "lua vim.lsp.buf.type_definition()", opts) + buf_set_keymap("n", "lr", "lua vim.lsp.buf.rename()", opts) + buf_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) + buf_set_keymap("n", "gl", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) + buf_set_keymap("n", "lk", "lua vim.lsp.diagnostic.goto_prev()", opts) + buf_set_keymap("n", "lj", "lua vim.lsp.diagnostic.goto_next()", opts) + buf_set_keymap("n", "lq", "lua vim.lsp.diagnostic.set_loclist()", opts) + buf_set_keymap("n", "li", "LspInfo", opts) + buf_set_keymap("n", "lI", "LspInstallInfo", opts) + end + + -- Add the server that troubles you here, e.g. "sumneko_lua", "pyright", "tsserver" + local name = "clangd" + + -- You need to specify the server's command manually + local cmd + + if use_lsp_installer then + local server_available, server = require("nvim-lsp-installer.servers").get_server(name) + if not server_available then + server:install() + end + local default_opts = server:get_default_options() + cmd = default_opts.cmd + end + + if not name then + print "You have not defined a server name, please edit minimal_init.lua" + end + if not nvim_lsp[name].document_config.default_config.cmd and not cmd then + print [[You have not defined a server default cmd for a server + that requires it please edit minimal_init.lua]] + end + + nvim_lsp[name].setup { + cmd = cmd, + on_attach = on_attach, + } + + print [[You can find your log at $HOME/.cache/nvim/lsp.log. Please paste in a github issue under a details tag as described in the issue template.]] +end + +if vim.fn.isdirectory(install_path) == 0 then + vim.fn.system { "git", "clone", "https://github.com/wbthomason/packer.nvim", install_path } + load_plugins() + require("packer").sync() + vim.cmd [[autocmd User PackerComplete ++once lua load_config()]] +else + load_plugins() + require("packer").sync() + _G.load_config() +end diff --git a/tests/minimal_rtp.lua b/tests/minimal_rtp.lua deleted file mode 100644 index 36edb8a6..00000000 --- a/tests/minimal_rtp.lua +++ /dev/null @@ -1,103 +0,0 @@ -vim.cmd [[set runtimepath=$VIMRUNTIME]] -vim.cmd [[set packpath=/tmp/nvim/site]] - -local package_root = "/tmp/nvim/site/pack" -local install_path = package_root .. "/packer/start/packer.nvim" - -local function load_plugins() - require("packer").startup { - { - "wbthomason/packer.nvim", - "neovim/nvim-lspconfig", - { - "aserowy/tmux.nvim", - config = function() - require("tmux").setup { - navigation = { - -- cycles to opposite pane while navigating into the border - cycle_navigation = true, - - -- enables default keybindings (C-hjkl) for normal mode - enable_default_keybindings = true, - - -- prevents unzoom tmux when navigating beyond vim border - persist_zoom = true, - }, - resize = { - -- enables default keybindings (A-hjkl) for normal mode - enable_default_keybindings = true, - }, - } - end, - }, - }, - config = { - package_root = package_root, - compile_path = install_path .. "/plugin/packer_compiled.lua", - }, - } -end - -_G.load_config = function() - vim.lsp.set_log_level "trace" - local nvim_lsp = require "lspconfig" - local on_attach = function(_, 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") - - -- Mappings. - local opts = { noremap = true, silent = true } - buf_set_keymap("n", "gD", "lua vim.lsp.buf.declaration()", opts) - buf_set_keymap("n", "gd", "lua vim.lsp.buf.definition()", opts) - buf_set_keymap("n", "K", "lua vim.lsp.buf.hover()", opts) - buf_set_keymap("n", "gi", "lua vim.lsp.buf.implementation()", opts) - buf_set_keymap("n", "", "lua vim.lsp.buf.signature_help()", opts) - buf_set_keymap("n", "wa", "lua vim.lsp.buf.add_workspace_folder()", opts) - buf_set_keymap("n", "wr", "lua vim.lsp.buf.remove_workspace_folder()", opts) - buf_set_keymap("n", "wl", "lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))", opts) - buf_set_keymap("n", "D", "lua vim.lsp.buf.type_definition()", opts) - buf_set_keymap("n", "rn", "lua vim.lsp.buf.rename()", opts) - buf_set_keymap("n", "gr", "lua vim.lsp.buf.references()", opts) - buf_set_keymap("n", "e", "lua vim.lsp.diagnostic.show_line_diagnostics()", opts) - buf_set_keymap("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) - buf_set_keymap("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts) - buf_set_keymap("n", "q", "lua vim.lsp.diagnostic.set_loclist()", opts) - buf_set_keymap("n", "li", "LspInfo", opts) - end - - -- Add the server that troubles you here - local name = "sumneko_lua" - local sumneko_root_dir = vim.fn.stdpath "data" .. "/lsp_servers/sumneko_lua/extension/server" - local cmd = { sumneko_root_dir .. "/bin/Linux/lua-language-server", "-E", sumneko_root_dir .. "/main.lua" } - if not name then - print "You have not defined a server name, please edit minimal_init.lua" - end - if not nvim_lsp[name].document_config.default_config.cmd and not cmd then - print [[You have not defined a server default cmd for a server - that requires it please edit minimal_init.lua]] - end - - nvim_lsp[name].setup { - cmd = cmd, - on_attach = on_attach, - } - - print [[You can find your log at $HOME/.cache/nvim/lsp.log. Please paste in a github issue under a details tag as described in the issue template.]] -end - -if vim.fn.isdirectory(install_path) == 0 then - vim.fn.system { "git", "clone", "https://github.com/wbthomason/packer.nvim", install_path } - load_plugins() - require("packer").sync() - vim.cmd [[autocmd User PackerComplete ++once lua load_config()]] -else - load_plugins() - require("packer").sync() - _G.load_config() -end -- cgit v1.2.3