conform.nvim icon indicating copy to clipboard operation
conform.nvim copied to clipboard

Question: How to make it work with ruby?

Open wojciech-kulik opened this issue 2 years ago • 1 comments

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".

wojciech-kulik avatar Feb 10 '24 13:02 wojciech-kulik

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.

stevearc avatar Mar 18 '24 04:03 stevearc