aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2014-03-01 15:45:46 +0100
committerGravatar Tom Willemse2014-03-01 19:59:46 +0100
commitd5f38b4f6dd1ae0f819c5d4c0780e570b908ff68 (patch)
treeef2b885e2384f016010fda4d9f49956ce9469717
parent78b63229f6e84590c33c8479ad429302f1613818 (diff)
downloadgitto-d5f38b4f6dd1ae0f819c5d4c0780e570b908ff68.tar.gz
gitto-d5f38b4f6dd1ae0f819c5d4c0780e570b908ff68.zip
Move help command to its own module
-rw-r--r--gitto/Makefile3
-rw-r--r--gitto/commands/help.scm49
-rw-r--r--gitto/main.scm29
3 files changed, 52 insertions, 29 deletions
diff --git a/gitto/Makefile b/gitto/Makefile
index eb54268..6316449 100644
--- a/gitto/Makefile
+++ b/gitto/Makefile
@@ -4,7 +4,8 @@ SITEDIR = $(shell pkg-config guile-2.0 --variable=sitedir \
COMPDIR = $(DESTDIR)/lib/guile/2.0/site-ccache
objects = command.scm command.go config.scm config.go git.scm git.go \
- ui.scm ui.go path.scm path.go main.scm main.go
+ ui.scm ui.go path.scm path.go commands/help.scm commands/help.go \
+ main.scm main.go
install-objects = $(addprefix install-,$(objects))
uninstall-objects = $(addprefix uninstall-,$(objects))
diff --git a/gitto/commands/help.scm b/gitto/commands/help.scm
new file mode 100644
index 0000000..8cf5dff
--- /dev/null
+++ b/gitto/commands/help.scm
@@ -0,0 +1,49 @@
+;; -*- coding: utf-8; -*-
+;; gitto -- Keep track of your git repositories
+;; Copyright (C) 2012 Tom Willemse <tom at ryuslash dot org>
+
+;; This file is part of gitto.
+
+;; gitto is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; gitto is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with gitto. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gitto commands help)
+ #:use-module (gitto command)
+ #:use-module (ice-9 format))
+
+(define (print-command-help command)
+ "Print the help message for COMMAND."
+ (if (command? command)
+ (format #t "~a~%" (command-documentation command))
+ (format #t "Unknown command: ~a~%" command)))
+
+(define (print-short-command-help command)
+ "Print COMMAND's name and its short description."
+ (format #t " ~a~15t~a~%" (car command) (assq-ref command #:usage)))
+
+(define (print-general-help)
+ "Print the general help message for gitto."
+ (display "gitto [command [arguments ...]]")
+ (newline)
+ (for-each-command print-short-command-help))
+
+(define-command (help #:optional command)
+ "Display this help."
+ "Usage: gitto help [COMMAND]
+
+Display a help message. If COMMAND is not specified, print some
+information about gitto, otherwise print some information about
+COMMAND."
+ (if command
+ (print-command-help command)
+ (print-general-help)))
diff --git a/gitto/main.scm b/gitto/main.scm
index ffc7e34..6459cd5 100644
--- a/gitto/main.scm
+++ b/gitto/main.scm
@@ -19,11 +19,11 @@
(define-module (gitto main)
#:use-module (gitto command)
+ #:use-module (gitto commands help)
#:use-module (gitto config)
#:use-module (gitto git)
#:use-module (gitto path)
#:use-module (gitto ui)
- #:use-module (ice-9 format)
#:use-module (ice-9 popen)
#:use-module (oop goops)
#:use-module (srfi srfi-1)
@@ -58,33 +58,6 @@ Displays version and some copyright information."
(display "under the terms of the GNU General Public License.") (newline)
(display "For more information about these matters, see the file named COPYING.") (newline))
-(define (print-command-help command)
- "Print the help message for COMMAND."
- (if (command? command)
- (format #t "~a~%" (command-documentation command))
- (format #t "Unknown command: ~a~%" command)))
-
-(define (print-short-command-help command)
- "Print COMMAND's name and its short description."
- (format #t " ~a~15t~a~%" (car command) (assq-ref command #:usage)))
-
-(define (print-general-help)
- "Print the general help message for gitto."
- (display "gitto [command [arguments ...]]")
- (newline)
- (for-each-command print-short-command-help))
-
-(define-command (help #:optional command)
- "Display this help."
- "Usage: gitto help [COMMAND]
-
-Display a help message. If COMMAND is not specified, print some
-information about gitto, otherwise print some information about
-COMMAND."
- (if command
- (print-command-help command)
- (print-general-help)))
-
(define (known? repo)
"Do we know REPO?"
(and (or (repository? repo) (string? repo))