diff options
| author | William Boman <william@redwill.se> | 2023-04-18 00:39:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-18 00:39:01 +0200 |
| commit | 601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9 (patch) | |
| tree | 1f037d09be867de6edc547776e7e8551dab04c51 | |
| parent | feat: add helm-ls (#194) (diff) | |
| download | mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.tar mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.tar.gz mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.tar.bz2 mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.tar.lz mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.tar.xz mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.tar.zst mason-lspconfig-601c0ad2f8870bd1d45fbdd27cb50ccfb2c8b3b9.zip | |
feat: notify if mason has not been set up (#195)
Closes #181.
| -rw-r--r-- | lua/mason-lspconfig/api/command.lua | 2 | ||||
| -rw-r--r-- | lua/mason-lspconfig/ensure_installed.lua | 2 | ||||
| -rw-r--r-- | lua/mason-lspconfig/init.lua | 9 | ||||
| -rw-r--r-- | lua/mason-lspconfig/install.lua | 2 | ||||
| -rw-r--r-- | lua/mason-lspconfig/notify.lua | 8 | ||||
| -rw-r--r-- | lua/mason-lspconfig/server_configurations/pylsp/init.lua | 2 | ||||
| -rw-r--r-- | tests/mason-lspconfig/setup_spec.lua | 42 |
7 files changed, 47 insertions, 20 deletions
diff --git a/lua/mason-lspconfig/api/command.lua b/lua/mason-lspconfig/api/command.lua index 2cd1ef5..7a7d623 100644 --- a/lua/mason-lspconfig/api/command.lua +++ b/lua/mason-lspconfig/api/command.lua @@ -1,7 +1,7 @@ local Optional = require "mason-core.optional" local _ = require "mason-core.functional" local a = require "mason-core.async" -local notify = require "mason-core.notify" +local notify = require "mason-lspconfig.notify" ---@async ---@param user_args string[]: The arguments, as provided by the user. diff --git a/lua/mason-lspconfig/ensure_installed.lua b/lua/mason-lspconfig/ensure_installed.lua index dabd931..cdb30eb 100644 --- a/lua/mason-lspconfig/ensure_installed.lua +++ b/lua/mason-lspconfig/ensure_installed.lua @@ -1,4 +1,4 @@ -local notify = require "mason-core.notify" +local notify = require "mason-lspconfig.notify" local registry = require "mason-registry" local settings = require "mason-lspconfig.settings" diff --git a/lua/mason-lspconfig/init.lua b/lua/mason-lspconfig/init.lua index c364634..95b2e85 100644 --- a/lua/mason-lspconfig/init.lua +++ b/lua/mason-lspconfig/init.lua @@ -6,6 +6,13 @@ local M = {} ---@param config MasonLspconfigSettings | nil function M.setup(config) + local ok, mason = pcall(require, "mason") + if not ok or mason.has_setup == false then + require "mason-lspconfig.notify"( + "mason.nvim has not been set up. Make sure to set up 'mason' before 'mason-lspconfig'. :h mason-lspconfig-quickstart", + vim.log.levels.WARN + ) + end local settings = require "mason-lspconfig.settings" if config then @@ -40,7 +47,7 @@ function M.setup_handlers(handlers) local Optional = require "mason-core.optional" local server_mapping = require "mason-lspconfig.mappings.server" local registry = require "mason-registry" - local notify = require "mason-core.notify" + local notify = require "mason-lspconfig.notify" local default_handler = Optional.of_nilable(handlers[1]) diff --git a/lua/mason-lspconfig/install.lua b/lua/mason-lspconfig/install.lua index 1ccb985..7d5320a 100644 --- a/lua/mason-lspconfig/install.lua +++ b/lua/mason-lspconfig/install.lua @@ -1,4 +1,4 @@ -local notify = require "mason-core.notify" +local notify = require "mason-lspconfig.notify" local server_mapping = require "mason-lspconfig.mappings.server" local M = {} diff --git a/lua/mason-lspconfig/notify.lua b/lua/mason-lspconfig/notify.lua new file mode 100644 index 0000000..ca291df --- /dev/null +++ b/lua/mason-lspconfig/notify.lua @@ -0,0 +1,8 @@ +local TITLE = "mason-lspconfig.nvim" + +return function(msg, level) + level = level or vim.log.levels.INFO + vim.notify(msg, level, { + title = TITLE, + }) +end diff --git a/lua/mason-lspconfig/server_configurations/pylsp/init.lua b/lua/mason-lspconfig/server_configurations/pylsp/init.lua index db34a8e..c9b3db7 100644 --- a/lua/mason-lspconfig/server_configurations/pylsp/init.lua +++ b/lua/mason-lspconfig/server_configurations/pylsp/init.lua @@ -1,6 +1,6 @@ local _ = require "mason-core.functional" local a = require "mason-core.async" -local notify = require "mason-core.notify" +local notify = require "mason-lspconfig.notify" local pip3 = require "mason-core.managers.pip3" local process = require "mason-core.process" local spawn = require "mason-core.spawn" diff --git a/tests/mason-lspconfig/setup_spec.lua b/tests/mason-lspconfig/setup_spec.lua index 6c8f293..eb5e1c0 100644 --- a/tests/mason-lspconfig/setup_spec.lua +++ b/tests/mason-lspconfig/setup_spec.lua @@ -89,21 +89,27 @@ describe("mason-lspconfig setup", function() assert.spy(vim.notify).was_called(2) assert .spy(vim.notify) - .was_called_with([[[mason-lspconfig.nvim] installing dummylsp]], vim.log.levels.INFO, { title = "mason.nvim" }) - assert - .spy(vim.notify) - .was_called_with([[[mason-lspconfig.nvim] installing fail_dummylsp]], vim.log.levels.INFO, { title = "mason.nvim" }) + .was_called_with( + [[[mason-lspconfig.nvim] installing dummylsp]], + vim.log.levels.INFO, + { title = "mason-lspconfig.nvim" } + ) + assert.spy(vim.notify).was_called_with( + [[[mason-lspconfig.nvim] installing fail_dummylsp]], + vim.log.levels.INFO, + { title = "mason-lspconfig.nvim" } + ) assert.wait_for(function() assert.spy(vim.notify).was_called_with( [[[mason-lspconfig.nvim] dummylsp was successfully installed]], vim.log.levels.INFO, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) assert.spy(vim.notify).was_called_with( [[[mason-lspconfig.nvim] failed to install fail_dummylsp. Installation logs are available in :Mason and :MasonLog]], vim.log.levels.ERROR, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) end) end) @@ -129,22 +135,28 @@ describe("mason-lspconfig setup", function() assert .spy(vim.notify) - .was_called_with([[[mason-lspconfig.nvim] installing dummylsp]], vim.log.levels.INFO, { title = "mason.nvim" }) - assert - .spy(vim.notify) - .was_called_with([[[mason-lspconfig.nvim] installing fail_dummylsp]], vim.log.levels.INFO, { title = "mason.nvim" }) + .was_called_with( + [[[mason-lspconfig.nvim] installing dummylsp]], + vim.log.levels.INFO, + { title = "mason-lspconfig.nvim" } + ) + assert.spy(vim.notify).was_called_with( + [[[mason-lspconfig.nvim] installing fail_dummylsp]], + vim.log.levels.INFO, + { title = "mason-lspconfig.nvim" } + ) assert.wait_for(function() assert.is_true(dummy.handle:is_closed()) assert.is_true(fail_dummy.handle:is_closed()) assert.spy(vim.notify).was_called_with( [[[mason-lspconfig.nvim] dummylsp was successfully installed]], vim.log.levels.INFO, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) assert.spy(vim.notify).was_called_with( [[[mason-lspconfig.nvim] failed to install fail_dummylsp. Installation logs are available in :Mason and :MasonLog]], vim.log.levels.ERROR, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) end) end) @@ -289,7 +301,7 @@ describe("mason-lspconfig setup_handlers", function() assert.spy(vim.notify).was_called_with( "mason-lspconfig.setup_handlers: Received handler for unknown lspconfig server name: doesnt_exist_server.", vim.log.levels.WARN, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) end) @@ -307,12 +319,12 @@ describe("mason-lspconfig setup_handlers", function() assert.spy(vim.notify).was_called_with( [[[mason-lspconfig.nvim] Server "yamllint" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.]], vim.log.levels.WARN, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) assert.spy(vim.notify).was_called_with( [[[mason-lspconfig.nvim] Server "hadolint" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.]], vim.log.levels.WARN, - { title = "mason.nvim" } + { title = "mason-lspconfig.nvim" } ) end) ) |
