From 75860d253f9e66d08c9289dc43fae790882eb136 Mon Sep 17 00:00:00 2001 From: Hollis Wu Date: Wed, 21 Sep 2022 20:32:57 +0800 Subject: feat: add js-debug-adapter (#442) --- lua/mason-registry/index.lua | 1 + lua/mason-registry/js-debug-adapter/init.lua | 27 +++++++++++++++++++++++++++ lua/mason/mappings/language.lua | 4 ++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 lua/mason-registry/js-debug-adapter/init.lua (limited to 'lua') diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua index 5dbfd3c1..6fafe1bd 100644 --- a/lua/mason-registry/index.lua +++ b/lua/mason-registry/index.lua @@ -101,6 +101,7 @@ return { ["jedi-language-server"] = "mason-registry.jedi-language-server", joker = "mason-registry.joker", jq = "mason-registry.jq", + ["js-debug-adapter"] = "mason-registry.js-debug-adapter", ["json-lsp"] = "mason-registry.json-lsp", ["json-to-struct"] = "mason-registry.json-to-struct", ["jsonnet-language-server"] = "mason-registry.jsonnet-language-server", diff --git a/lua/mason-registry/js-debug-adapter/init.lua b/lua/mason-registry/js-debug-adapter/init.lua new file mode 100644 index 00000000..897aa11e --- /dev/null +++ b/lua/mason-registry/js-debug-adapter/init.lua @@ -0,0 +1,27 @@ +local Pkg = require "mason-core.package" +local github = require "mason-core.managers.github" +local git = require "mason-core.managers.git" +local _ = require "mason-core.functional" +local path = require "mason-core.path" +local Optional = require "mason-core.optional" + +return Pkg.new { + name = "js-debug-adapter", + desc = [[The VS Code JavaScript debugger]], + homepage = "https://github.com/microsoft/vscode-js-debug", + languages = { Pkg.Lang.JavaScript, Pkg.Lang.TypeScript }, + categories = { Pkg.Cat.DAP }, + ---@async + ---@param ctx InstallContext + install = function(ctx) + local source = github.tag { repo = "microsoft/vscode-js-debug" } + source.with_receipt() + git.clone { "https://github.com/microsoft/vscode-js-debug", version = Optional.of(source.tag) } + ctx.spawn.npm { "install", "--legacy-peer-deps" } + ctx.spawn.npm { "run", "compile" } + ctx:link_bin( + "js-debug-adapter", + ctx:write_node_exec_wrapper("js-debug-adapter", path.concat { "out", "src", "vsDebugServer.js" }) + ) + end, +} diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua index 8600a4f8..413c8f6e 100644 --- a/lua/mason/mappings/language.lua +++ b/lua/mason/mappings/language.lua @@ -53,7 +53,7 @@ return { hoon = { "hoon-language-server" }, html = { "erb-lint", "html-lsp", "prettier", "prettierd" }, java = { "clang-format", "jdtls" }, - javascript = { "chrome-debug-adapter", "clang-format", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "quick-lint-js", "rome", "typescript-language-server", "xo" }, + javascript = { "chrome-debug-adapter", "clang-format", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "js-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "quick-lint-js", "rome", "typescript-language-server", "xo" }, jinja = { "curlylint", "djlint" }, json = { "cfn-lint", "clang-format", "fixjson", "jq", "json-lsp", "prettier", "prettierd", "spectral-language-server" }, jsonnet = { "jsonnet-language-server" }, @@ -107,7 +107,7 @@ return { text = { "grammarly-languageserver", "ltex-ls", "proselint", "textlint", "vale" }, toml = { "taplo" }, twig = { "curlylint", "twigcs" }, - typescript = { "chrome-debug-adapter", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "rome", "typescript-language-server", "xo" }, + typescript = { "chrome-debug-adapter", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "js-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "rome", "typescript-language-server", "xo" }, v = { "vls" }, vala = { "vala-language-server" }, vimscript = { "vim-language-server", "vint" }, -- cgit v1.2.3-70-g09d2