haskell / haskeline

A Haskell library for line input in command-line programs.
https://hackage.haskell.org/package/haskeline
BSD 3-Clause "New" or "Revised" License
221 stars 75 forks source link

Support for HOME environment variable #51

Closed jeiea closed 5 years ago

jeiea commented 7 years ago

I'm using ghci on Windows, and I have migrated some profile path from C: to D: in place for windows reinstallation. But I didn't migrate profile folder itself due to drive failing situation. Because of directory package's process, I have to copy .haskeline file to C:\Users\%USERNAME% each time I reinstall windows. Some utilities use %HOME% environment variable for this situation. Are you willing to reflect this?

judah commented 7 years ago

To be honest, I'm hesitant to add extra logic beyond what's already in System.Directory.getHomeDirectory from the directory package (which is what Haskeline uses).

Did you do any other configuration to get Windows to use your profile folder on D:? For example I saw instructions to edit the registry here: https://answers.microsoft.com/en-us/windows/forum/windows_7-security/how-do-i-set-a-home-directory-outside-cusers-for-a/aed68262-1bf4-4a4d-93dc-7495193a440f

If setCurrentDirectory getHomeDirectory isn't respecting your configuration, maybe we should change its logic directly?

jeiea commented 7 years ago

Well, my configuration isn't your link's one. That's the method I've written above, which is migrating the profile folder itself. I'm touching UserShellFolders. Is the configuration affected by current directory? I haven't see that. This is not important. I can follow your preference.

judah commented 7 years ago

Sorry, I meant to say getHomeDirectory in the comment above.

jeiea commented 7 years ago

getHomeDirectory is fine. But what I say is directory's implementation is hard to configure on windows. Besides, it uses HOME environment variable on non-windows. Maybe it is better to post the issue to the directory package. How do you think?

judah commented 5 years ago

I'm closing this ticket since, as mentioned, the problem sounds like issue with either the directory package or the local system configuration.