日記
今日書いたコード
- EditorAction.terminate -> .quit · Gurrium/SwiftKilo@0cdbb81 · GitHub
- fix bug: cannot quit · Gurrium/SwiftKilo@05fbb63 · GitHub
- KeyProcessorのテストを書いた · Gurrium/SwiftKilo@18ee37e · GitHub
感想
今日のいいコードはこれだけどVimはもっと賢くて、候補がなくなった時点でここでいうstate
を空にしてくれる。
// [https://github.com/Gurrium/SwiftKilo/blob/18ee37ebc56f81a5acdc9e4d4c249b51582b6174/Sources/SwiftKilo/KeyProcessor.swift#L38-L50] stateRefreshingTask?.cancel() // TODO: 候補がなくなった時点でstateを空にする if action != nil { state = [] } else { stateRefreshingTask = Task { try? await Task.sleep(nanoseconds: 1_000_000_000) guard !Task.isCancelled else { return } state = [] } }