diff options
| -rw-r--r-- | lua/lvim/core/cmp.lua | 3 | ||||
| -rw-r--r-- | lua/lvim/core/which-key.lua | 5 | ||||
| -rw-r--r-- | lua/lvim/lsp/config.lua | 1 | ||||
| -rw-r--r-- | lua/lvim/lsp/handlers.lua | 10 | ||||
| -rw-r--r-- | lua/lvim/lsp/init.lua | 13 | ||||
| -rw-r--r-- | lua/lvim/plugins.lua | 8 | ||||
| -rw-r--r-- | tests/lsp_spec.lua | 16 | ||||
| -rwxr-xr-x | utils/installer/uninstall.sh | 69 | 
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 "$@" | 
