Author: yamakenz
Date: Fri Aug 17 13:17:13 2007
New Revision: 4851
Modified:
trunk/scm/uim-sh.scm
Log:
* scm/uim-sh.scm
- (uim-sh-option-table, uim-sh-usage, uim-sh): Add 'version' options
- (uim-sh-display-version): New procedure
Modified: trunk/scm/uim-sh.scm
==============================================================================
--- trunk/scm/uim-sh.scm (original)
+++ trunk/scm/uim-sh.scm Fri Aug 17 13:17:13 2007
@@ -37,14 +37,15 @@
(define uim-sh-option-table
`((("-b" "--batch") . batch)
(("-B" "--strict-batch") . strict-batch)
- (("-h" "--help") . help)
(("-r" "--require-module") . ,(lambda (args)
(and-let* ((name (safe-car args))
((require-module name)))
(safe-cdr args))))
(("--editline") . ,(lambda (args)
(require-module "editline")
- args))))
+ args))
+ (("-V" "--version") . version)
+ (("-h" "--help") . help)))
(define uim-sh-usage
(lambda ()
@@ -57,9 +58,18 @@
-r <name>
--require-module <name> require module
--editline require editline module for Emacs-like line editing
+ -V
+ --version show software version
-h
--help show this help
- file absolute path or relative to system scm
directory\n")))
+ file absolute path or relative to system scm directory
+")))
+
+(define uim-sh-display-version
+ (lambda ()
+ (display "uim-sh ")
+ (display (uim-version))
+ (newline)))
(define uim-sh-define-opt-vars
(lambda ()
@@ -114,14 +124,16 @@
uim-editline-read
read)))
(for-each require files)
- (if uim-sh-opt-help
- (uim-sh-usage)
- (let reloop ()
- (and (guard (err (else
- (%%inspect-error err)
- #t))
- (uim-sh-loop my-read))
- (reloop)))))))
+ (cond
+ (uim-sh-opt-help (uim-sh-usage))
+ (uim-sh-opt-version (uim-sh-display-version))
+ (else
+ (let reloop ()
+ (and (guard (err (else
+ (%%inspect-error err)
+ #t))
+ (uim-sh-loop my-read))
+ (reloop))))))))
(define uim-editline-read
(let ((p (open-input-string "")))