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

View File

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