vim-skk / eskk.vim

eskk is pure Vim script implementation of input method engine SKK
174 stars 28 forks source link

[RDY] Add EskkUnmap #246

Closed Shougo closed 3 years ago

Shougo commented 3 years ago

Fix #246

gamoutatsumi commented 3 years ago

この変更だと、 #198 にあるように他のskkと実装を合わせようとするとQが吸われます。

https://github.com/tyru/eskk.vim/blob/e448ea0f06d69ab4bf38318ae93196545a3307a2/autoload/eskk.vim#L1295-L1331

ここで大文字かどうかの判定をする前にstickyに当たってるキーかの判定をする必要があるはずです。 ちなみに僕はこういう実装にしてあります。 (大文字をそのまま返すと吸われるため、暫定的なメタ文字としてマーカーの設定を流用)

https://github.com/gamoutatsumi/eskk.vim/blob/1fee8807058ec52662928d04db723e89085c0354/autoload/eskk.vim#L1293-L1330

Shougo commented 3 years ago

それを参考に設定しましたが、大文字をStickyにすると動かないですね

gamoutatsumi commented 3 years ago

すみません、この変更だけでは足りませんでした。 https://github.com/gamoutatsumi/eskk.vim/blob/1fee8807058ec52662928d04db723e89085c0354/autoload/eskk.vim#L414-L416 これで入力された文字がマーカーの時に変換モードに入るようにする必要がありました。

gamoutatsumi commented 3 years ago

ただこの変更に伴う副作用などが完全に不明で、他にも変更すべきコードがあると思っています。

Shougo commented 3 years ago

Fixed.

gamoutatsumi commented 3 years ago

僕の使う限りにおいては問題ない事を確認しました。 ありがとうございます。

Shougo commented 3 years ago

OK, Thanks.

gamoutatsumi commented 3 years ago

すみません、stickyの挙動しか確認していませんでした。 変数の変更漏れがあったため、Shiftキーを使った変換モードへの以降に失敗していました。

https://github.com/tyru/eskk.vim/blob/d1e064977437b428711ee452de9ea874307a9ca7/autoload/eskk.vim#L1320

sticky -> sticky_char
Shougo commented 3 years ago

OH, I will fix it.

gamoutatsumi commented 3 years ago

Shiftキーの動作確認しました。ありがとうございます

Shougo commented 3 years ago

Merged