;;;; app.lisp -- definition of CLI options and entry point. ;; Copyright (C) 2022 Colin Okay ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU Affero General Public License as ;; published by the Free Software Foundation, either version 3 of the ;; License, or (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU Affero General Public License for more details. ;; You should have received a copy of the GNU Affero General Public License ;; along with this program. If not, see . (in-package :oneliners.cli.app) ;;; VERSION (defparameter +ol-version+ "0.8.0") (defun toplevel/options () "Returns a list of the top level command's options" (list)) (defun toplevel/subcommands () "Returns a list of the subcommands for the top level command" (list (search/command))) (defun toplevel/handler (cmd) "Prints usage statement and then exits" (cli:print-usage-and-exit cmd *standard-output*)) (defun toplevel/command () "Returns the toplevel command object." (cli:make-command :name "ol" :version +ol-version+ :description "CLI client for oneliners wiki service." :authors '("Colin Okay ") :license "AGPL-3.0-only" :handler #'toplevel/handler :options (toplevel/options) :sub-commands (toplevel/subcommands))) (defun main () (cli:run (toplevel/command)))