diff options
| author | William Boman <william@redwill.se> | 2022-07-08 18:34:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-08 18:34:38 +0200 |
| commit | 976aa4fbee8a070f362cab6f6ec84e9251a90cf9 (patch) | |
| tree | 5e8d9c9c59444a25c7801b8f39763c4ba6e1f76d /scripts | |
| parent | feat: add gotests, gomodifytags, impl (#28) (diff) | |
| download | mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.tar mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.tar.gz mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.tar.bz2 mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.tar.lz mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.tar.xz mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.tar.zst mason-976aa4fbee8a070f362cab6f6ec84e9251a90cf9.zip | |
refactor: add mason-schemas and mason-core modules (#29)
* refactor: add mason-schemas and move generated filetype map to mason-lspconfig
* refactor: add mason-core module
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/autogen_metadata.lua | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/scripts/autogen_metadata.lua b/scripts/autogen_metadata.lua index 5daa013d..29339ce1 100644 --- a/scripts/autogen_metadata.lua +++ b/scripts/autogen_metadata.lua @@ -1,18 +1,9 @@ -local a = require "mason.core.async" -local Path = require "mason.core.path" -local fetch = require "mason.core.fetch" -local _ = require "mason.core.functional" -local fs = require "mason.core.fs" -local lspconfig_server_mapping = require "mason-lspconfig.server-mapping" - -local generated_dir = Path.concat { vim.fn.getcwd(), "lua", "mason", "_generated" } -local schemas_dir = Path.concat { generated_dir, "lsp-schemas" } - -print("Creating directory " .. generated_dir) -vim.fn.mkdir(generated_dir, "p") - -print("Creating directory " .. schemas_dir) -vim.fn.mkdir(schemas_dir, "p") +local a = require "mason-core.async" +local Path = require "mason-core.path" +local fetch = require "mason-core.fetch" +local _ = require "mason-core.functional" +local fs = require "mason-core.fs" +local lspconfig_server_mapping = require "mason-lspconfig.mappings.server" ---@async ---@param path string @@ -49,11 +40,32 @@ local function create_lspconfig_filetype_map() end end - write_file(Path.concat { generated_dir, "lspconfig_filetype_map.lua" }, "return " .. vim.inspect(filetype_map), "w") + write_file( + Path.concat { vim.loop.cwd(), "lua", "mason-lspconfig", "mappings", "filetype.lua" }, + "return " .. vim.inspect(filetype_map), + "w" + ) end + ---@async local function create_lsp_setting_schema_files() - for _, file in ipairs(vim.fn.glob(Path.concat { schemas_dir, "*" }, 1, 1)) do + local lsp_schemas_path = Path.concat { + vim.loop.cwd(), + "lua", + "mason-schemas", + "lsp", + } + + for _, file in + ipairs(vim.fn.glob( + Path.concat { + lsp_schemas_path, + "*", + }, + 1, + 1 + )) + do print("Deleting " .. file) vim.fn.delete(file) end @@ -78,7 +90,7 @@ local function create_lsp_setting_schema_files() else write_file( Path.concat { - schemas_dir, + lsp_schemas_path, ("%s.lua"):format(lspconfig_server_mapping.lspconfig_to_package[server_name]), }, "return " .. vim.inspect(schema, { newline = "", indent = "" }), @@ -103,7 +115,7 @@ local function create_package_index() end write_file( - Path.concat { vim.fn.getcwd(), "lua", "mason-registry", "index.lua" }, + Path.concat { vim.loop.cwd(), "lua", "mason-registry", "index.lua" }, "return " .. vim.inspect(packages), "w" ) @@ -111,7 +123,7 @@ end a.run_blocking(function() a.wait_all(_.filter(_.identity, { - create_lspconfig_filetype_map, -- TODO is this needed? + create_lspconfig_filetype_map, not vim.env.SKIP_SCHEMAS and create_lsp_setting_schema_files, create_package_index, })) |
