#!/usr/bin/env sbcl --script (eval-when (:compile-toplevel :load-toplevel :execute) (require :uiop)) (defpackage :fwoar.git-ignore (:use :cl)) (defparameter *args* (uiop:command-line-arguments)) (with-open-file (s ".gitignore" :direction :io :if-exists :append :if-does-not-exist :create) (fresh-line s) (if *args* (format s "~{~a~%~}" *args*) (loop for line = (string-trim '(#\space #\tab #\newline) (progn (format *query-io* "ignore? ") (finish-output *query-io*) (read-line *query-io* nil))) while (and line (not (string= line "")) (not (string= line "."))) do (princ line s) (terpri s)))) (uiop:run-program "git add .gitignore" :force-shell t :output :interactive :error-output :interactive)