Thanks! It does indeed. Is there a way to specify appearance? ~ENV vs $ENV ~SOME_ENV_VAR/foo/bar $SOME_ENV_VAR/foo/bar *Zach Riggle* On Fri, May 13, 2022 at 1:03 PM Mikael Magnusson wrote: > On 5/13/22, Zach Riggle wrote: > > Is there a ZSH standard way to collapse a file path to its shortest > > representation that would be idempotent per Chapter 14.7? > > > > For example, one might > > > > echo "$filepath" | sed -E "s|$HOME/?|~/|" > > echo "$filepath" | sed -E "s|$HOME/?|\$HOME/|" > > > > > > In order to turn > > > > /home/username/bar/baz → ~/bar/baz > > /home/username/bar/baz → $HOME/bar/baz > > > > > > To achieve this effect. > > > > From the documentation, "14.7 Filename Expansion" has a lot of ways that > > paths can be expanded, including... > > > > 14.7.2 > > ... the path is checked to see if it has a named directory as its prefix. > > If so, then the prefix portion is replaced with a ‘~’ followed by the > name > > of the directory .... > > > > > > Is there a standardized way to access this expansion with e.g. > > /path/to/somedir → ~SOMEDIR/foo? > > The D parameter expansion flag does this. > > -- > Mikael Magnusson >