summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Command/Help.hs51
-rw-r--r--GitAnnex.hs2
-rw-r--r--doc/bugs/gix-annex_help_is_homicidal.mdwn5
3 files changed, 58 insertions, 0 deletions
diff --git a/Command/Help.hs b/Command/Help.hs
new file mode 100644
index 000000000..80a7b9520
--- /dev/null
+++ b/Command/Help.hs
@@ -0,0 +1,51 @@
+{- git-annex command
+ -
+ - Copyright 2012 Joey Hess <joey@kitenet.net>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Command.Help where
+
+import Common.Annex
+import Command
+import qualified Command.Init
+import qualified Command.Add
+import qualified Command.Drop
+import qualified Command.Get
+import qualified Command.Move
+import qualified Command.Copy
+import qualified Command.Sync
+import qualified Command.Whereis
+import qualified Command.Fsck
+
+def :: [Command]
+def = [noCommit $ noRepo showHelp $ dontCheck repoExists $
+ command "help" paramNothing seek "display help"]
+
+seek :: [CommandSeek]
+seek = [withWords start]
+
+start :: [String] -> CommandStart
+start _ = do
+ liftIO showHelp
+ stop
+
+showHelp :: IO ()
+showHelp = liftIO $ putStrLn $ unlines
+ [ "The most commonly used git-annex commands are:"
+ , unlines $ map cmdline $ concat
+ [ Command.Init.def
+ , Command.Add.def
+ , Command.Drop.def
+ , Command.Get.def
+ , Command.Move.def
+ , Command.Copy.def
+ , Command.Sync.def
+ , Command.Whereis.def
+ , Command.Fsck.def
+ ]
+ , "Run git-annex without any options for a complete command and option list."
+ ]
+ where
+ cmdline c = "\t" ++ cmdname c ++ "\t" ++ cmddesc c
diff --git a/GitAnnex.hs b/GitAnnex.hs
index 090108416..c35846df7 100644
--- a/GitAnnex.hs
+++ b/GitAnnex.hs
@@ -71,6 +71,7 @@ import qualified Command.Assistant
import qualified Command.WebApp
#endif
#endif
+import qualified Command.Help
cmds :: [Command]
cmds = concat
@@ -123,6 +124,7 @@ cmds = concat
, Command.WebApp.def
#endif
#endif
+ , Command.Help.def
]
options :: [Option]
diff --git a/doc/bugs/gix-annex_help_is_homicidal.mdwn b/doc/bugs/gix-annex_help_is_homicidal.mdwn
index c3204ade4..f4a8d7213 100644
--- a/doc/bugs/gix-annex_help_is_homicidal.mdwn
+++ b/doc/bugs/gix-annex_help_is_homicidal.mdwn
@@ -16,3 +16,8 @@ Something similar to 'git-annex --help', or a pointer to --help.
> What version of git-annex are you using? On what operating system?
git-annex version 3.20120825 on Arch Linux x86_64, installed from AUR package git-annex and using the [haskell] repository for dependencies.
+
+>> Lol, that's great! Also worth noting that with help.autocorrect=1, it'd
+>> actually run drop. Only with --force can you lose data however.
+>>
+>> I've added a help command. [[done]] --[[Joey]]