diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason/_generated/package_index.lua | 1 | ||||
| -rw-r--r-- | lua/mason/packages/dart-debug-adapter/init.lua | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/lua/mason/_generated/package_index.lua b/lua/mason/_generated/package_index.lua index a1b36015..a6173d34 100644 --- a/lua/mason/_generated/package_index.lua +++ b/lua/mason/_generated/package_index.lua @@ -25,6 +25,7 @@ return { ["css-lsp"] = "mason.packages.css-lsp", ["cssmodules-language-server"] = "mason.packages.cssmodules-language-server", ["cucumber-language-server"] = "mason.packages.cucumber-language-server", + ["dart-debug-adapter"] = "mason.packages.dart-debug-adapter", debugpy = "mason.packages.debugpy", delve = "mason.packages.delve", deno = "mason.packages.deno", diff --git a/lua/mason/packages/dart-debug-adapter/init.lua b/lua/mason/packages/dart-debug-adapter/init.lua new file mode 100644 index 00000000..1e5b21c8 --- /dev/null +++ b/lua/mason/packages/dart-debug-adapter/init.lua @@ -0,0 +1,25 @@ +local Pkg = require "mason.core.package" +local github = require "mason.core.managers.github" +local _ = require "mason.core.functional" +local path = require "mason.core.path" + +return Pkg.new { + name = "dart-debug-adapter", + desc = [[Dart debug adapter sourced from the VSCode Dart extension.]], + homepage = "https://github.com/Dart-Code/Dart-Code", + languages = { Pkg.Lang.Dart, Pkg.Lang.Flutter }, + categories = { Pkg.Cat.DAP }, + ---@async + ---@param ctx InstallContext + install = function(ctx) + github + .unzip_release_file({ + repo = "Dart-Code/Dart-Code", + asset_file = _.compose(_.format "dart-code-%s.vsix", _.gsub("^v", "")), + }) + .with_receipt() + ctx.fs:rmrf(path.concat { "extension", "media" }) -- unnecessary media assets + ctx:write_node_exec_wrapper("dart-debug-adapter", path.concat { "extension", "out", "dist", "debug.js" }) + ctx:link_bin("dart-debug-adapter", "dart-debug-adapter") + end, +} |
