56 lines
1.5 KiB
Common 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"))
|