commit 927295bda1a5744bf4e39c3d858758b4f09db754 parent ae0425ef5f0838b67439a44c821fea0347467cf0 Author: ChanderG <[email protected]> Date: Thu, 27 Nov 2025 11:14:24 +0530 add arg parsing/validation Diffstat:
| M | grep.lisp | | | 17 | ++++++++++++++++- |
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/grep.lisp b/grep.lisp @@ -1,4 +1,19 @@ (in-package cl-grep) +;; Main entrypoint for the grep functionality +(defun grep-launcher (str dir) + ()) + (defun main () - (format t "Args: ~a~%" (uiop:command-line-arguments))) + (let* ((args (uiop:command-line-arguments)) + (nargs (length args))) + (when (or (eq nargs 0) (> nargs 2)) + (format t "Incorrect number of args passed!~%") + (format t "Usage: cl-grep <str> <dir>~%") + (return-from main nil)) + (let* ((arg2 (if (eq nargs 2) (cadr args) ".")) + (dirs (directory arg2))) + (when (not dirs) + (format t "~a found to not be a valid directory.~%" arg2) + (format t "Quitting!~%")) + (grep-launcher (car args) (car dirs)))))