summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2021-11-10 11:14:32 +0100
committerkylo252 <[email protected]>2021-11-10 11:14:32 +0100
commita57e34a85edc8fc15a5c06640a15b0a0fec89d91 (patch)
tree55abec722051caacacb4b15db9c69e9b6e4f3ec7
parent3d146bd4e96d9fcb24aa0bbb2089219aa5b52fcb (diff)
parent605c14e49996f635234b1157a96580448deb1160 (diff)
Merge branch 'rolling'
-rw-r--r--lua/lvim/core/cmp.lua3
-rw-r--r--lua/lvim/core/which-key.lua5
-rw-r--r--lua/lvim/lsp/config.lua1
-rw-r--r--lua/lvim/lsp/handlers.lua10
-rw-r--r--lua/lvim/lsp/init.lua13
-rw-r--r--lua/lvim/plugins.lua8
-rw-r--r--tests/lsp_spec.lua16
-rwxr-xr-xutils/installer/uninstall.sh69
8 files changed, 95 insertions, 30 deletions
diff --git a/lua/lvim/core/cmp.lua b/lua/lvim/core/cmp.lua
index 375f7605..89159ebb 100644
--- a/lua/lvim/core/cmp.lua
+++ b/lua/lvim/core/cmp.lua
@@ -283,6 +283,9 @@ M.config = function()
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping(function(fallback)
if cmp.visible() and cmp.confirm(lvim.builtin.cmp.confirm_opts) then
+ if jumpable() then
+ luasnip.jump(1)
+ end
return
end
diff --git a/lua/lvim/core/which-key.lua b/lua/lvim/core/which-key.lua
index b036e376..254f2ec2 100644
--- a/lua/lvim/core/which-key.lua
+++ b/lua/lvim/core/which-key.lua
@@ -207,7 +207,10 @@ M.config = function()
"<cmd>lua vim.fn.execute('edit ' .. require('lvim.core.log').get_path())<cr>",
"Open the default logfile",
},
- l = { "<cmd>lua require('lvim.core.terminal').toggle_log_view(vim.lsp.get_log_path())<cr>", "view lsp log" },
+ l = {
+ "<cmd>lua require('lvim.core.terminal').toggle_log_view(vim.lsp.get_log_path())<cr>",
+ "view lsp log",
+ },
L = { "<cmd>lua vim.fn.execute('edit ' .. vim.lsp.get_log_path())<cr>", "Open the LSP logfile" },
n = {
"<cmd>lua require('lvim.core.terminal').toggle_log_view(os.getenv('NVIM_LOG_FILE'))<cr>",
diff --git a/lua/lvim/lsp/config.lua b/lua/lvim/lsp/config.lua
index ccc524ee..ce7ed891 100644
--- a/lua/lvim/lsp/config.lua
+++ b/lua/lvim/lsp/config.lua
@@ -55,6 +55,7 @@ return {
"phpactor",
"pylsp",
"rome",
+ "sorbet",
"sqlls",
"sqls",
"stylelint_lsp",
diff --git a/lua/lvim/lsp/handlers.lua b/lua/lvim/lsp/handlers.lua
index 59f15c1c..27ce8589 100644
--- a/lua/lvim/lsp/handlers.lua
+++ b/lua/lvim/lsp/handlers.lua
@@ -36,16 +36,6 @@ function M.setup()
if not vim.api.nvim_buf_is_loaded(bufnr) then
return
end
-
- local sign_names = {
- "DiagnosticSignError",
- "DiagnosticSignWarn",
- "DiagnosticSignInfo",
- "DiagnosticSignHint",
- }
- for i, sign in ipairs(lvim.lsp.diagnostics.signs.values) do
- vim.fn.sign_define(sign_names[i], { texthl = sign_names[i], text = sign.text, numhl = "" })
- end
vim_diag.show(namespace, bufnr, diagnostics, config)
else
vim.lsp.diagnostic.save(diagnostics, bufnr, ctx.client_id)
diff --git a/lua/lvim/lsp/init.lua b/lua/lvim/lsp/init.lua
index 45ba04e0..d00f75c6 100644
--- a/lua/lvim/lsp/init.lua
+++ b/lua/lvim/lsp/init.lua
@@ -136,6 +136,13 @@ function M.get_common_opts()
}
end
+local LSP_DEPRECATED_SIGN_MAP = {
+ ["LspDiagnosticsSignError"] = "DiagnosticSignError",
+ ["LspDiagnosticsSignWarning"] = "DiagnosticSignWarn",
+ ["LspDiagnosticsSignHint"] = "DiagnosticSignHint",
+ ["LspDiagnosticsSignInformation"] = "DiagnosticSignInfo",
+}
+
function M.setup()
Log:debug "Setting up LSP support"
@@ -144,7 +151,13 @@ function M.setup()
return
end
+ local is_neovim_nightly = vim.fn.has "nvim-0.5.1" > 0
+
for _, sign in ipairs(lvim.lsp.diagnostics.signs.values) do
+ local lsp_sign_name = LSP_DEPRECATED_SIGN_MAP[sign.name]
+ if is_neovim_nightly and lsp_sign_name then
+ vim.fn.sign_define(lsp_sign_name, { texthl = lsp_sign_name, text = sign.text, numhl = lsp_sign_name })
+ end
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = sign.name })
end
diff --git a/lua/lvim/plugins.lua b/lua/lvim/plugins.lua
index 7195bb0f..77ed1ebf 100644
--- a/lua/lvim/plugins.lua
+++ b/lua/lvim/plugins.lua
@@ -1,17 +1,17 @@
local commit = {
packer = "7f62848f3a92eac61ae61def5f59ddb5e2cc6823",
- lsp_config = "6224c54a9945a52bf43a8bc1a42a112084590c0b",
+ lsp_config = "903a1fbca91b74e6fbc905366ce38364b9d7ba98",
nlsp_settings = "29f49afe27b43126d45a05baf3161a28b929f2f1",
- null_ls = "64b269b51c7490660dcb2008f59ae260f2cdbbe4",
+ null_ls = "3bf64acca268f3d7e0455501b82cf3f02f38c292",
fix_cursor_hold = "0e4e22d21975da60b0fd2d302285b3b603f9f71e",
- lsp_installer = "c9dbc8afc2d56227ed0cba5a3348b8dd170e3a1d",
+ lsp_installer = "37d9326f4ca4093b04eabdb697fec3764e226f88",
nvim_notify = "ee79a5e2f8bde0ebdf99880a98d1312da83a3caa",
structlog = "6f1403a192791ff1fa7ac845a73de9e860f781f1",
popup = "f91d80973f80025d4ed00380f2e06c669dfda49d",
plenary = "96e821e8001c21bc904d3c15aa96a70c11462c5f",
telescope = "078a48db9e0720b07bfcb8b59342c5305a1d1fdc",
telescope_fzf_native = "59e38e1661ffdd586cb7fc22ca0b5a05c7caf988",
- nvim_cmp = "1774ff0f842146521c63707245d3de5db2bb3732",
+ nvim_cmp = "ca6386854982199a532150cf3bd711395475ebd2",
friendly_snippets = "94f1d917435c71bc6494d257afa90d4c9449aed2",
autopairs = "f858ab38b532715dbaf7b2773727f8622ba04322",
treesitter = "47cfda2c6711077625c90902d7722238a8294982",
diff --git a/tests/lsp_spec.lua b/tests/lsp_spec.lua
index b3bb59ab..17e72577 100644
--- a/tests/lsp_spec.lua
+++ b/tests/lsp_spec.lua
@@ -60,11 +60,19 @@ a.describe("lsp workflow", function()
require("lvim.lsp").setup()
for _, file in ipairs(vim.fn.glob(lvim.lsp.templates_dir .. "/*.lua", 1, 1)) do
- local count = 0
- for _ in io.lines(file) do
- count = count + 1
+ local content = {}
+ for entry in io.lines(file) do
+ table.insert(content, entry)
end
- assert.equal(count, 1)
+ local err_msg = ""
+ if #content > 1 then
+ err_msg = string.format(
+ "found more than one server for [%q]: \n{\n %q \n}",
+ file:match "[^/]*.lua$",
+ table.concat(content, ", ")
+ )
+ end
+ assert.equal(err_msg, "")
end
end)
end)
diff --git a/utils/installer/uninstall.sh b/utils/installer/uninstall.sh
index 09923bb1..31007984 100755
--- a/utils/installer/uninstall.sh
+++ b/utils/installer/uninstall.sh
@@ -1,11 +1,58 @@
-#!/bin/sh
-USER_BIN_DIR="$HOME/.local/bin"
-if [ -d "/data/data/com.termux" ]; then
- sudo() {
- eval "$@"
- }
- USER_BIN_DIR="$HOME/../usr/bin"
-fi
-rm -rf ~/.local/share/lunarvim
-sudo rm "$USER_BIN_DIR"/lvim
-rm -rf ~/.local/share/applications/lvim.desktop
+#!/usr/bin/env bash
+set -eo pipefail
+
+ARGS_REMOVE_BACKUPS=0
+
+declare -r XDG_DATA_HOME="${XDG_DATA_HOME:-"$HOME/.local/share"}"
+declare -r XDG_CACHE_HOME="${XDG_CACHE_HOME:-"$HOME/.cache"}"
+declare -r XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-"$HOME/.config"}"
+
+declare -r LUNARVIM_RUNTIME_DIR="${LUNARVIM_RUNTIME_DIR:-"$XDG_DATA_HOME/lunarvim"}"
+declare -r LUNARVIM_CONFIG_DIR="${LUNARVIM_CONFIG_DIR:-"$XDG_CONFIG_HOME/lvim"}"
+
+# TODO: Use a dedicated cache directory #1256
+declare -r LUNARVIM_CACHE_DIR="$XDG_CACHE_HOME/nvim"
+
+LVIM_BIN="$(which lvim 2>/dev/null)"
+
+declare -a __lvim_dirs=(
+ "$LUNARVIM_CONFIG_DIR"
+ "$LUNARVIM_RUNTIME_DIR"
+ "$LUNARVIM_CACHE_DIR"
+)
+
+function usage() {
+ echo "Usage: uninstall.sh [<options>]"
+ echo ""
+ echo "Options:"
+ echo " -h, --help Print this help message"
+ echo " --remove-backups Remove old backup folders as well"
+}
+
+function parse_arguments() {
+ while [ "$#" -gt 0 ]; do
+ case "$1" in
+ --remove-backups)
+ ARGS_REMOVE_BACKUPS=1
+ ;;
+ -h | --help)
+ usage
+ exit 0
+ ;;
+ esac
+ shift
+ done
+}
+
+function main() {
+ parse_arguments "$@"
+ for dir in "${__lvim_dirs[@]}"; do
+ rm -rf "$dir"
+ if [ "$ARGS_REMOVE_BACKUPS" -eq 1 ]; then
+ rm -rf "$dir.bak"
+ fi
+ done
+ rm -f "$LVIM_BIN"
+}
+
+main "$@"