diff options
| author | William Boman <william@redwill.se> | 2022-03-05 22:22:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-05 22:22:54 +0100 |
| commit | 20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51 (patch) | |
| tree | 6d004b451872a30015e090dda4dabb888a18ac19 /lua | |
| parent | remove npm install --production from ansiblels (#518) (diff) | |
| download | mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.tar mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.tar.gz mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.tar.bz2 mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.tar.lz mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.tar.xz mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.tar.zst mason-20e5dc0d10bb4d92d6f0c80a6057924ca2ce1e51.zip | |
async: raise errors instead of returning pcall-style (#521)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/core/async/init.lua | 8 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/process.lua | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lua/nvim-lsp-installer/core/async/init.lua b/lua/nvim-lsp-installer/core/async/init.lua index 1dd2c138..e9c753d2 100644 --- a/lua/nvim-lsp-installer/core/async/init.lua +++ b/lua/nvim-lsp-installer/core/async/init.lua @@ -17,7 +17,7 @@ function Promise:_wrap_resolver_cb(success, cb) return end self.has_resolved = true - cb(success, ...) + cb(success, { ... }) end end @@ -26,7 +26,11 @@ function Promise:__call(callback) end local function await(resolver) - return co.yield(Promise.new(resolver)) + local ok, value = co.yield(Promise.new(resolver)) + if not ok then + error(value[1], 2) + end + return unpack(value) end local function table_pack(...) diff --git a/lua/nvim-lsp-installer/process.lua b/lua/nvim-lsp-installer/process.lua index 87a4b950..07d51c32 100644 --- a/lua/nvim-lsp-installer/process.lua +++ b/lua/nvim-lsp-installer/process.lua @@ -143,7 +143,7 @@ function M.spawn(cmd, opts, callback) end end check:stop() - callback(successful) + callback(successful, exit_code) end) log.fmt_debug("Job pid=%s exited with exit_code=%s, signal=%s", pid_or_err, exit_code, signal) |
