Remix.run Logo
robenkleene 3 days ago

The issue for me with this approach is one: It assumes a clear root for a project (e.g., your base you're cd-ing off of), I think that's only good assumption for small-scale projects? E.g., sufficient complexity, for programming at least, necessitates modularity which dilutes the concept of a "root".

The other issue is that it creates a separate "hop" which adds key strokes and cognitive load (i.e., I can't just jump directly to a subdirectory or related directory I first have to jump to a "junction" directory then to my destination).

In any event, I could see how that would be a reasonable approach in the absence zoxide, but those are the reasons I personally still prefer zoxide. (For the record, zoxide has some nice techniques for making a match more specific, e.g., `z foo bar` will hop to a dir containing `bar` only if it's in a subdirectory containing `foo`.

AyyEye 3 days ago | parent [-]

Mcfly[1] takes your working directory into account when searching shell history.

From the readme:

> The key feature of McFly is smart command prioritization powered by a small neural network that runs in real time. The goal is for the command you want to run to always be one of the top suggestions.

> When suggesting a command, McFly takes into consideration:

- The directory where you ran the command. You're likely to run that command in the same directory in the future.

- What commands you typed before the command (e.g., the command's execution context).

- How often you run the command.

- When you last ran the command.

- If you've selected the command in McFly before.

- The command's historical exit status. You probably don't want to run old failed commands.

[1] https://github.com/cantino/mcfly

fragmede 3 days ago | parent | next [-]

> The directory where you ran the command.

I love that mode in Atuin. I can never remember which of the run commands to use between make/cmake/bazel/yarn/npm/uv and hitting ctrl-r twice and scrolling up is better than having to root around in a readme, which I may or may not have bothered to write for my future self.

http://atuin.sh/

McFly sounds interesting! Added it to my list of things to investigate. Does it do multi-machine syncing?

skydhash 3 days ago | parent [-]

You can settle on make (or just) and have consistent targets like run, test, build, deploy, etc….

I use emacs, so I have compilation buffers for those.

fragmede 3 days ago | parent [-]

Oh I forgot about "just"! (and I have Opinions about that name.) Add that to the list. Making order from chaos is not unfamiliar to me. Previously I standardized on make and was fastidious about making makefiles, but with atuin, command directory history the extra effort to create makefiles became superfluous.

I used to have this fantasy that after I die, someone will care enough to go through my ~/projects folder and go through everything I worked on, and all those makefiles and readmes were going to help them, but no one cares that much for me. I'm okay with that, depressing as it is.

fragmede 3 days ago | parent | prev [-]

> The command's historical exit status. You probably don't want to run old failed commands.

Yeah but the other commands I ran is so that one succeeds.