X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?p=clnl;a=blobdiff_plain;f=src%2Fmain%2Fextensions%2Fcli%2Fcli.lisp;h=717d79cc1767135a90f13604e4f1d3504057ea9c;hp=843cf01463e7493b5b9f8784d549db3c63cc2d0b;hb=89cb3482de1fefc2d8e5f67e1e04a0790e8cd243;hpb=cca1c12f7351ff2414bfd582ecb2cad590aa9b51 diff --git a/src/main/extensions/cli/cli.lisp b/src/main/extensions/cli/cli.lisp index 843cf01..717d79c 100644 --- a/src/main/extensions/cli/cli.lisp +++ b/src/main/extensions/cli/cli.lisp @@ -1,13 +1,28 @@ (in-package #:clnl-extension-cli) -(defun prims () - "PRIMS => PRIMS +(defmethod clnl-extensions:prims ((extension (eql :cli))) + (list + (list :name :q :type :command :func #'shut-down) + (list :name :load :type :command :args '(t) :func #'load-file) + (list :name :help :type :command :args '((:token :optional)) :precedence 20 :func #'help) + (list + :name :button :type :command :args '(:string (:number :optional)) + :precedence 20 :func #'clnl-model:execute-button))) -ARGUMENTS AND VALUES: +(defun shut-down () + (sb-ext:exit :abort t)) - PRIMS: Primitives defined for this extension +(defun load-file (file) + (clnl:boot file)) -DESCRIPTION: - - PRIMS returns the primitives used in the CLI extension." - nil) +(defun help (&optional token) + (format t + (if (not token) + "Placeholder help facility, try <:help :q> or <:help :load> for information about the commands we accept" + (case token + (:|:Q| ":q quits out of clnl") + (:|:LOAD| + (concatenate 'string + ":load loads up a model into the current clnl instance." + " Try :load \"Wolf Sheep Predation.nlogo\"")) + (t (format nil "Don't have help for ~S" token))))))