Skip to content

fix: abbrevモードでのキャンセル後にモードをhiraに戻す - #242

Merged
kuuote merged 1 commit into
vim-skk:mainfrom
yoshphys:fix/cancel-abbrev-mode-reset
Mar 21, 2026
Merged

fix: abbrevモードでのキャンセル後にモードをhiraに戻す#242
kuuote merged 1 commit into
vim-skk:mainfrom
yoshphys:fix/cancel-abbrev-mode-reset

Conversation

@yoshphys

Copy link
Copy Markdown
Contributor

問題

cancel()<C-g>キー)がinitializeState()を直接呼んでいたため、state.mode"direct"にリセットされますがmodeChange()は呼ばれません。

その結果、abbrevモードで<C-g>キャンセルした後もcontext.modeおよびvim.g["skkeleton#mode"]"abbrev"のまま残るバグがありました。

修正

initializeStateWithAbbrev()を使うよう変更することで、abbrevモードから抜ける際にmodeChange("hira")が呼ばれ、表示上のモードが正しく同期されます。

これはkakutei()が既にinitializeStateWithAbbrev()を使っているのと同じ対応です。

cancel()はinitializeState()を直接呼んでいたため、state.modeは
"direct"にリセットされるがmodeChange()は呼ばれず、context.mode
(およびvim.g["skkeleton#mode"])が"abbrev"のまま残るバグがあった。

initializeStateWithAbbrev()を使うよう変更することで、abbrevモードから
抜ける際にmodeChange("hira")が呼ばれ、表示上のモードが正しく同期される。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@kuuote

kuuote commented Mar 21, 2026

Copy link
Copy Markdown
Member

ありがとうございます!

@kuuote
kuuote merged commit d593d79 into vim-skk:main Mar 21, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants