git.fiddlerwoaroof.com
Raw Blame History
#!/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)