diff options
| author | William Boman <william@redwill.se> | 2022-07-08 23:16:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-08 23:16:01 +0200 |
| commit | a444f770b40bce70d2d4e0f88bcb8344958411d5 (patch) | |
| tree | b822be4a9c9f216b86669497bdaa1a2199f7ff4e /scripts | |
| parent | feat: add eslint_d linter (#31) (diff) | |
| download | mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.tar mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.tar.gz mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.tar.bz2 mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.tar.lz mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.tar.xz mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.tar.zst mason-a444f770b40bce70d2d4e0f88bcb8344958411d5.zip | |
feat(mason-lspconfig): add :LspInstall and :LspUninstall commands (#35)
These should be in complete parity with the nvim-lsp-installer commands.
Now even better than before.
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/autogen_metadata.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/autogen_metadata.lua b/scripts/autogen_metadata.lua index 29339ce1..736b1bcb 100644 --- a/scripts/autogen_metadata.lua +++ b/scripts/autogen_metadata.lua @@ -3,6 +3,7 @@ local Path = require "mason-core.path" local fetch = require "mason-core.fetch" local _ = require "mason-core.functional" local fs = require "mason-core.fs" +local registry = require "mason-registry" local lspconfig_server_mapping = require "mason-lspconfig.mappings.server" ---@async @@ -48,6 +49,24 @@ local function create_lspconfig_filetype_map() end ---@async +local function create_language_map() + local language_map = {} + local sorted_packages = _.sort_by(_.prop "name", registry.get_all_packages()) + _.each(function(pkg) + _.each(function(language) + local language_lc = language:lower() + language_map[language_lc] = _.append(pkg.name, language_map[language_lc] or {}) + end, pkg.spec.languages) + end, sorted_packages) + + write_file( + Path.concat { vim.loop.cwd(), "lua", "mason", "mappings", "language.lua" }, + "return " .. vim.inspect(language_map), + "w" + ) +end + +---@async local function create_lsp_setting_schema_files() local lsp_schemas_path = Path.concat { vim.loop.cwd(), @@ -124,6 +143,7 @@ end a.run_blocking(function() a.wait_all(_.filter(_.identity, { create_lspconfig_filetype_map, + create_language_map, not vim.env.SKIP_SCHEMAS and create_lsp_setting_schema_files, create_package_index, })) |
