add ability to switch to case-sensitive-search-mode using '?' command from normal mode

This commit is contained in:
2025-10-08 05:29:05 +01:00
parent 8857f49537
commit df346d0a9e
2 changed files with 18 additions and 31 deletions

View File

@@ -5,9 +5,9 @@ struct
open AppType
open InputMsg
fun switchToNormalSearchMode (app: app_type) =
fun switchToNormalSearchMode (app: app_type, caseSensitive) =
NormalSearchFinish.onSearchChanged
(app, "", PersistentVector.empty, 0, 0, false, #buffer app)
(app, "", PersistentVector.empty, 0, 0, caseSensitive, #buffer app)
fun getNumLength (pos, str) =
if pos = String.size str then
@@ -196,7 +196,8 @@ struct
| #"%" => NormalMove.moveToMatchingPair app
| #"x" => NormalDelete.removeChr (app, count, time)
| #"J" => NormalDelete.removeLineBreaks (app, count, time)
| #"/" => switchToNormalSearchMode app
| #"/" => switchToNormalSearchMode (app, false)
| #"?" => switchToNormalSearchMode (app, true)
| #">" => indnetLine (app, count, time)
| #"<" => dedentLine (app, count, time)
(* multi-char commands which can be appended *)

View File

@@ -82,8 +82,8 @@ struct
val fPosX = Real32.fromInt startX
val fPosY = Real32.fromInt startY
val slash = CozetteAscii.make
( #"/"
val searchSymbol = CozetteAscii.make
( if caseSensitive then #"?" else #"/"
, fPosX
, fPosY
, z
@@ -102,31 +102,17 @@ struct
val xpos = Int.min (endX, xpos)
val x = Real32.fromInt xpos
in
if caseSensitive then
CozetteAscii.make
( #"?"
, x
, fPosY
, 0.01
, TC.scale
, floatWindowWidth
, floatWindowWidth
, r
, g
, b
)
else
PipeCursor.lerp
( x
, fPosY
, 0.01
, TC.scale
, floatWindowWidth
, floatWindowHeight
, r
, g
, b
)
PipeCursor.lerp
( x
, fPosY
, 0.01
, TC.scale
, floatWindowWidth
, floatWindowHeight
, r
, g
, b
)
end
val posX = startX + TC.xSpace
@@ -137,7 +123,7 @@ struct
, posX
, startY
, endX
, [cursor, slash]
, [cursor, searchSymbol]
, floatWindowWidth
, floatWindowHeight
)