summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc/Main.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/ghc/Main.hs b/ghc/Main.hs
index 1e9d0a2a96..5eda655333 100644
--- a/ghc/Main.hs
+++ b/ghc/Main.hs
@@ -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))