@@ -41,6 +41,8 @@ import Idris.Core.Constraints
41import IRTS.Compiler
41import IRTS.Compiler
42import IRTS.CodegenCommon
42import IRTS.CodegenCommon
44+import Data.List.Split (splitOn)
44import Text.Trifecta.Result(Result(..))
46import Text.Trifecta.Result(Result(..))
46-- import RTS.SC
48-- import RTS.SC
@@ -249,7 +251,12 @@ ideslave orig mods
249 Just x -> iPrintError $ "didn't load " ++ filename
251 Just x -> iPrintError $ "didn't load " ++ filename
250 ideslave orig [filename]
252 ideslave orig [filename]
251 Just (IdeSlave.TypeOf name) ->
253 Just (IdeSlave.TypeOf 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)"
252− process stdout "(ideslave)" (Check (PRef (FC "(ideslave)" 0 0) (sUN name)))
259+ (Check (PRef (FC "(ideslave)" 0 0) (sNS (sUN n) ns)))
253 Just (IdeSlave.CaseSplit line name) ->
260 Just (IdeSlave.CaseSplit line name) ->
254 process stdout fn (CaseSplitAt False line (sUN name))
261 process stdout fn (CaseSplitAt False line (sUN name))
255 Just (IdeSlave.AddClause line name) ->
262 Just (IdeSlave.AddClause line name) ->