conform.nvim
conform.nvim copied to clipboard
Question: How to make it work with ruby?
Hi,
I'm trying to setup formatter for ruby with no luck. I want to set prettier.
Conform fails with this message:
14:30:01[ERROR] Formatter 'prettier' error: [error] /Users/wkulik/repositories/xcodebuild.nvim/tools/project_helper.rb: Error: Cannot find package 'prettier' imported from /Users/wkulik/repositories/xcodebuild.nvim/tools/noop.js [error] at __node_internal_ (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:17857:11)
[error] at new NodeError (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:17822:5)
[error] at packageResolve (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:18802:9)
[error] at moduleResolve (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:18834:20)
[error] at defaultResolve (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:18921:16)
[error] at resolve2 (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:18938:12)
[error] at importFromFile (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:18953:16)
[error] at importFromDirectory (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:23905:10)
[error] at importPlugin (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:23917:12)
[error] at async loadPluginWithoutCache (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:23921:18)
[error] at async Promise.all (index 0)
[error] at async Promise.all (index 1)
[error] at async file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/index.mjs:24183:17
[error] at async getContextOptions (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/internal/cli.mjs:4881:23)
[error] at async Context.pushContextPlugins (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/internal/cli.mjs:5770:21)
[error] at async getOptionsForFile (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/internal/cli.mjs:6364:5)
[error] at async formatStdin (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/internal/cli.mjs:6580:21)
[error] at async main (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/internal/cli.mjs:7077:5)
[error] at async Module.run (file:///Users/wkulik/.local/share/nvim/mason/packages/prettier/node_modules/prettier/internal/cli.mjs:7027:5)
My .prettierrc.json:
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": false,
"singleQuote": false,
"plugins": ["@prettier/plugin-ruby"]
}
Conform formatter setup line:
ruby = { "prettier" },
I would appreciate any advise :).
If I don't specify plugins I get:
14:38:35[ERROR] Formatter 'prettier' error: [error] No parser could be inferred for file "/Users/wkulik/repositories/xcodebuild.nvim/tools/project_helper.rb".
Step one is to figure out a terminal command that will format your file. Once you have that, it's usually pretty easy to translate it to conform.