From e609343a4694b0f88de730e0a31fe1fcc262f372 Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Thu, 17 Feb 2022 16:58:47 -0600 Subject: basic cli skeleton --- build-app.lisp | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/build-app.lisp b/build-app.lisp index c5a6f25..48222cd 100644 --- a/build-app.lisp +++ b/build-app.lisp @@ -5,8 +5,42 @@ (in-package :oneliners.cli.app) -(defsynopsis (:postfix "ARGS ...") +(defsynopsis (:postfix "TERMS ... | N ARGS ...") (text :contents "This is some arbitrary text.") - (group (:header "Group 1"))) + (group (:header "Search") + (lispobj :long-name "count" :short-name "n" + :argument-type :optional + :default-value 10 + :typespec 'integer) + (flag :long-name "not-flagged" + :description "Request that no flagged oneliners are returned.")) + (group () + (flag :long-name "help" :short-name "h" + :description "print this help menu."))) + + +(defun main () + "Entry point for our standalone application." + (make-context) + (when (getopt :short-name "h") + (help) + (uiop:quit)) + (let ((arguments (remainder))) + + (unless arguments + (help) + (uiop:quit)) + + (alexandria:when-let (hist-number (parse-integer (first arguments) :junk-allowed t)) + (format t "TBD: Going to run command ~a with arguments ~a~%" + hist-number (rest arguments)) + (uiop:quit)) + + (format t "TBD: Going to search for commands mentioning the terms ~a~%" arguments)) + + (uiop:quit)) + + +(dump "ol" main) -- cgit v1.2.3