Most developers have their preferred workflow. Mine is terminal-based which means I spend ~100% of my non-browser time on the terminal. Moving between folders was something I optimised in 2020 with my own “flavour” of a file-directory-changer.

I implemented https://github.com/slai11/goto instead of using off-the-shelf alternatives like jump or zoxide for 2 reasons: (1) those did not fit my usage pattern and (2) I wanted to build/hack together something in Rust.

goto served me well for 2 years. I used gt more than cd in my day-to-day workflow. However, I noticed that my use of gt fell after starting work at GitLab. Many project/repository titles have many common substrings: “gitlab”. I ditched gt for a more accurate cd since false positives were high. This led me to wonder if I can just display my recently used folders and jump to one of them instead.

Enter the new mode: https://github.com/slai11/goto/pull/39. Obviously it needs more refinement. I think the list of files need to be chomped off after a certain length, else there is no point using gt if I’m spending 1-2 seconds scanning the list for my target file. These improvements will come when I’ve used it for a more extensive period of time and have a better idea of what I truly need.

In the meantime, I’m just happy to hack around in Rust. Being able to write in a modern programming language (verbose compiler feedback, dependency management, no manual memory management – borrow checker could be less painful to use) while getting near C performance is truly a joy. Feels like writing Scala with zero cost abstractions and no JVM.