summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Main.hs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Main.hs b/Main.hs
index 0dd6b52..c03d22f 100644
--- a/Main.hs
+++ b/Main.hs
@@ -37,6 +37,7 @@ main = do
case args of
[] -> launch
["--resume", _] -> launch
+ ["--help"] -> usage
["--recompile"] -> recompile False >> return ()
["--recompile-force"] -> recompile True >> return ()
["--version"] -> putStrLn ("xmonad " ++ showVersion version)
@@ -45,6 +46,22 @@ main = do
#endif
_ -> fail "unrecognized flags"
+usage :: IO ()
+usage = do
+ self <- getProgName
+ putStr . unlines $
+ concat ["Usage: ", self, " [OPTION]"] :
+ "Options:" :
+ " --help Print this message" :
+ " --version Print the version number" :
+ " --recompile Recompile your ~/.xmonad/xmonad.hs if it's been changed" :
+ " --recompile-force Recompile your ~/.xmonad/xmonad.hs" :
+#ifdef TESTING
+ " --run-tests Run the test suite" :
+#endif
+ " --resume STATE Internal flag, do not use" :
+ []
+
-- | Build "~/.xmonad/xmonad.hs" with ghc, then execute it. If there are no
-- errors, this function does not return. An exception is raised in any of
-- these cases: