diff options
| author | William Boman <william@redwill.se> | 2023-01-04 09:37:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-04 09:37:46 +0100 |
| commit | 3660962404fefcca70dbf18592204df3970edd78 (patch) | |
| tree | 18394aa9f3113f2b51017f4d14748c3e462830ef /doc | |
| parent | feat(registry): add has_package() method (#847) (diff) | |
| download | mason-3660962404fefcca70dbf18592204df3970edd78.tar mason-3660962404fefcca70dbf18592204df3970edd78.tar.gz mason-3660962404fefcca70dbf18592204df3970edd78.tar.bz2 mason-3660962404fefcca70dbf18592204df3970edd78.tar.lz mason-3660962404fefcca70dbf18592204df3970edd78.tar.xz mason-3660962404fefcca70dbf18592204df3970edd78.tar.zst mason-3660962404fefcca70dbf18592204df3970edd78.zip | |
docs(reference): add section regarding registry events (#848)
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/reference.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/reference.md b/doc/reference.md index 691f8f2c..e51ba57e 100644 --- a/doc/reference.md +++ b/doc/reference.md @@ -24,6 +24,7 @@ RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as de [rfc8174]: https://tools.ietf.org/html/rfc8174 - [Architecture diagram](#architecture-diagram) +- [Registry events](#registry-events) - [`PackageSpec`](#packagespec) - [`Package`](#package) - [`Package.Parse({package_identifier})`](#packageparsepackage_identifier) @@ -66,6 +67,37 @@ RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as de  +## Registry events + +The `mason-registry` Lua module extends the [EventEmitter](#eventemitter) interface and emits the following events: + +| Event | Handler signature | +| --------------------------- | ------------------------------------------ | +| `package:handle` | `fun(pkg: Package, handle: InstallHandle)` | +| `package:install:success` | `fun(pkg: Package, handle: InstallHandle)` | +| `package:install:failed` | `fun(pkg: Package, handle: InstallHandle)` | +| `package:uninstall:success` | `fun(pkg: Package)` | + +The following is an example for how to register handlers for events: + +```lua +local registry = require "mason-registry" + +registry:on( + "package:handle", + vim.schedule_wrap(function(pkg, handle) + print(string.format("Installing %s", pkg.name)) + end) +) + +registry:on( + "package:install:success", + vim.schedule_wrap(function(pkg, handle) + print(string.format("Successfully installed %s", pkg.name)) + end) +) +``` + ## `PackageSpec` **Type:** |
