SCSSを書いていると、{ を入力した瞬間に {@extend} になってしまうことがずっと気になっていました。
nvim-autopairsが } を自動挿入したタイミングで、blink.cmp側がその } に反応して補完を開いているようで、@extend という文字列が補完されてしまう感じです。毎回Escで閉じて消していたんですが、Codexに相談してみたら解決しました。
SCSSのときだけ、} を入力したタイミングで補完メニューが開かないように show_on_blocked_trigger_characters に追加できるらしい。
最初Codexは { 開きカッコ側を設定する方法を提案していて、それで試してみたんですが上手くいかなくて。念のためnvim-autopairsを一時的に切って動作を確認したら、{ では補完が開いていないことが分かりました。ということは補完が起動しているのは } の方だということで、閉じカッコを指定してみたら解決しました。
completion = {
trigger = {
show_on_blocked_trigger_characters = function()
local blocked = { " ", "\n", "\t" }
if vim.bo.filetype == "scss" then
table.insert(blocked, "}")
end
return blocked
end,
},
}
{ ではなく } を塞ぐというのが直感に反していたので、一度autopairsを切って確認してみて正解でした。
たったこれだけでNeovimでCSS書くのがめっちゃ快適になりました。