From 88c83b065a59ecd4cd6626e0f9d71d44c5d3b881 Mon Sep 17 00:00:00 2001
From: Joachim Breitner <mail@joachim-breitner.de>
Date: Thu, 9 Aug 2012 16:10:56 +0200
Subject: [PATCH] Give suggestions for unrecognised command line arguments

---
 ghc/Main.hs |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/ghc/Main.hs b/ghc/Main.hs
index 1e9d0a2..5eda655 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)) 
-- 
1.7.10.4

