redraw screen when we change from NORMAL_MODE to NORMAL_SEARCH_MODE, so it is visually clear that we have changed modes
This commit is contained in:
53
fcore/normal-mode/normal-search-finish.sml
Normal file
53
fcore/normal-mode/normal-search-finish.sml
Normal file
@@ -0,0 +1,53 @@
|
||||
structure NormalSearchFinish =
|
||||
struct
|
||||
open AppType
|
||||
|
||||
fun onSearchChanged (app: app_type, searchString, tempSearchList, buffer) =
|
||||
let
|
||||
open DrawMsg
|
||||
|
||||
val {buffer, cursorIdx, startLine, windowWidth, windowHeight, ...} = app
|
||||
val mode =
|
||||
NORMAL_SEARCH_MODE
|
||||
{searchString = searchString, tempSearchList = tempSearchList}
|
||||
|
||||
val floatWindowWidth = Real32.fromInt windowWidth
|
||||
val floatWindowHeight = Real32.fromInt windowHeight
|
||||
|
||||
val searchStringPosY = windowHeight - TextConstants.ySpace - 5
|
||||
|
||||
val initialTextAcc = TextBuilder.buildLineToList
|
||||
( searchString
|
||||
, 5
|
||||
, searchStringPosY
|
||||
, windowWidth
|
||||
, floatWindowWidth
|
||||
, floatWindowHeight
|
||||
)
|
||||
|
||||
val buffer = LineGap.goToLine (startLine, buffer)
|
||||
val startLine = TextWindow.getStartLine
|
||||
(buffer, startLine, cursorIdx, windowWidth, windowHeight)
|
||||
|
||||
val remainingWindowHeight = windowHeight - (TextConstants.ySpace * 2)
|
||||
|
||||
val msgs = TextBuilder.buildWithExisting
|
||||
( startLine
|
||||
, cursorIdx
|
||||
, buffer
|
||||
, windowWidth
|
||||
, remainingWindowHeight
|
||||
, floatWindowWidth
|
||||
, floatWindowHeight
|
||||
, tempSearchList
|
||||
, searchString
|
||||
, []
|
||||
, initialTextAcc
|
||||
, []
|
||||
)
|
||||
in
|
||||
NormalSearchModeWith.changeTempSearchString
|
||||
(app, buffer, startLine, mode, msgs)
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user