Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [PATCH] cd: Append 2nd argument to CWD if 1st is empty



On 12/1/23, Julian Prein <druckdev@xxxxxxxxxxxxxx> wrote:
> On Friday, December 1st, 2023 at 10:21, Roman Perepelitsa
> <roman.perepelitsa@xxxxxxxxx> wrote:
>>
>> What is the use case of the new behavior?
>
> I often work in directories that are named the same with one having an
> extra
> suffix. Examples would be ./dotfiles and ./dotfiles-private, or ./repo and
> ./repo-branchname where repo-branchname is a linked git-worktree of repo to
> work
> in different branches simultaneously.
> To switch from repo-branchname to repo, I can type `cd -branchname ''`. The
> inverse does currently not work though; I'd have to type
> `cd ../repo-branchname`.

I'm not opposed to the patch, but you could just cd $PWD-branchname in
this case. It's also easy to get the desired functionality with a
wrapper function (admittedly slightly less easy if you also want to
handle edge cases like cd -L '' foo but you probably don't):
cd() {
  if [[ $# == 2 ]] && [[ $1 = "" ]]; then
    builtin cd $PWD$2
  else
    builtin cd "$@"
  fi
}

-- 
Mikael Magnusson




Messages sorted by: Reverse Date, Date, Thread, Author