Skip to content

add support for schemesh - #1282

Closed
aidancz wants to merge 1 commit into
ajeetdsouza:mainfrom
aidancz:schemesh
Closed

add support for schemesh#1282
aidancz wants to merge 1 commit into
ajeetdsouza:mainfrom
aidancz:schemesh

Conversation

@aidancz

@aidancz aidancz commented Aug 12, 2026

Copy link
Copy Markdown

Schemesh is an interactive shell scriptable in Lisp (https://github.com/cosmos72/schemesh)

This PR adds the integration with schemesh.

Discussion: cosmos72/schemesh#77

zoxide and Schemesh are both projects I really love, and I'd be very happy to see this PR merged.

After testing, all of the commands below produced the correct results. (also supports the _ZO_ECHO and _ZO_RESOLVE_SYMLINKS environment variables.)

zoxide init schemesh
zoxide init schemesh --cmd j
zoxide init schemesh --hook none/prompt/pwd
zoxide init schemesh --no-cmd

Currently, completion for the __zoxide_z command is not supported.

It also passes the cargo test suite.

> cargo test --features nix-dev schemesh_schemesh
running 24 tests
test shell::tests::schemesh_schemesh::cmd_1_None::hook_2_InitHook__Prompt::echo_1_false::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_2_InitHook__Prompt::echo_1_false::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_3_InitHook__Pwd::echo_2_true::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_1_InitHook__None::echo_1_false::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_2_InitHook__Prompt::echo_2_true::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_3_InitHook__Pwd::echo_1_false::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_3_InitHook__Pwd::echo_2_true::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_2_InitHook__Prompt::echo_2_true::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_1_InitHook__None::echo_2_true::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_1_InitHook__None::echo_2_true::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_3_InitHook__Pwd::echo_1_false::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_1_None::hook_1_InitHook__None::echo_1_false::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_1_InitHook__None::echo_1_false::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_1_InitHook__None::echo_2_true::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_2_InitHook__Prompt::echo_1_false::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_1_InitHook__None::echo_2_true::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_2_InitHook__Prompt::echo_1_false::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_2_InitHook__Prompt::echo_2_true::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_3_InitHook__Pwd::echo_1_false::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_2_InitHook__Prompt::echo_2_true::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_3_InitHook__Pwd::echo_2_true::resolve_symlinks_1_false ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_3_InitHook__Pwd::echo_2_true::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_3_InitHook__Pwd::echo_1_false::resolve_symlinks_2_true ... ok
test shell::tests::schemesh_schemesh::cmd_2_Some___z___::hook_1_InitHook__None::echo_1_false::resolve_symlinks_2_true ... ok

test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 496 filtered out; finished in 0.43s


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 4 filtered out; finished in 0.00s

@ajeetdsouza

Copy link
Copy Markdown
Owner

Hey, thanks for writing a plugin! schemesh looks interesting, but unfortunately I don't think it makes sense for zoxide to maintain a dedicated integration for it right now given its relatively small user base. I would suggest keeping this in a dedicated schemesh-zoxide plugin repository instead, similar to what is currently being done for https://github.com/shunsambongi/clink-zoxide.

@aidancz

aidancz commented Aug 13, 2026

Copy link
Copy Markdown
Author

That's understandable. I will add the snippet to the relevant Schemesh issue to help other users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants