
4 Dec
2015
4 Dec
'15
3:34 a.m.
On 24/11/2015 07:37, Levent Erkok wrote:
I'm working on a plugin, and would like to be able to tell if it's GHC or GHCi that's running.
I tried:
df <- getDynFlags let isGHCi = ghcMode df == CompManager
Alas, while that correctly tells apart "ghci" from "ghc -c", it also returns True when ghc is called without the "-c" argument.
Is there a better/more robust way of figuring out whether we're in an interactive session?
The best way is to check whether hscTarget df == HscInterpreted, and you can also check whether ghcLink df == LinkInMemory. Checking for the `--interactive` flag only works for the standalone GHCi, and not users of the GHC API. Cheers, Simon