LazyVim中erb-formatter无法生效,请求配置排查帮助
一、erb-formatter 无法识别问题排查
确认文件类型匹配
打开erb文件后执行:set filetype?,确认输出为filetype=eruby(LazyVim对erb文件的默认识别类型)。若你的formatters_by_ft配置写的是erb = { "erb_format" },会因类型不匹配导致失效,需改为eruby = { "erb_format" }。手动添加erb_format格式化器定义
Conform默认无erb_format的内置配置,需在LazyVim的Conform插件配置文件(如lua/plugins/conform.lua)中补充:
return { "stevearc/conform.nvim", opts = { formatters = { erb_format = { command = "erb-formatter", args = { "--stdin" }, stdin = true, }, }, formatters_by_ft = { eruby = { "erb_format" }, }, }, }
注意命令名称是终端中实际运行的erb-formatter,而非erb_format。
验证工具路径可用性
执行:!which erb-formatter,若输出为空,说明Neovim环境变量未包含该工具路径。可在配置中指定绝对路径(如command = "/home/your-user/.rbenv/shims/erb-formatter"),或确保Neovim启动时加载了正确的Ruby环境配置。排查Mason安装冲突
执行:Mason确认erb-formatter已安装,若同时通过gem手动安装了该工具,需确保两者路径一致,避免环境冲突。
二、Stylua解析错误处理
检查配置文件语法
在项目根目录执行:!stylua --check .,终端会输出具体的配置解析错误位置,修正stylua.toml(项目根目录或~/.config/stylua.toml)中的语法问题即可。更新Stylua版本
旧版本Stylua可能与Conform配置不兼容,执行:MasonUpdate stylua更新至最新版本,或通过终端stylua --version确认版本,若过旧则手动升级。确认Conform中Stylua配置
检查自定义的Stylua配置是否存在参数错误,默认配置示例如下,确保路径和参数格式无误:
stylua = { args = { "--config-path", vim.fn.expand("~/.config/stylua.toml"), "-" }, stdin = true, },
内容的提问来源于stack exchange,提问作者Andrés

