| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-07-08 | Replace std::unique_ptr with a custom implementation | Maxime Coste | |
| <memory> is a costly header we can avoid by just implementing UniquePtr ourselves, which is a pretty straightforward in modern C++, this saves around 10% of the compilation time here. | |||
| 2024-08-19 | Merge remote-tracking branch 'arrufat/includes-cleanup' | Maxime Coste | |
| 2024-08-16 | include headers cleanup | AdriĆ Arrufat | |
| 2024-08-15 | Remove unused ConstexprVector and rename constexpr_utils.hh to array.hh | Maxime Coste | |
| 2024-08-12 | Reduce headers dependency graph | Maxime Coste | |
| Move more code into the implementation files to reduce the amount of code pulled by headers. | |||
| 2024-06-24 | Add EnterDirectory hook | Philipp Jungkamp | |
| This hook runs on `change-directory` and is also emitted just before KakBegin after kakrc has been sourced. | |||
| 2024-04-12 | Introduce "local" scope in evaluate-commands | Maxime Coste | |
| When using `eval` a new scope named 'local' gets pushed for the whole evaluation, this makes it possible to temporarily set an option/hook/alias... Local scopes nest so nested evals do work as expected. Remove the now trivial with-option command | |||
| 2024-03-27 | Add SessionRenamed hook | Tobias Pisani | |
| 2024-03-27 | Add ClientRenamed hook | Tobias Pisani | |
| 2023-02-14 | Immediately execute ModuleLoaded hooks for already loaded modules | Maxime Coste | |
| This is trickier than expected because ModuleLoaded hooks can (as any other hooks) use arbitrary regular expressions for their filter. Fixes #4841 | |||
| 2020-07-19 | Add a RegisterModified hook | Maxime Coste | |
| This one has been a long time coming, I am still concerned this could impact performance a lot. This hook does *not* trigger for capture registers (0-9) or any other dynamic registers (that are not writable). Fixes #859 | |||
| 2020-07-04 | Add User hook support | Maxime Coste | |
| 2020-02-27 | Make `on_next_key_with_autoinfo()` respect `idle_timeout` | Nicolas Ouellet-Payeur | |
| The prompt and autocomplete normally wait for `idle_timeout` before showing suggestions, however commands like `g`, `v`, or the lead-key show Clippy instantly. This fixes the issue by making `on_next_key_with_autoinfo()` wait for `idle_timeout` before displaying suggestions. Fixes mawww/kakoune#3365 Fixes mawww/kakoune#2066 | |||
| 2019-10-17 | Remove explicit sizes from make_array calls | Maxime Coste | |
| 2019-10-16 | Replace ModeChange hooks by ModePush and ModePop | Maxime Coste | |
| Remove deprecated InsertBegin, InsertEnd, NormalBegin, NormalEnd hooks. Closes #2545 | |||
| 2019-06-25 | Rename ModuleLoad hook to ModuleLoaded | codesoap | |
| This clarifies, that the hook is run *after* the module is loaded. | |||
| 2019-04-25 | Merge remote-tracking branch 'laelath/provides-requires' | Maxime Coste | |
| 2019-04-17 | Remove InsertCompletionSelect hook | Maxime Coste | |
| 2019-04-08 | Added ModuleLoad hook that uses the module name as the parameter | Justin Frank | |
| 2019-04-08 | Add a ClientCreate and ClientClose hook | Maxime Coste | |
| As discussed in #2830. Closes #2500. | |||
| 2019-01-24 | Header and dependency cleanup | Maxime Coste | |
| 2018-10-23 | Refactor Hook management to have a well defined list of hooks | Maxime Coste | |
| Hooks are now an enum class instead of passing strings around. | |||
| 2018-09-12 | Change remove-hooks to take a regular expression | Maxime Coste | |
| All hooks whose group match this regex will be removed. Fixes #2380. | |||
| 2018-08-06 | src: Allow hooks to be run only once | Frank LENORMAND | |
| This commit implements the -once flag on the `:hook` command, which automatically removes a hook after it was run, to avoid having to declare a group and remove it in the hook implementation. Closes #2277 | |||
| 2018-04-26 | Add a -always switch to hook command to ignore hooks disabled | Maxime Coste | |
| Hooks specified as always will run regardless of the hook disabled status. | |||
| 2017-10-06 | Move HookManager::Hook definition in the cpp | Maxime Coste | |
| This avoids including regex.hh in the header. | |||
| 2017-08-04 | Fix SafeCountable and RefCountable copy/move logic | Maxime Coste | |
| The safe and ref counts should not get copied around. | |||
| 2017-06-07 | Fix memory errors due to sharing the MatchResults in the Hooks struct | Maxime Coste | |
| A hook execution triggered by another hook execution would change the shared MatchResults object, which is a wrong behaviour and makes it point to dead string data. | |||
| 2017-06-07 | Move hook executing logic into HookManager | Maxime Coste | |
| The existing HookManager was able to run arbitrary hook functions, but in practice was only used for user provided textual hooks. That separation was causing some suboptimal performances, by moving that logic directly in the hook manager we can improve hook filtering performance which is a big part of startup time when opening lots of files. | |||
| 2017-06-07 | Avoid expensive copies of Hooks in HookManager::run_hooks | Maxime Coste | |
| Use a deferred deletion mechanism to ensure hooks are kept alive for the duration of run_hooks. | |||
| 2017-06-07 | Use a vector instead of a hash map to store hooks | Maxime Coste | |
| 2017-03-07 | Replace IdMap with HashMap | Maxime Coste | |
| 2017-02-19 | Small naming tweak in HookManager | Maxime Coste | |
| 2016-11-28 | Add more memory domains to certain data | Maxime Coste | |
| 2016-06-27 | Detect recursive hook run and abort in that case | Maxime Coste | |
| Fixes #709 | |||
| 2016-05-15 | Make HookManager safe counted | Maxime Coste | |
| 2015-03-17 | Remove unneeded include | Maxime Coste | |
| 2015-03-05 | Use a IdMap for storing hooks | Maxime Coste | |
| The number of hook names is small (<20), using an UnorderedMap is overkill, and prevents using StringView for key searching. | |||
| 2015-01-12 | Yet more tracking | Maxime Coste | |
| 2014-12-23 | Remove trailing blank lines | Maxime Coste | |
| 2014-12-23 | Rename id_map to IdMap | Maxime Coste | |
| 2014-12-23 | Unify completion from container content logic | Maxime Coste | |
| 2014-12-16 | Rework hashing, use a more extensible framework similar to n3876 proposal | Maxime Coste | |
| std::hash specialization is a pain to work with, stop using that, and just specialize a 'size_t hash_value(const T&)' free function. | |||
| 2014-11-12 | Cleanup includes | Maxime Coste | |
| 2014-10-30 | Add scope class and encapsulate Options, Keymaps, Aliases and Hooks in it | Maxime Coste | |
| 2014-10-20 | Port more code to StringView instead of const String& | Maxime Coste | |
| 2014-07-24 | Disable hooks on a per context basis, and propagate that to Insert mode | Maxime Coste | |
| using \ before entering insert mode will disable hooks during the whole insert session rather than only the entering phase. That gives a nice way of pasting text into kakoune. | |||
| 2014-07-21 | Add completion support for rmhooks | Maxime Coste | |
| 2014-06-21 | Only user hooks can be disabled | Maxime Coste | |
| 2014-06-16 | Use -group rather than -id in hooks to mirror highlighters closer | Maxime Coste | |
