@@ -41,6 +41,8 @@ import Idris.Core.Constraints
4141import IRTS.Compiler
4242import IRTS.CodegenCommon
4343
44+import Data.List.Split (splitOn)
45+
4446import Text.Trifecta.Result(Result(..))
4547
4648-- import RTS.SC
@@ -249,7 +251,12 @@ ideslave orig mods
249251 Just x -> iPrintError $ "didn't load " ++ filename
250252 ideslave orig [filename]
251253 Just (IdeSlave.TypeOf name) ->
252− process stdout "(ideslave)" (Check (PRef (FC "(ideslave)" 0 0) (sUN name)))
254+ case reverse $ splitOn "." name of
255+ [] -> iPrintError ("Didn't understand name '" ++ name ++ "'")
256+ [n] -> process stdout "(ideslave)"
257+ (Check (PRef (FC "(ideslave)" 0 0) (sUN n)))
258+ (n:ns) -> process stdout "(ideslave)"
259+ (Check (PRef (FC "(ideslave)" 0 0) (sNS (sUN n) ns)))
253260 Just (IdeSlave.CaseSplit line name) ->
254261 process stdout fn (CaseSplitAt False line (sUN name))
255262 Just (IdeSlave.AddClause line name) ->