diff options
Diffstat (limited to 'scripts/lua/mason-scripts/mason-schemas/generate.lua')
| -rw-r--r-- | scripts/lua/mason-scripts/mason-schemas/generate.lua | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/scripts/lua/mason-scripts/mason-schemas/generate.lua b/scripts/lua/mason-scripts/mason-schemas/generate.lua deleted file mode 100644 index b41d6558..00000000 --- a/scripts/lua/mason-scripts/mason-schemas/generate.lua +++ /dev/null @@ -1,63 +0,0 @@ -local _ = require "mason-core.functional" -local a = require "mason-core.async" -local fetch = require "mason-core.fetch" -local lspconfig_server_mapping = require "mason-lspconfig.mappings.server" -local path = require "mason-core.path" -local script_utils = require "mason-scripts.utils" - -local MASON_SCHEMAS_DIR = path.concat { vim.loop.cwd(), "lua", "mason-schemas" } - ----@async -local function create_lsp_setting_schema_files() - local lsp_schemas_path = path.concat { MASON_SCHEMAS_DIR, "lsp" } - - for _, file in - ipairs(vim.fn.glob( - path.concat { - lsp_schemas_path, - "*", - }, - 1, - 1 - )) - do - print("Deleting " .. file) - vim.fn.delete(file) - end - - local gist_data = fetch( - "https://gist.githubusercontent.com/williamboman/a01c3ce1884d4b57cc93422e7eae7702/raw/lsp-packages.json" - ):get_or_throw() - local package_json_mappings = vim.json.decode(gist_data) - - for _, server_name in ipairs(_.keys(lspconfig_server_mapping.lspconfig_to_package)) do - local package_json_url = package_json_mappings[server_name] - if package_json_url then - print(("Fetching %q..."):format(package_json_url)) - local response = fetch(package_json_url):get_or_throw() - local schema = vim.json.decode(response) - if schema.contributes and schema.contributes.configuration then - schema = schema.contributes.configuration - end - if not schema.properties then - -- Some servers (like dartls) seem to provide an array of configurations (for more than just LSP stuff) - print(("Could not find appropriate schema structure for %s."):format(server_name)) - else - script_utils.write_file( - path.concat { - lsp_schemas_path, - ("%s.lua"):format(lspconfig_server_mapping.lspconfig_to_package[server_name]), - }, - "return " .. vim.inspect(schema, { newline = "", indent = "" }), - "w" - ) - end - end - end -end - -a.run_blocking(function() - a.wait_all { - create_lsp_setting_schema_files, - } -end) |
