diff options
| author | William Boman <william@redwill.se> | 2022-07-22 03:15:43 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-22 03:15:43 +0200 |
| commit | 11c0af44e69a165df41e5fe6681b47f4204d3623 (patch) | |
| tree | 28bc4c9c6e7295996924d6b2ce8e620b2a963fa2 /tests/mason-lspconfig/api/command_spec.lua | |
| parent | feat: add markdownlint linter (#107) (diff) | |
| download | mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.gz mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.bz2 mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.lz mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.xz mason-11c0af44e69a165df41e5fe6681b47f4204d3623.tar.zst mason-11c0af44e69a165df41e5fe6681b47f4204d3623.zip | |
refactor!: extract mason-lspconfig to separate plugin (#109)
The rationale behind this is to make boundaries clearer as mason.nvim
has no direct relation with lspconfig per se.
Also, hopefully, by having it as a separate package like this would
encourage more people to write similar extensions (think mason-dap and
mason-null-ls). Ideally such extensions wouldn't be required at all, but
there are definitely gaps to fill as of today.
From now on you'll need to add `williamboman/mason-lspconfig.nvim` as
a plugin if you want to use the `mason-lspconfig` extension:
```lua
use {
{ "williamboman/mason.nvim", branch = "alpha" },
"williamboman/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
}
```
```lua
Plug "williamboman/mason.nvim", { 'branch': 'alpha' }
Plug "williamboman/mason-lspconfig.nvim"
Plug "neovim/nvim-lspconfig"
```
Diffstat (limited to 'tests/mason-lspconfig/api/command_spec.lua')
| -rw-r--r-- | tests/mason-lspconfig/api/command_spec.lua | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/tests/mason-lspconfig/api/command_spec.lua b/tests/mason-lspconfig/api/command_spec.lua deleted file mode 100644 index 0551c777..00000000 --- a/tests/mason-lspconfig/api/command_spec.lua +++ /dev/null @@ -1,71 +0,0 @@ -local spy = require "luassert.spy" -local stub = require "luassert.stub" -local match = require "luassert.match" - -local server_mappings = require "mason-lspconfig.mappings.server" -local filetype_mappings = require "mason-lspconfig.mappings.filetype" -local api = require "mason-lspconfig.api.command" -local registry = require "mason-registry" -local Pkg = require "mason-core.package" - -describe(":LspInstall", function() - server_mappings.lspconfig_to_package["dummylsp"] = "dummy" - server_mappings.package_to_lspconfig["dummy"] = "dummylsp" - filetype_mappings.dummylang = { "dummylsp" } - - it("should install the provided servers", function() - local dummy = registry.get_package "dummy" - spy.on(Pkg, "install") - api.LspInstall { "dummylsp@1.0.0" } - assert.spy(Pkg.install).was_called(1) - assert.spy(Pkg.install).was_called_with(match.ref(dummy), { - version = "1.0.0", - }) - end) - - it( - "should prompt user for server to install based on filetype", - async_test(function() - local dummy = registry.get_package "dummy" - spy.on(Pkg, "install") - stub(vim.ui, "select") - vim.ui.select.invokes(function(items, opts, callback) - callback "dummylsp" - end) - vim.cmd [[new | setf dummylang]] - api.LspInstall {} - assert.spy(Pkg.install).was_called(1) - assert.spy(Pkg.install).was_called_with(match.ref(dummy), { - version = nil, - }) - assert.spy(vim.ui.select).was_called(1) - assert.spy(vim.ui.select).was_called_with({ "dummylsp" }, match.is_table(), match.is_function()) - end) - ) - - it( - "should not prompt user for server to install if no filetype match exists", - async_test(function() - spy.on(Pkg, "install") - stub(vim.ui, "select") - vim.cmd [[new | setf nolsplang]] - api.LspInstall {} - assert.spy(Pkg.install).was_called(0) - assert.spy(vim.ui.select).was_called(0) - end) - ) -end) - -describe(":LspUninstall", function() - server_mappings.lspconfig_to_package["dummylsp"] = "dummy" - server_mappings.package_to_lspconfig["dummy"] = "dummylsp" - filetype_mappings.dummylang = { "dummylsp" } - - it("should uninstall the provided servers", function() - local dummy = registry.get_package "dummy" - spy.on(Pkg, "uninstall") - api.LspUninstall { "dummylsp" } - assert.spy(Pkg.uninstall).was_called(1) - assert.spy(Pkg.uninstall).was_called_with(match.ref(dummy)) - end) -end) |
