change type of SEARCH message to take a DFA, instead of a searchString
This commit is contained in:
@@ -13,7 +13,7 @@ struct
|
|||||||
let
|
let
|
||||||
val buffer = LineGap.goToIdx (low, buffer)
|
val buffer = LineGap.goToIdx (low, buffer)
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val msgs = SEARCH (buffer, raise Fail "searchString", time) :: msgs
|
val msgs = SEARCH (buffer, #dfa app, time) :: msgs
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
@@ -235,8 +235,7 @@ struct
|
|||||||
|
|
||||||
val buffer = LineGap.delete (low, length, buffer)
|
val buffer = LineGap.delete (low, length, buffer)
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, #dfa app, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (cursorIdx - 1111, buffer)
|
val buffer = LineGap.goToIdx (cursorIdx - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
@@ -705,8 +704,7 @@ struct
|
|||||||
|
|
||||||
val buffer = LineGap.delete (0, cursorIdx, buffer)
|
val buffer = LineGap.delete (0, cursorIdx, buffer)
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, dfa, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (cursorIdx - 1111, buffer)
|
val buffer = LineGap.goToIdx (cursorIdx - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
@@ -754,8 +752,7 @@ struct
|
|||||||
|
|
||||||
val buffer = LineGap.delete (low, length, buffer)
|
val buffer = LineGap.delete (low, length, buffer)
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, dfa, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
||||||
val (buffer, searchList) = SearchList.buildRange (buffer, low + 1111, dfa)
|
val (buffer, searchList) = SearchList.buildRange (buffer, low + 1111, dfa)
|
||||||
@@ -813,8 +810,7 @@ struct
|
|||||||
val buffer = LineGap.delete (low, length, buffer)
|
val buffer = LineGap.delete (low, length, buffer)
|
||||||
|
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, dfa, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
@@ -846,8 +842,7 @@ struct
|
|||||||
val buffer = LineGap.delete (low, length, buffer)
|
val buffer = LineGap.delete (low, length, buffer)
|
||||||
|
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, dfa, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
@@ -876,8 +871,7 @@ struct
|
|||||||
|
|
||||||
val buffer = LineGap.delete (low, length, buffer)
|
val buffer = LineGap.delete (low, length, buffer)
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, dfa, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
@@ -990,8 +984,7 @@ struct
|
|||||||
low
|
low
|
||||||
|
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg =
|
val initialMsg = SEARCH (buffer, dfa, time) :: initialMsg
|
||||||
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
|
|
||||||
|
|
||||||
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
val buffer = LineGap.goToIdx (low - 1111, buffer)
|
||||||
val (buffer, searchList) =
|
val (buffer, searchList) =
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ struct
|
|||||||
let
|
let
|
||||||
open MailboxType
|
open MailboxType
|
||||||
|
|
||||||
val {cursorIdx = origCursorIdx, ...} = app
|
val {cursorIdx = origCursorIdx, dfa, ...} = app
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg = [SEARCH (buffer, raise Fail "searchString", time)]
|
val initialMsg = [SEARCH (buffer, dfa, time)]
|
||||||
in
|
in
|
||||||
NormalDelete.finishAfterDeletingBuffer
|
NormalDelete.finishAfterDeletingBuffer
|
||||||
(app, origCursorIdx, buffer, time, initialMsg)
|
(app, origCursorIdx, buffer, time, initialMsg)
|
||||||
@@ -94,7 +94,7 @@ struct
|
|||||||
let
|
let
|
||||||
open MailboxType
|
open MailboxType
|
||||||
|
|
||||||
val {cursorIdx, buffer, ...} = app
|
val {cursorIdx, buffer, dfa, ...} = app
|
||||||
val buffer = LineGap.goToIdx (cursorIdx, buffer)
|
val buffer = LineGap.goToIdx (cursorIdx, buffer)
|
||||||
|
|
||||||
val lineStart = Cursor.vi0 (buffer, cursorIdx)
|
val lineStart = Cursor.vi0 (buffer, cursorIdx)
|
||||||
@@ -127,7 +127,7 @@ struct
|
|||||||
loop (nextLine, buffer, count - 1)
|
loop (nextLine, buffer, count - 1)
|
||||||
|
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg = [SEARCH (buffer, raise Fail "searchString", time)]
|
val initialMsg = [SEARCH (buffer, dfa, time)]
|
||||||
in
|
in
|
||||||
NormalDelete.finishAfterDeletingBuffer
|
NormalDelete.finishAfterDeletingBuffer
|
||||||
(app, newCursorIdx, buffer, time, initialMsg)
|
(app, newCursorIdx, buffer, time, initialMsg)
|
||||||
|
|||||||
@@ -77,8 +77,12 @@ struct
|
|||||||
, ...
|
, ...
|
||||||
} = app
|
} = app
|
||||||
|
|
||||||
|
val dfa =
|
||||||
|
if caseSensitive then CaseSensitiveDfa.fromString searchString
|
||||||
|
else CaseInsensitiveDfa.fromString searchString
|
||||||
|
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val initialMsg = [SEARCH (buffer, searchString, time)]
|
val initialMsg = [SEARCH (buffer, dfa, time)]
|
||||||
|
|
||||||
(* move LineGap to first line displayed on screen *)
|
(* move LineGap to first line displayed on screen *)
|
||||||
val buffer = LineGap.goToLine (startLine, buffer)
|
val buffer = LineGap.goToLine (startLine, buffer)
|
||||||
@@ -100,10 +104,6 @@ struct
|
|||||||
val msgs = DRAW drawMsg :: initialMsg
|
val msgs = DRAW drawMsg :: initialMsg
|
||||||
|
|
||||||
val mode = NORMAL_MODE ""
|
val mode = NORMAL_MODE ""
|
||||||
|
|
||||||
val dfa =
|
|
||||||
if caseSensitive then CaseSensitiveDfa.fromString searchString
|
|
||||||
else CaseInsensitiveDfa.fromString searchString
|
|
||||||
in
|
in
|
||||||
NormalSearchModeWith.returnToNormalMode
|
NormalSearchModeWith.returnToNormalMode
|
||||||
(app, buffer, tempSearchList, startLine, mode, dfa, msgs)
|
(app, buffer, tempSearchList, startLine, mode, dfa, msgs)
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
structure SearchMsg = struct type t = LineGap.t * string * Time.time end
|
structure SearchMsg =
|
||||||
|
struct type t = LineGap.t * int vector vector * Time.time end
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ struct
|
|||||||
(* Prerequisite to sending message: move buffer to end. *)
|
(* Prerequisite to sending message: move buffer to end. *)
|
||||||
fun loop () =
|
fun loop () =
|
||||||
let
|
let
|
||||||
val (buffer, searchString, time) = Mailbox.recv SearchMailbox.mailbox
|
val (buffer, dfa, time) = Mailbox.recv SearchMailbox.mailbox
|
||||||
val searchList = SearchList.build (buffer, searchString)
|
val searchList =
|
||||||
|
raise Fail "todo: reimplement full builder for searchList"
|
||||||
val msg = InputMsg.WITH_SEARCH_LIST (searchList, time)
|
val msg = InputMsg.WITH_SEARCH_LIST (searchList, time)
|
||||||
val () = InputMailbox.append msg
|
val () = InputMailbox.append msg
|
||||||
in
|
in
|
||||||
|
|||||||
Reference in New Issue
Block a user