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