Question

I just installed WinGHCi. When I try to load an .hs file with Ctrl+L, it opens the file browser in C:\Program Files (x86)\Haskell Platform\2012.2.0.0\winghci which is where I installed this. I don't want it to go there by default, I keep my code files in a different directory on a different drive and I don't want to have to navigate to D:\MyPath\Haskell every time I load a file.

I tried to set the "Start in" field of the shortcut I use to launch WinGHCi but it changed nothing.

How can I make WinGHCi look in my own directory by default?

Was it helpful?

Solution

It opens in the last directory you opened a .hs or .lhs from.

Try opening something from the folder you want, exit, restart. Did it restart where you were?

Try working like that for a while, and if you like it (I do) then you're fine.


If you really do want to go to the same place every time, perhaps there's a way.

I can't find any setting to control this, but the information is stored in the registy. Mine is at

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Haskell\WinGHCi 1.0.6]
"WorkingDir"="D:\\Files\\Andrew\\prog\\haskell"

You can save your version of that as resetghci.reg: To make your own, open regedit and first try the same location. If not, search for WinGHCi. You can export that subtree but you get the whole lot including recent expressions etc, which I don't think you should reset. Save that as ghcioriginal.reg just in case. Edit away all the lines except WorkingDir and save as resetghci.reg

When you double-click it it will ask you if you're sure you want to add that info to the registry. Yes you are.


Untested:

What follows works on older versions, but Microsoft seem to be going off .pif files and the start command, and I'm not able to test this in Windows 7.

Make a text file called ghci.bat in the same folder as the .reg you made. In it put

@echo off
regedit resetghci.reg
start WinGHCi

You might need to specify the full path to WinGHCi. The start command is the windows equivalent of making a background process from a shell prompt, so this should terminate immediately.

Make a shortcut to ghci.bat (it will be called ghci.pif) and set it to open minimised and put a nice lambda icon on it (nick it from the winghci executable).

Pop that on your desktop, start menu or shortcut bar, and when you use it, you'll be popped back to your standard location.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top