Skip to content

Commit

Permalink
feat: add bash-debug-adapter (#253)
Browse files Browse the repository at this point in the history
Co-authored-by: William Boman <[email protected]>
  • Loading branch information
Issafalcon and williamboman authored Aug 5, 2022
1 parent 7c9155b commit cfa56f1
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 3 deletions.
2 changes: 1 addition & 1 deletion lua/mason-core/managers/github/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ end
---@param processor async fun(opts: table)
local function release_file_processor(filename, processor)
---@async
---@param opts {repo: string, asset_file: string|fun(release: string):string}
---@param opts {repo: string, version: Optional|nil, asset_file: string|fun(release: string):string}
return function(opts)
local release_file_source = M.release_file(opts)
std.download_file(release_file_source.download_url, filename)
Expand Down
45 changes: 45 additions & 0 deletions lua/mason-registry/bash-debug-adapter/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
local Pkg = require "mason-core.package"
local github = require "mason-core.managers.github"
local github_client = require "mason-core.managers.github.client"
local _ = require "mason-core.functional"
local path = require "mason-core.path"
local Optional = require "mason-core.optional"

return Pkg.new {
name = "bash-debug-adapter",
desc = [[Bash shell debugger, based on bashdb.]],
homepage = "https://github.com/rogalmic/vscode-bash-debug",
languages = { Pkg.Lang.JavaScript, Pkg.Lang.TypeScript },
categories = { Pkg.Cat.DAP },
---@async
---@param ctx InstallContext
install = function(ctx)
local repo = "rogalmic/vscode-bash-debug"
---@type GitHubRelease
local release = ctx.requested_version
:map(function(version)
return github_client.fetch_release(repo, version)
end)
:or_else_get(function()
return github_client.fetch_latest_release(repo)
end)
:get_or_throw()

---@type GitHubReleaseAsset
local release_asset = _.find_first(_.prop_satisfies(_.matches "%.vsix$", "name"), release.assets)

github
.unzip_release_file({
repo = repo,
asset_file = release_asset.name,
version = Optional.of(release.tag_name),
})
.with_receipt()

ctx.fs:rmrf(path.concat { "extension", "images" })
ctx:link_bin(
"bash-debug-adapter",
ctx:write_node_exec_wrapper("bash-debug-adapter", path.concat { "extension", "out", "bashDebug.js" })
)
end,
}
1 change: 1 addition & 0 deletions lua/mason-registry/index.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ return {
["asm-lsp"] = "mason-registry.asm-lsp",
["astro-language-server"] = "mason-registry.astro-language-server",
["awk-language-server"] = "mason-registry.awk-language-server",
["bash-debug-adapter"] = "mason-registry.bash-debug-adapter",
["bash-language-server"] = "mason-registry.bash-language-server",
["beancount-language-server"] = "mason-registry.beancount-language-server",
["bicep-lsp"] = "mason-registry.bicep-lsp",
Expand Down
4 changes: 2 additions & 2 deletions lua/mason/mappings/language.lua
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,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 = { "bash-debug-adapter", "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" },
jinja = { "curlylint", "djlint" },
json = { "clang-format", "fixjson", "jq", "json-lsp", "prettier", "prettierd", "spectral-language-server" },
jsonnet = { "jsonnet-language-server" },
Expand Down Expand Up @@ -102,7 +102,7 @@ return {
text = { "grammarly-languageserver", "ltex-ls", "proselint", "vale" },
toml = { "taplo" },
twig = { "curlylint" },
typescript = { "chrome-debug-adapter", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "rome", "typescript-language-server", "xo" },
typescript = { "bash-debug-adapter", "chrome-debug-adapter", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "rome", "typescript-language-server", "xo" },
v = { "vls" },
vala = { "vala-language-server" },
vimscript = { "vim-language-server", "vint" },
Expand Down

0 comments on commit cfa56f1

Please sign in to comment.