Re: how to expand ~ in a filepath
Mig Mit <[email protected]> Tue, 22 Jul 2025 15:17:48 +0300
| Newsgroups | gmane.comp.lang.haskell.cafe |
|---|---|
| Message-ID | <[email protected]> |
There is no “should” here. It might be what you want, but it's not a universal standard. In Bash, “~foo” is not expanded. Sent from my iPad > On 2025. Jul 22., at 15:13, Richard O'Keefe <[email protected]> wrote: > > But it's not just ~/ that should be expanded. > All four of "~" "~/bar" "~foo" and "~foo/bar" should be expanded by a > tilde-expander. > >> On Tue, 22 Jul 2025 at 03:06, Brandon Allbery <[email protected]> wrote: >> >> There's also https://github.com/xmonad/xmonad-contrib/blob/master/XMonad/Prelude.hs#L135-L156 although it also does a few other things. >> >>> On Mon, Jul 21, 2025 at 7:57 AM Tristan Cacqueray via Haskell-Cafe <[email protected]> wrote: >>> >>> >>> Hello, unfortunately there is no "expandHomePath" or "realpath" helpers >>> in the standard libraries. Searching for "FilePath -> IO FilePath" in >>> hoogle shows an implementation in the hledger project: >>> https://hackage-content.haskell.org/package/hledger-lib-1.43.2/docs/Hledger-Utils-IO.html#v:expandHomePath >>> >>> … which check if the path begins with "~/", and replace that with the >>> output of "getHomeDirectory" >>> >>> -Tristan >>> >>> On Mon, Jul 21, 2025 at 07:19 PICCA Frederic-Emmanuel wrote: >>>> Hello, I am trying to open and read the content of this kind of filepath. >>>> >>>> ~/debian/changelog >>>> >>>> So is there a prefered way to expand the ~ into the real $HOME. >>>> >>>> thanks for your help >>>> >>>> Frédéric >>>> >>>> >>>> Classification de confidentialité SOLEIL >>>> >>>> Ce message et ses pièces jointes peuvent contenir des informations soumises à des règles de diffusion : >>>> >>>> * P (Public) : Diffusion libre y compris à l'extérieur de SOLEIL. >>>> * I (Interne) : Diffusion libre au sein de SOLEIL, ne doit pas être communiqué à l’extérieur sauf mention spécifique. >>>> * C (Confidentiel) : Diffusion restreinte aux personnes autorisées, internes ou externes. Le partage nécessite l'accord de la hiérarchie. >>>> * S (Sensible) : Accès restreint aux seuls destinataires. Partage non autorisé. >>>> >>>> Les informations contenues dans cet e-mail sont la propriété de SOLEIL. Si vous n'êtes pas le destinataire prévu, merci de nous en notifier et de ne pas utiliser, copier ou distribuer les informations qu'il contient. >>>> _______________________________________________ >>>> Haskell-Cafe mailing list >>>> To (un)subscribe, modify options or view archives go to: >>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe >>>> Only members subscribed via the mailman list are allowed to post. >>> _______________________________________________ >>> Haskell-Cafe mailing list >>> To (un)subscribe, modify options or view archives go to: >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe >>> Only members subscribed via the mailman list are allowed to post. >> >> >> >> -- >> brandon s allbery kf8nh >> [email protected] >> _______________________________________________ >> Haskell-Cafe mailing list >> To (un)subscribe, modify options or view archives go to: >> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe >> Only members subscribed via the mailman list are allowed to post. > _______________________________________________ > Haskell-Cafe mailing list > To (un)subscribe, modify options or view archives go to: > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe > Only members subscribed via the mailman list are allowed to post. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.