Adds the Murex shell (https://murex.rocks) to the set of shells
supported by 'zoxide init'.
Changes:
- templates/murex.txt: new init script template implementing
PWD/Prompt hooks via 'event onPrompt name=command-completion',
__zoxide_z/zi helpers with empty-PARAMS handling, and clean
return-1 on no-match queries.
- src/shell.rs: wires the template + two tests:
* murex_murex (functional, runs the rendered init under murex -c),
parameterized across all opts combinations and gated by the
nix-dev feature so it only runs in the project's nix-shell
* murex_template_has_direct_path_handling (string assertions on
the rendered template, runs always)
- src/cmd/cmd.rs: adds Murex to the InitShell enum
- src/cmd/init.rs: imports Murex and adds the match arm
- shell.nix: pins Murex to v7.2.1001 via a surgical overrideAttrs
on the existing pkgs.murex (only this single package changes; the
nixpkgs pin itself stays put). v7.0 introduced the
'command-completion' onPrompt interrupt that the prompt/PWD hooks
depend on, so the version bundled with the current nixpkgs pin
(v6.4.2063) is too old to source the rendered init.
Completion stubs in contrib/completions/ are not touched directly;
they regenerate via build.rs when the InitShell enum changes.
Closes#1085
Only ksh93 supports DEBUG traps, and the rest don't have any features
that can be used for setting up hooks. May as well use the POSIX
implementation for all ksh shells.