remove 'searchString' field from app_type, because the same role is fulfilled by new 'dfa' field

This commit is contained in:
2025-10-08 05:40:29 +01:00
parent df346d0a9e
commit 06106f5de8
9 changed files with 46 additions and 84 deletions

View File

@@ -15,7 +15,6 @@ struct
, buffer: LineGap.t
, bufferModifyTime: Time.time
, searchList: PersistentVector.t
, searchString: string
, windowWidth: int
, windowHeight: int
(* line to start drawing from *)
@@ -35,7 +34,6 @@ struct
, buffer = buffer
, bufferModifyTime = time
, searchList = SearchList.empty
, searchString = ""
, windowWidth = windowWidth
, windowHeight = windowHeight
, startLine = 0

View File

@@ -12,13 +12,12 @@ struct
fun finishAfterDeletingBuffer (app: app_type, low, buffer, time, msgs) =
let
val buffer = LineGap.goToIdx (low, buffer)
val searchString = #searchString app
val buffer = LineGap.goToStart buffer
val msgs = SEARCH (buffer, searchString, time) :: msgs
val msgs = SEARCH (buffer, raise Fail "searchString", time) :: msgs
val buffer = LineGap.goToIdx (low - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, low + 1111, #dfa app)
SearchList.buildRange (buffer, low + 1111, #dfa app)
val buffer = LineGap.goToIdx (low, buffer)
in
@@ -236,13 +235,12 @@ struct
val buffer = LineGap.delete (low, length, buffer)
val buffer = LineGap.goToStart buffer
val searchString = #searchString app
val initialMsg = SEARCH (buffer, searchString, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (cursorIdx - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange
(buffer, searchString, cursorIdx + 1111, #dfa app)
SearchList.buildRange (buffer, cursorIdx + 1111, #dfa app)
(* If we have deleted from the buffer so that cursorIdx
* is no longer a valid idx,
@@ -377,7 +375,7 @@ struct
fun deleteToEndOfPrevWord (app: app_type, count, time) =
let
val {buffer, cursorIdx, searchString, ...} = app
val {buffer, cursorIdx, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val low = Cursor.endOfPrevWord (buffer, cursorIdx, count)
@@ -389,7 +387,7 @@ struct
fun deleteToEndOfPrevWORD (app: app_type, count, time) =
let
val {buffer, cursorIdx, searchString, ...} = app
val {buffer, cursorIdx, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val low = Cursor.endOfPrevWORD (buffer, cursorIdx, count)
@@ -636,15 +634,7 @@ struct
fun deleteToFirstNonSpaceChr (app: app_type, time) =
let
val
{ buffer
, cursorIdx
, windowWidth
, windowHeight
, startLine
, searchString
, ...
} = app
val {buffer, cursorIdx, windowWidth, windowHeight, startLine, ...} = app
(* move LineGap and buffer to start of line *)
val buffer = LineGap.goToIdx (cursorIdx, buffer)
@@ -706,8 +696,7 @@ struct
fun deleteToStart (app: app_type, time) : AppType.app_type =
let
val {cursorIdx, buffer, windowWidth, windowHeight, searchString, dfa, ...} =
app
val {cursorIdx, buffer, windowWidth, windowHeight, dfa, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val cursorIdx = Cursor.viDlrForDelete (buffer, cursorIdx, 1)
@@ -716,11 +705,12 @@ struct
val buffer = LineGap.delete (0, cursorIdx, buffer)
val buffer = LineGap.goToStart buffer
val initialMsg = SEARCH (buffer, #searchString app, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (cursorIdx - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, cursorIdx + 1111, dfa)
SearchList.buildRange (buffer, cursorIdx + 1111, dfa)
val cursorIdx = 0
val startLine = 0
@@ -757,18 +747,18 @@ struct
fun helpDeleteToMatch (app: app_type, low, high, time) =
let
val {buffer, searchString, dfa, ...} = app
val {buffer, dfa, ...} = app
val buffer = LineGap.goToIdx (high, buffer)
val length = high - low
val initialMsg = Fn.initMsgs (low, length, buffer)
val buffer = LineGap.delete (low, length, buffer)
val buffer = LineGap.goToStart buffer
val initialMsg = SEARCH (buffer, searchString, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (low - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, low + 1111, dfa)
val (buffer, searchList) = SearchList.buildRange (buffer, low + 1111, dfa)
val buffer = LineGap.goToIdx (low, buffer)
in
@@ -805,7 +795,7 @@ struct
fun deleteInsideWord (app: app_type, time) =
let
val {buffer, cursorIdx, searchString, dfa, ...} = app
val {buffer, cursorIdx, dfa, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val low = Cursor.prevWordStrict (buffer, cursorIdx, 1)
@@ -823,11 +813,12 @@ struct
val buffer = LineGap.delete (low, length, buffer)
val buffer = LineGap.goToStart buffer
val initialMsg = SEARCH (buffer, searchString, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (low - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, low + 1111, dfa)
SearchList.buildRange (buffer, low + 1111, dfa)
val buffer = LineGap.goToIdx (low, buffer)
in
@@ -840,7 +831,7 @@ struct
fun deleteInsideWORD (app: app_type, time) =
let
val {buffer, cursorIdx, searchString, dfa, ...} = app
val {buffer, cursorIdx, dfa, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val low = Cursor.prevWORDStrict (buffer, cursorIdx, 1)
@@ -855,11 +846,12 @@ struct
val buffer = LineGap.delete (low, length, buffer)
val buffer = LineGap.goToStart buffer
val initialMsg = SEARCH (buffer, searchString, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (low - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, low + 1111, dfa)
SearchList.buildRange (buffer, low + 1111, dfa)
val buffer = LineGap.goToIdx (low, buffer)
in
@@ -875,7 +867,7 @@ struct
NormalFinish.clearMode app
else
let
val {cursorIdx, buffer, searchString, dfa, ...} = app
val {cursorIdx, buffer, dfa, ...} = app
val low = origLow + 1
val length = high - low
@@ -884,11 +876,12 @@ struct
val buffer = LineGap.delete (low, length, buffer)
val buffer = LineGap.goToStart buffer
val initialMsg = SEARCH (buffer, searchString, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (low - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, low + 1111, dfa)
SearchList.buildRange (buffer, low + 1111, dfa)
val buffer = LineGap.goToIdx (origLow, buffer)
in
@@ -996,13 +989,13 @@ struct
else
low
val searchString = #searchString app
val buffer = LineGap.goToStart buffer
val initialMsg = SEARCH (buffer, searchString, time) :: initialMsg
val initialMsg =
SEARCH (buffer, raise Fail "searchString", time) :: initialMsg
val buffer = LineGap.goToIdx (low - 1111, buffer)
val (buffer, searchList) =
SearchList.buildRange (buffer, searchString, low + 1111, dfa)
SearchList.buildRange (buffer, low + 1111, dfa)
val buffer = LineGap.goToIdx (low, buffer)
in

View File

@@ -15,7 +15,6 @@ struct
val
{ windowWidth
, windowHeight
, searchString
, visualScrollColumn = prevScrollColumn
, startLine = prevLineNumber
, ...
@@ -69,9 +68,10 @@ struct
in
if searchTime >= #bufferModifyTime app then
let
val {buffer, searchString, cursorIdx, bufferModifyTime, ...} = app
val app = NormalModeWith.searchList
(app, searchList, buffer, searchString, bufferModifyTime)
val {buffer, cursorIdx, bufferModifyTime, ...} = app
val app =
NormalModeWith.searchList
(app, searchList, buffer, bufferModifyTime)
in
buildTextAndClear
(app, buffer, cursorIdx, searchList, [], bufferModifyTime)
@@ -89,7 +89,6 @@ struct
, startLine
, cursorIdx
, searchList
, searchString
, bufferModifyTime
, visualScrollColumn = prevScrollColumn
, ...
@@ -136,7 +135,6 @@ struct
, startLine = prevLineNumber
, cursorIdx
, searchList
, searchString
, bufferModifyTime
, visualScrollColumn
, ...

View File

@@ -13,7 +13,6 @@ struct
, windowHeight
, searchList
, visualScrollColumn
, searchString
, startLine
, cursorIdx
, dfa
@@ -27,7 +26,6 @@ struct
, windowHeight = windowHeight
, searchList = searchList
, visualScrollColumn = visualScrollColumn
, searchString = searchString
, startLine = startLine
, cursorIdx = cursorIdx
, dfa = dfa
@@ -54,7 +52,6 @@ struct
, searchList = _
, visualScrollColumn = _
, msgs = _
, searchString
, startLine
, cursorIdx
, dfa
@@ -68,7 +65,6 @@ struct
, searchList = newSearchList
, visualScrollColumn = newVisualScrollColumn
, msgs = newMsgs
, searchString = searchString
, startLine = startLine
, cursorIdx = cursorIdx
, dfa = dfa
@@ -96,7 +92,6 @@ struct
, searchList = _
, visualScrollColumn = _
, msgs = _
, searchString
, windowWidth
, windowHeight
, dfa
@@ -110,7 +105,6 @@ struct
, searchList = newSearchList
, visualScrollColumn = newVisualScrollColumn
, msgs = newMsgs
, searchString = searchString
, windowWidth = windowWidth
, windowHeight = windowHeight
, dfa = dfa
@@ -125,7 +119,6 @@ struct
, buffer
, bufferModifyTime
, searchList
, searchString
, cursorIdx
, windowWidth
, windowHeight
@@ -139,7 +132,6 @@ struct
, buffer = buffer
, bufferModifyTime = bufferModifyTime
, searchList = searchList
, searchString = searchString
, cursorIdx = cursorIdx
, windowWidth = windowWidth
, windowHeight = windowHeight
@@ -157,7 +149,6 @@ struct
, buffer = _
, bufferModifyTime
, searchList
, searchString
, cursorIdx
, windowWidth
, windowHeight
@@ -171,7 +162,6 @@ struct
, buffer = newBuffer
, bufferModifyTime = bufferModifyTime
, searchList = searchList
, searchString = searchString
, cursorIdx = cursorIdx
, windowWidth = windowWidth
, windowHeight = windowHeight
@@ -181,19 +171,12 @@ struct
}
end
fun searchList
( app: app_type
, newSearchList
, newBuffer
, newSearchString
, newBufferModifyTime
) =
fun searchList (app: app_type, newSearchList, newBuffer, newBufferModifyTime) =
let
val
{ searchList = _
, buffer = _
, bufferModifyTime
, searchString = _
, msgs
, mode
, cursorIdx
@@ -207,7 +190,6 @@ struct
{ searchList = newSearchList
, buffer = newBuffer
, bufferModifyTime = newBufferModifyTime
, searchString = newSearchString
, msgs = msgs
, mode = mode
, cursorIdx = cursorIdx

View File

@@ -31,9 +31,9 @@ struct
let
open MailboxType
val {cursorIdx = origCursorIdx, searchString, ...} = app
val {cursorIdx = origCursorIdx, ...} = app
val buffer = LineGap.goToStart buffer
val initialMsg = [SEARCH (buffer, searchString, time)]
val initialMsg = [SEARCH (buffer, raise Fail "searchString", time)]
in
NormalDelete.finishAfterDeletingBuffer
(app, origCursorIdx, buffer, time, initialMsg)
@@ -94,7 +94,7 @@ struct
let
open MailboxType
val {cursorIdx, buffer, searchString, ...} = app
val {cursorIdx, buffer, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val lineStart = Cursor.vi0 (buffer, cursorIdx)
@@ -127,7 +127,7 @@ struct
loop (nextLine, buffer, count - 1)
val buffer = LineGap.goToStart buffer
val initialMsg = [SEARCH (buffer, searchString, time)]
val initialMsg = [SEARCH (buffer, raise Fail "searchString", time)]
in
NormalDelete.finishAfterDeletingBuffer
(app, newCursorIdx, buffer, time, initialMsg)

View File

@@ -5,7 +5,6 @@ struct
fun returnToNormalMode
( app: app_type
, newBuffer
, newSearchString
, newSearchList
, newStartLine
, newMode
@@ -16,7 +15,6 @@ struct
val
{ mode = _
, buffer = _
, searchString = _
, searchList = _
, startLine = _
, msgs = _
@@ -30,7 +28,6 @@ struct
in
{ mode = newMode
, buffer = newBuffer
, searchString = newSearchString
, searchList = newSearchList
, startLine = newStartLine
, dfa = newDfa
@@ -49,7 +46,6 @@ struct
val
{ mode = _
, buffer = _
, searchString
, searchList
, startLine = _
, msgs = _
@@ -65,7 +61,6 @@ struct
, buffer = newBuffer
, startLine = newStartLine
, msgs = newMsgs
, searchString = searchString
, searchList = searchList
, bufferModifyTime = bufferModifyTime
, windowWidth = windowWidth
@@ -81,7 +76,6 @@ struct
val
{ mode
, buffer
, searchString
, searchList = _
, startLine
, msgs
@@ -98,7 +92,6 @@ struct
, buffer = buffer
, startLine = startLine
, msgs = msgs
, searchString = searchString
, bufferModifyTime = bufferModifyTime
, windowWidth = windowWidth
, windowHeight = windowHeight
@@ -123,7 +116,6 @@ struct
, windowHeight = _
, msgs = _
, buffer = _
, searchString
, searchList
, startLine
, bufferModifyTime
@@ -139,7 +131,6 @@ struct
, msgs = newMsgs
, searchList = searchList
, startLine = startLine
, searchString = searchString
, bufferModifyTime = bufferModifyTime
, cursorIdx = cursorIdx
, visualScrollColumn = visualScrollColumn

View File

@@ -10,7 +10,7 @@ struct
if caseSensitive then CaseSensitiveDfa.fromString searchString
else CaseInsensitiveDfa.fromString searchString
in
SearchList.buildRange (buffer, searchString, cursorIdx + 1111, dfa)
SearchList.buildRange (buffer, cursorIdx + 1111, dfa)
end
fun addChr
@@ -106,7 +106,7 @@ struct
else CaseInsensitiveDfa.fromString searchString
in
NormalSearchModeWith.returnToNormalMode
(app, buffer, searchString, tempSearchList, startLine, mode, dfa, msgs)
(app, buffer, tempSearchList, startLine, mode, dfa, msgs)
end
fun backspace

View File

@@ -259,7 +259,7 @@ struct
fun yankInsideWord (app: app_type) =
let
val {buffer, cursorIdx, searchString, ...} = app
val {buffer, cursorIdx, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val low = Cursor.prevWordStrict (buffer, cursorIdx, 1)
val high = Cursor.endOfWordStrict (buffer, cursorIdx, 1)
@@ -278,7 +278,7 @@ struct
fun yankInsideWORD (app: app_type) =
let
val {buffer, cursorIdx, searchString, ...} = app
val {buffer, cursorIdx, ...} = app
val buffer = LineGap.goToIdx (cursorIdx, buffer)
val low = Cursor.prevWORDStrict (buffer, cursorIdx, 1)
val high = Cursor.endOfWORDStrict (buffer, cursorIdx, 1)

View File

@@ -159,8 +159,8 @@ struct
)
end
fun buildRange (buffer, searchString, finishIdx, dfa) =
if String.size searchString > 0 andalso Vector.length dfa > 0 then
fun buildRange (buffer, finishIdx, dfa) =
if Vector.length dfa > 0 then
rangeLoop
( dfa
, #idx buffer