summaryrefslogtreecommitdiff
path: root/input.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'input.lisp')
-rw-r--r--input.lisp10
1 files changed, 10 insertions, 0 deletions
diff --git a/input.lisp b/input.lisp
index 1900459..2cdfd84 100644
--- a/input.lisp
+++ b/input.lisp
@@ -18,11 +18,21 @@
(input-cursor input)
(+ window-size (input-cursor input))))
+(defun peek-rest (input)
+ (subseq (input-data input)
+ (input-cursor input)
+ (length (input-data input))))
+
(defun advance (input &optional (amount 1))
(let ((new-input (copy-structure input)))
(incf (input-cursor new-input) amount)
new-input))
+(defun advance-to-end (input)
+ (let ((new-input (copy-structure input)))
+ (setf (input-cursor new-input) (length (input-data input)))
+ new-input))
+
(declaim (ftype (function (simple-string) (values input &optional)) from-string))
(defun from-string (str)
(make-input :data str))