lspx/command-line.lisp

56 lines
1.5 KiB
Common Lisp

;;;; opts.lisp
(in-package :lspx)
(define-opts
;; these options don't take a parameter
(:name :help
:description "prints this help"
:short #\h
:long "help")
(:name :version
:description "prints the webserver version"
:long "version")
(:name :backtrace
:description "displays the lisp error and backtrace as HTML"
:long "backtrace")
;; these options require a parameter passed
(:name :logging
:description (format nil "sets the log level. supported levels are: ~{~(~A~)~^, ~}"
+valid-log-levels+)
:long "log"
:arg-parser #'identity
:meta-var "LEVEL")
(:name :load-file
:description "loads specified lisp file before starting the server"
:short #\l
:long "load"
:arg-parser #'uiop:file-exists-p
:meta-var "FILE")
(:name :web-root
:description "specify web root. defaults to current directory"
:short #\r
:long "root"
:arg-parser #'identity
:meta-var "WEB ROOT")
(:name :static-root
:description "path to static assets. defaults to ./static"
:short #\s
:long "static-path"
:arg-parser #'identity
:meta-var "STATIC ROOT")
(:name :template-root
:description "path to LSPX templates. defaults to ./templates"
:short #\t
:long "template-path"
:arg-parser #'identity
:meta-var "TEMPLATE ROOT")
(:name :port
:description "port to use for server. defaults to 5000"
:short #\p
:long "port"
:arg-parser #'parse-integer
:meta-var "PORT"))