Repo // Patch marking states to conform previous update.

This commit is contained in:
ShikiSuen 2022-08-05 08:46:42 +08:00
parent 4e911b8019
commit 0c7df04dba
2 changed files with 13 additions and 5 deletions

View File

@ -327,12 +327,16 @@ public enum InputState {
var tooltipForInputting: String = ""
private(set) var readings: [String]
init(composingBuffer: String, cursorIndex: Int, markerIndex: Int, readings: [String]) {
init(
composingBuffer: String, cursorIndex: Int, markerIndex: Int, readings: [String], nodeValuesArray: [String] = []
) {
let begin = min(cursorIndex, markerIndex)
let end = max(cursorIndex, markerIndex)
markedRange = begin..<end
self.readings = readings
super.init(composingBuffer: composingBuffer, cursorIndex: cursorIndex)
super.init(
composingBuffer: composingBuffer, cursorIndex: cursorIndex, nodeValuesArray: nodeValuesArray
)
defer { self.markerIndex = markerIndex }
}
@ -376,7 +380,9 @@ public enum InputState {
}
var convertedToInputting: Inputting {
let state = Inputting(composingBuffer: composingBuffer, cursorIndex: cursorIndex)
let state = Inputting(
composingBuffer: composingBuffer, cursorIndex: cursorIndex, reading: reading, nodeValuesArray: nodeValuesArray
)
state.tooltip = tooltipForInputting
return state
}

View File

@ -195,7 +195,8 @@ extension KeyHandler {
composingBuffer: state.composingBuffer,
cursorIndex: state.cursorIndex,
markerIndex: index,
readings: state.readings
readings: state.readings,
nodeValuesArray: walkedAnchors.map(\.node.currentPair.value)
)
marking.tooltipForInputting = state.tooltipForInputting
stateCallback(marking.markedRange.isEmpty ? marking.convertedToInputting : marking)
@ -216,7 +217,8 @@ extension KeyHandler {
composingBuffer: state.composingBuffer,
cursorIndex: state.cursorIndex,
markerIndex: index,
readings: state.readings
readings: state.readings,
nodeValuesArray: walkedAnchors.map(\.node.currentPair.value)
)
marking.tooltipForInputting = state.tooltipForInputting
stateCallback(marking.markedRange.isEmpty ? marking.convertedToInputting : marking)