Format ERB files with speed and precision.
Features:
if
/elsif
/do
/end
)class
and data-action
attributesRoadmap:
Add this line to your application's Gemfile:
$ bundle add erb-formatter
Or install it yourself as:
$ gem install erb-formatter
Just install the Ruby ERB::Formatter 🪜 extension and follow the setup instructions there.
Update files in-place:
$ erb-format app/views/**/*.html.erb --write
or use stdin/stdout (useful for editor integrations):
$ echo "<div > asdf <% if 123%> <%='foobar'%> <%end-%> </div>" | erb-format --stdin
<div>
asdf
<% if 123 %>
<%= 'foobar' %>
<% end -%>
</div>
Check out erb-format --help
for more options.
require 'erb/formatter' formatted = ERB::Formatter.format <<-ERB <div > asdf <% if 123%> <%='foobar'%> <%end-%> </div> ERB # => "<div>\n asdf\n <% if 123 %>\n <%= 'foobar' %>\n <% end -%>\n</div>\n" # # Same as: # # <div> # asdf # <% if 123 %> # <%= 'foobar' %> # <% end -%> # </div>
Add the gem to your gemfile and the following to your package.json
:
"lint-staged": { // … "*.html.erb": "bundle exec erb-format --write" }
Create a command with the following settings:
text.html.erb
callback.document.will-save
document
→ text
replace document
→ text
line-interpolation
#!/usr/bin/env bash cd "$TM_PROJECT_DIRECTORY" bundle exec erb-format --stdin-filename "$TM_FILEPATH" < /dev/stdin 2> /dev/stdout
Enable erb-formatter
as a fixer in the ALE config:
let g:ale_fixers = { \ 'eruby': ['erb-formatter'], \}
Specify erb_format
as a formatter for the eruby
filetype in the Conform config:
formatters_by_ft = { eruby = { "erb_format" }, },
With the gem installed, configure settings.json
to use the formatter as an external command
"languages": { "ERB": { "formatter": { "external": { "command": "erb-format", "arguments": ["--stdin", "--print-width", "80"] } } } }
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
In order to run a specific test, use the following command:
m test/erb/test_formatter.rb:123
Bug reports and pull requests are welcome on GitHub at https://github.com/nebulab/erb-formatter.
The gem is available as open source under the terms of the MIT License.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4