rubyfmt
How do I pronounce - en: Ruby format
- jp: ルビーフォーマット
Does it work right now?
No, but it's getting really close
How do I use it
Build it:
- Make sure you've got cargo installed
- Run
make all
- Copy target/release/rubyfmt-main to somewhere on your path as
rubyfmt
Rubyfmt supports the following CLI invocations:
<whatever> | rubyfmt
pipe from standard inrubyfmt filename
to format a file to stdoutrubyfmt -i files or directories
format files and directories in placerubyfmt directory
to format all ruby files in that directory in place
Useful environment variables:
RUBYFMT_DISABLE_SZUSH=1
: disables the backend render queue writer, very useful for debugging, literally useless if you're not developing rubyfmt itself.
Editor Support
Vim
We aren't currently tested with any vim plugin managers, however, adding the plugin from a git clone is fairly easy:
- Run
cargo build --release
- Add
source /path/to/rubyfmt.vim
to your~/.vimrc
(e.g. my dotfiles please note, this line is commented) - Add
let g:rubyfmt_path = /path/to/target/release/rubyfmt-main
beneath the source line
Visual Studio Code
Rubyfmt is a supported formatter in the popular
vscode ruby extension.
You should copy rubyfmt-main
to be called rubyfmt
on your PATH .
Once installed, add the following to vscode's settings.json
file:
"ruby.useLanguageServer": true,
"ruby.format": "rubyfmt",
"[ruby]": {
"editor.formatOnSave": true
},
RubyMine (and similar Jetbrains family IDE)
Install the File Watchers plugin and configue it like shown below.
See this reference on using file watchers to learn more.
Sublime Text
Install the rubyfmt plugin from Package Control: Install Package -> rubyfmt.
Ruby files are formatted on save or by pressing Alt + ;
or on macOS: Cmd + ;
. rubyfmt
is assumed to be on path.
Overridable default settings:
{
"ruby_executable": "ruby",
"rubyfmt_executable": "rubyfmt",
"format_on_save": true,
}
Atom
Install the rubyfmt package from Settings > Packages.
Ruby files are formatted on save or by pressing Alt + ;
or on macOS: Cmd + ;
rubyfmt
is assumed to be on path. See the package settings for more options.
Contributing
Please checkout our contributing guide