add function to get a char from a string_iterator in line_gap.sml
This commit is contained in:
@@ -39,6 +39,7 @@ sig
|
|||||||
|
|
||||||
val makeStringIterator: t -> string_iterator
|
val makeStringIterator: t -> string_iterator
|
||||||
val moveIteratorToIdx: int * string_iterator -> string_iterator
|
val moveIteratorToIdx: int * string_iterator -> string_iterator
|
||||||
|
val subIterator: int * string_iterator -> char
|
||||||
|
|
||||||
(* for testing *)
|
(* for testing *)
|
||||||
val verifyIndex: t -> unit
|
val verifyIndex: t -> unit
|
||||||
@@ -3381,6 +3382,16 @@ struct
|
|||||||
else
|
else
|
||||||
moveIteratorRight (findIdx, idx, leftStrings, rightStrings)
|
moveIteratorRight (findIdx, idx, leftStrings, rightStrings)
|
||||||
|
|
||||||
|
fun subIterator (findIdx, {idx, leftStrings, rightStrings}) =
|
||||||
|
if findIdx >= idx then
|
||||||
|
case rightStrings of
|
||||||
|
hd :: tl => subRight (findIdx, idx, hd, tl)
|
||||||
|
| [] => raise Fail "not found"
|
||||||
|
else
|
||||||
|
case leftStrings of
|
||||||
|
hd :: tl => subLeft (findIdx, idx, hd, tl)
|
||||||
|
| [] => raise Fail "not found"
|
||||||
|
|
||||||
(* TEST CODE *)
|
(* TEST CODE *)
|
||||||
local
|
local
|
||||||
fun lineBreaksToString vec =
|
fun lineBreaksToString vec =
|
||||||
|
|||||||
Reference in New Issue
Block a user