Added module system to changelog, commands, and hooks doc files

This commit is contained in:
Justin Frank 2019-03-15 11:52:33 -07:00
parent 49b00992ca
commit 87bcf23f3e
3 changed files with 20 additions and 1 deletions

View File

@ -15,6 +15,13 @@ released versions.
* `edit -scratch` with no buffer name will create a new
scratch buffer with a unique autogenerated name.
* Introduced a module system using the `provides-module` and
`requires-module` commands that allows for lazily loading language
support files with dependency resolution.
* Added a new hook `ModuleLoad` which is run when a module is loaded, as
now options needed by modules aren't defined until the module is loaded.
== Kakoune 2019.01.20
* `auto_complete` has been renamed to `autocomplete` for more

View File

@ -312,6 +312,15 @@ but not really useful in that context.
*debug* {info,buffers,options,memory,shared-strings,profile-hash-maps,faces,mappings}::
print some debug information in the *\*debug** buffer
== Module commands
*provide-module* [<switches>] <name> <commands>::
declares a new module that is provided by the given commands. The commands
passed into the module are guaranteed to be run only once.
*require-module* <name>::
guarantees the <name> module is loaded before continuing command execution
== Multiple commands
Commands (c.f. previous sections) can be chained, by being separated either

View File

@ -180,6 +180,9 @@ name. Hooks with no description will always use an empty string.
*RawKey* `key`::
Triggered whenever a key is pressed by the user
*ModuleLoad* `module`::
Triggered when a module is loaded
Note that some hooks will not consider underlying scopes depending on what
context they are bound to be run into, e.g. the `BufWritePost` hook is a buffer
hook, and will not consider the `window` scope.