diff options
-rw-r--r-- | ghc/Main.hs | 9 |
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)) |