mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 15:38:41 +08:00
340de73172
Previously, when a command wasn't found, fish would emit the "fish_command_not_found" *event*. This was annoying as it was hard to override (the code ended up checking for a function called `__fish_command_not_found_handler` anyway!), the setup was ugly, and it's useless - there is no use case for multiple command-not-found handlers. Instead, let's just call a function `fish_command_not_found` if it exists, or print the default message otherwise. The event is completely removed, but because a missing event is not an error (MEISNAE in C++-speak) this isn't an issue. Note that, for backwards-compatibility, we still keep the default handler function around even tho the new one is hard-coded in C++. Also, if we detect a previous handler, the new handler just calls it. This way, the backwards-compatible way to install a custom handler is: ```fish function __fish_command_not_found_handler --on-event fish_command_not_found # do a little dance, make a little love, get down tonight end ``` and the new hotness is ```fish function fish_command_not_found # do the thing end ``` Fixes #7293. |
||
---|---|---|
.. | ||
completions | ||
functions | ||
groff | ||
tools | ||
__fish_build_paths.fish.in | ||
config.fish | ||
lynx.lss |