Give suggestions for unrecognised command line arguments
authorJoachim Breitner <mail@joachim-breitner.de>
Thu, 9 Aug 2012 14:10:56 +0000 (16:10 +0200)
committerPaolo Capriotti <p.capriotti@gmail.com>
Mon, 13 Aug 2012 15:59:30 +0000 (16:59 +0100)
ghc/Main.hs

index 1e9d0a2..5eda655 100644 (file)
@@ -791,5 +791,10 @@ abiHash strs = do
 -- Util
 
 unknownFlagsErr :: [String] -> a
-unknownFlagsErr fs = ghcError (UsageError ("unrecognised flags: " ++ unwords fs))
-
+unknownFlagsErr fs = ghcError $ UsageError $ concatMap oneError fs
+  where
+    oneError f =
+        "unrecognised flag: " ++ f ++ "\n" ++
+        (case fuzzyMatch f (nub allFlags) of
+            [] -> ""
+            suggs -> "did you mean one of:\n" ++ unlines (map ("  " ++) suggs))