#!/usr/bin/guile -s
!#
(use-modules (ice-9 getopt-long)
	     (ice-9 debug)
	     (ice-9 pretty-print)
	     
	     (srfi srfi-2)

	     (alterator lookout context)
	     (alterator lookout mapper)
	     (alterator lookout document))

(define cmdline (command-line))
(define progname (car cmdline))

(define (usage progname)
  (format #t "Usage:  ~A --map filename~%" progname)
  (format #t "  -h, --help     display help screen~%")
  (format #t "  -v, --version  display version information ~%")
  (format #t "  -m,--map       load default url mapping from the appropriate file~%~%")
  (format #t "  Report bugs to <inger@altlinux.ru>~%")
  #t)

(define (version progname) (format #t "~A version 1.99 ~%" progname) #t)

(define option-spec
  '((version (single-char #\v) (value #f))
    (help    (single-char #\h) (value #f))
    (map  (single-char #\m) (value #t))))

(define options (getopt-long cmdline option-spec))

(and (option-ref options 'help #f) (usage progname) (quit))
(and (option-ref options 'version #f) (version progname) (quit))
(and-let* ((mapfile (option-ref options 'map #f)))
	  (with-mapper (load-mapper mapfile)
	  	(pretty-print (document:preprocess "/"))
		(newline)
		(quit)))
(usage progname)

