## 事象
[[conform.nvim]]の設定が以下。
```lua
{
"stevearc/conform.nvim",
config = function()
require("conform").setup({
formatters_by_f = {
lua = { "stylua" },
},
format_on_save = {
timeout_ms = 500,
lsp_format = "fallback",
},
})
end,
}
```
これでファイルを保存すると自動フォーマットはかかるが、[[none-ls.nvim]]と[[StyLua]]を使ったときのフォーマットと結果が異なる。(機能がしょぼい)
`:ConformInfo`の結果は以下。
```
Log file: /home/tadashi-aikawa/.local/state/nvim/conform.log
Formatters for this buffer:
LSP: lua_ls
Other formatters:
```
[[StyLua]]ではなく[[lua-language-server]]が使われていそう?
> `"fallback"` LSP formatting is used when no other formatters
are available
とあるので[[StyLua]]がないと認識され[[lua-language-server]]が使われてそう。
## 原因
設定の[[Typo]]だった。。。`formatters_by_ft`ではなく`formatters_by_f`になっていた。
## 解決方法
設定を以下のように修正する。
```diff
- formatters_by_f = {
+ formatters_by_ft = {
```
`:ConformInfo`の結果もちゃんと[[StyLua]]が認識するようになった。
```
Log file: /home/tadashi-aikawa/.local/state/nvim/conform.log
Formatters for this buffer:
LSP: lua_ls
stylua ready (lua) /home/tadashi-aikawa/.local/share/mise/installs/stylua/latest/bin/stylua
Other formatters:
```