about summary refs log tree commit diff stats
path: root/shell/tokenize.mu
diff options
context:
space:
mode:
Diffstat (limited to 'shell/tokenize.mu')
-rw-r--r--shell/tokenize.mu14
1 files changed, 14 insertions, 0 deletions
diff --git a/shell/tokenize.mu b/shell/tokenize.mu
index 8391ae7e..d40ca2bb 100644
--- a/shell/tokenize.mu
+++ b/shell/tokenize.mu
@@ -540,6 +540,20 @@ fn bracket-token? _in: (addr cell) -> _/eax: boolean {
   return result
 }
 
+fn quote-token? _in: (addr cell) -> _/eax: boolean {
+  var in/eax: (addr cell) <- copy _in
+  var in-data-ah/eax: (addr handle stream byte) <- get in, text-data
+  var in-data/eax: (addr stream byte) <- lookup *in-data-ah
+  rewind-stream in-data
+  var g/eax: grapheme <- read-grapheme in-data
+  compare g, 0x27/single-quote
+  {
+    break-if-!=
+    return 1/true
+  }
+  return 0/false
+}
+
 fn open-paren-token? _in: (addr cell) -> _/eax: boolean {
   var in/eax: (addr cell) <- copy _in
   var in-data-ah/eax: (addr handle stream byte) <- get in, text-data