<div dir="ltr">Thanks Simon.. I tried the 'hscTarget df == HscInterpreted' check, and it works perfectly well.<div><br></div><div>-Levent.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 4, 2015 at 12:34 AM, Simon Marlow <span dir="ltr"><<a href="mailto:marlowsd@gmail.com" target="_blank">marlowsd@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 24/11/2015 07:37, Levent Erkok wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm working on a plugin, and would like to be able to tell if it's GHC<br>
or GHCi that's running.<br>
<br>
I tried:<br>
<br>
    df   <- getDynFlags<br>
    let isGHCi = ghcMode df == CompManager<br>
<br>
Alas, while that correctly tells apart "ghci" from "ghc -c", it also<br>
returns True when ghc is called without the "-c" argument.<br>
<br>
Is there a better/more robust way of figuring out whether we're in an<br>
interactive session?<br>
</blockquote>
<br></span>
The best way is to check whether hscTarget df == HscInterpreted, and you can also check whether ghcLink df == LinkInMemory.<br>
<br>
Checking for the `--interactive` flag only works for the standalone GHCi, and not users of the GHC API.<br>
<br>
Cheers,<br>
Simon<br>
</blockquote></div><br></div>