osyo-manga / vim-precious

Vim context filetype
117 stars 7 forks source link

バッファが取り除かれる際の filetype のリセットが狙いとするバッファではないところで行われる #21

Closed siaa4fu closed 3 years ago

siaa4fu commented 3 years ago

こんにちは、便利に使わせてもらっています!

filetype が base_filetype から切り替わっているときにカレントバッファ以外を取り除くと、カレントバッファで filetype のリセットが起こってしまうことがあるので報告です。

具体的には、以下の様な toml ファイルを開いたとします。

[[plugins]]
repo = 'test'
hook_add = '''
  let s:foo = 'bar'
'''

カーソルが hook_add 内にあるとき、 base_filetype である toml から context_filetype である vim に切り替わっています。このとき、例えば以下の操作のいずれかを行うと base_filetype へのリセットが起こります。

修整

問題は BufWinLeave 時の自動コマンドが、取り除かれつつあるバッファではなくカレントバッファで実行されることが原因です。実行すべきバッファを指定することで解決できました。

その他

また、以下の修整を加えています。

以上です

siaa4fu commented 3 years ago

あ、重複していて削除したのは BufWinEnter です。間違えました

osyo-manga commented 3 years ago

ありがとうございます。マージしました。