AT64RVEAW4L6JQR5W7ZZGRKUWT2NFOKEWZR6IDXRM2EOYISS6HIAC
LVIAMWRNGZZVDNBCHOIVFDUTIDUEPNYV4OO5HT5TWEVSY3I7JZ2AC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
2P2GEBPASCJSEH3PUBI5HAT7DUQ6XKJYRPBBBOS7WIZXLY2OL3VQC
KGONMBXWDMHWEIZCFKD7V4Q3JD4BAA5AKHP3IVCIH5NYW3M5JCWAC
SIV5CX55YYW7YGCILJYEPRVNUDMHNTFPFBQTOHO5X353NYSAHN7AC
CIKMGETYQY2OS2WVDWEAEVWZBNRMYDKGJKJR3Z6ZCU27P7DTY2IQC
QSLF7BL7OXU4DD7JA2MVJJBZQATSCSHDN3KF6RS6L7GK6G7M2S6AC
VB2YC6CLWHYBEJ6N2UP5ADOUOBJRQLCOUTOZE6G7J2UMFYZ4E4VAC
(with-open-file (s ".gitignore" :direction :output :if-exists :append :if-does-not-exist :create)
(defun not-terminator (line)
(and line
(not (string= line ""))
(not (string= line "."))))
(defmacro loop-until-done ((line) &body body)
`(loop for ,line = (trim-spaces (get-to-ignore))
while (not-terminator ,line)
do ,@body))
(with-open-file (s ".gitignore"
:direction :output
:if-exists :append
:if-does-not-exist :create)
(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))))
(loop-until-done (line)
(princ line s)
(terpri s))))