summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GFI.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/GFI.hs b/src/GFI.hs
index ed966699a..ccd19900d 100644
--- a/src/GFI.hs
+++ b/src/GFI.hs
@@ -232,7 +232,12 @@ wordCompletion gfenv line0 prefix0 p =
pgf = multigrammar cmdEnv
cmdEnv = commandenv gfenv
optLang opts = valCIdOpts "lang" (head (languages pgf)) opts
- optType opts = DTyp [] (mkCId (valStrOpts "type" (prCId $ lookStartCat pgf) opts)) []
+ optType opts =
+ let str = valStrOpts "cat" (prCId $ lookStartCat pgf) opts
+ in case readType str of
+ Just ty -> ty
+ Nothing -> error ("Can't parse '"++str++"' as type")
+
ret c [x] = return [x++[c]]
ret _ xs = return xs