ajeetdsouza / zoxide

A smarter cd command. Supports all major shells.
MIT License
22.07k stars 537 forks source link

Add support for kornshell #769

Closed k2662 closed 6 months ago

k2662 commented 6 months ago

I use this in zsh, but would like it in kornshell as the

eval "$(zoxide init posix --hook prompt)"

is a little janky

ajeetdsouza commented 6 months ago

What's janky about it?

k2662 commented 6 months ago

It doesn't always work and kornshell has more features than a generic posix shell. We could use these features to improve performance of zoxide in kornshell. Here is the kornshell I use : https://github.com/ksh93/ksh

ajeetdsouza commented 6 months ago

It doesn't always work

Could you elaborate? If there's a bug in the generic POSIX implementation, we should fix that.

kornshell has more features than a generic posix shell. We could use these features to improve performance of zoxide in kornshell.

What Korn-specific features do you think zoxide should be utilising? Is there any part of zoxide that's running slow on your system?

k2662 commented 6 months ago

It doesn't always work

Could you elaborate? If there's a bug in the generic POSIX implementation, we should fix that.

kornshell has more features than a generic posix shell. We could use these features to improve performance of zoxide in kornshell.

What Korn-specific features do you think zoxide should be utilising? Is there any part of zoxide that's running slow on your system?

The execution time in kornshell is slow. My systtem has 4 cores and 8 threads. (2017 macbook pro 15 inch)

ajeetdsouza commented 6 months ago

There's not much to do here, unfortunately:

zoxide is a very light binary, a 2017 MacBook is more than sufficient for it. There may be a one-off slowdown because macOS checks binaries before executing them the first time, but that should not persist. What exactly takes long to execute on your system?

kaesluder commented 6 months ago

(Did some work in ksh a while back.)

Briefly tested on OpenSUSE tumbleweed. Unable to replicate the problem. I looked through the man page and didn't find any additional hooks other than $PS1 that could be used for this, but I could be wrong.

➜  ~ ksh --version
  version         sh (AT&T Research) 93u+ 2012-08-01

➜  ~ uname -a
Linux localhost.localdomain 6.8.1-1-default #1 SMP PREEMPT_DYNAMIC Tue Mar 19 07:32:20 UTC 2024 (d922afa) x86_64 x86_64 x86_64 GNU/Linux

CPU Info model name : Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz

~/.kshrc

echo "Hello world"
eval "$(zoxide init posix --hook prompt)"
ajeetdsouza commented 6 months ago

Agreed, I don't think this issue is actionable.

ajeetdsouza commented 3 weeks ago

zoxide v0.9.5 now officially supports ksh. Do try it out whenever you get the chance!

k2662 commented 2 weeks ago

zoxide v0.9.5 now officially supports ksh. Do try it out whenever you get the chance!

zoxide v0.9.5 now officially supports ksh. Do try it out whenever you get the chance!

zoxide v0.9.5 now officially supports ksh. Do try it out whenever you get the chance!

Thank You! And sorry for not responding was busy w/ school.