summaryrefslogtreecommitdiff
path: root/haunt
diff options
context:
space:
mode:
Diffstat (limited to 'haunt')
-rw-r--r--haunt/config.scm.in (renamed from haunt/config.scm)5
-rw-r--r--haunt/ui.scm19
-rw-r--r--haunt/ui/serve.scm2
3 files changed, 23 insertions, 3 deletions
diff --git a/haunt/config.scm b/haunt/config.scm.in
index 53dc404..641d894 100644
--- a/haunt/config.scm
+++ b/haunt/config.scm.in
@@ -23,10 +23,13 @@
;;; Code:
(define-module (haunt config)
- #:export (%haunt-cwd
+ #:export (%haunt-version
+ %haunt-cwd
haunt-file-name
haunt-output-directory))
+(define %haunt-version "@PACKAGE_VERSION@")
+
(define %haunt-cwd (getcwd))
(define (haunt-file-name rel)
diff --git a/haunt/ui.scm b/haunt/ui.scm
index 35e8eb3..910adf9 100644
--- a/haunt/ui.scm
+++ b/haunt/ui.scm
@@ -9,7 +9,7 @@
;;; (at your option) any later version.
;;;
;;; Haunt is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; WITnnnHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;;; General Public License for more details.
;;;
@@ -27,15 +27,17 @@
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module (srfi srfi-26)
+ #:use-module (haunt config)
#:export (program-name
haunt-error
+ show-version-and-exit
option?
haunt-main))
(define commands
'(serve))
-(define program-name (make-parameter "haunt"))
+(define program-name (make-parameter 'haunt))
(define (haunt-error str . args)
(format (current-error-port) "~a: " (program-name))
@@ -52,6 +54,17 @@ Run COMMAND with ARGS.~%~%")
(format #t "Try `haunt --help' for more information.~%")
(exit 1))
+(define (show-version-and-exit)
+ (let ((name (if (eq? (program-name) 'haunt)
+ "haunt"
+ (format #f "haunt ~a" (program-name)))))
+ (format #t "~a ~a
+Copyright (C) 2015 the Haunt authors
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.~%"
+ name %haunt-version)))
+
(define (option? str)
(string-prefix? "-" str))
@@ -73,6 +86,8 @@ Run COMMAND with ARGS.~%~%")
(show-haunt-usage))
((or ("-h") ("--help"))
(show-haunt-help))
+ (("--version")
+ (show-version-and-exit))
(((? option? opt) _ ...)
(format (current-error-port)
"haunt: unrecognized option '~a'~%"
diff --git a/haunt/ui/serve.scm b/haunt/ui/serve.scm
index 3ef7ede..078b013 100644
--- a/haunt/ui/serve.scm
+++ b/haunt/ui/serve.scm
@@ -41,6 +41,8 @@ Start an HTTP server for the current site.~%")
(() (serve (haunt-output-directory)))
((or ("-h") ("--help"))
(show-serve-help))
+ (("--version")
+ (show-version-and-exit))
(((? option? opt) _ ...)
(haunt-error "invalid option: ~a" opt)
(exit 1))