diff --git a/CHANGELOG.md b/CHANGELOG.md index 992b56e..5f86866 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a ## [Unreleased] +## [0.10.5] - 2023-09-03 + - Handle ERB-tags inside HTML-tags, like `
>` - Handles indentation for multiline ERB-comment +- Handles spaces between do-arguments and ERB-tags ## [0.10.4] - 2023-08-28 @@ -106,7 +109,8 @@ Output: - Can format a lot of .html.erb-syntax and works as a plugin to syntax_tree. - This is still early and there are a lot of different weird syntaxes out there. -[unreleased]: https://github.com/davidwessman/syntax_tree-erb/compare/v0.10.4...HEAD +[unreleased]: https://github.com/davidwessman/syntax_tree-erb/compare/v0.10.5...HEAD +[0.10.5]: https://github.com/davidwessman/syntax_tree-erb/compare/v0.10.4...v0.10.5 [0.10.4]: https://github.com/davidwessman/syntax_tree-erb/compare/v0.10.3...v0.10.4 [0.10.3]: https://github.com/davidwessman/syntax_tree-erb/compare/v0.10.2...v0.10.3 [0.10.2]: https://github.com/davidwessman/syntax_tree-erb/compare/v0.10.1...v0.10.2 diff --git a/Gemfile.lock b/Gemfile.lock index df5ced0..07b2e16 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - w_syntax_tree-erb (0.10.4) + w_syntax_tree-erb (0.10.5) prettier_print (~> 1.2, >= 1.2.0) syntax_tree (~> 6.1, >= 6.1.1) diff --git a/lib/syntax_tree/erb/format.rb b/lib/syntax_tree/erb/format.rb index 0128843..be7bf2f 100644 --- a/lib/syntax_tree/erb/format.rb +++ b/lib/syntax_tree/erb/format.rb @@ -121,7 +121,10 @@ def visit_erb(node) end def visit_erb_do_close(node) - visit(node.closing) + closing = node.closing.value.end_with?("-%>") ? "-%>" : "%>" + q.text(node.closing.value.gsub(closing, "").rstrip) + q.text(" ") + q.text(closing) end def visit_erb_close(node) diff --git a/lib/syntax_tree/erb/version.rb b/lib/syntax_tree/erb/version.rb index ed4341d..88175ce 100644 --- a/lib/syntax_tree/erb/version.rb +++ b/lib/syntax_tree/erb/version.rb @@ -2,6 +2,6 @@ module SyntaxTree module ERB - VERSION = "0.10.4" + VERSION = "0.10.5" end end diff --git a/test/erb_test.rb b/test/erb_test.rb index 44c5015..85a4f8d 100644 --- a/test/erb_test.rb +++ b/test/erb_test.rb @@ -139,6 +139,14 @@ def test_erb_whitespace assert_formatting(source, expected) end + def test_erb_block_do_arguments + source = "<%= link_to(url) do |link, other_arg|%>Whaaaaaaat<% end %>" + expected = + "<%= link_to(url) do |link, other_arg| %>\n Whaaaaaaat\n<% end %>\n" + + assert_formatting(source, expected) + end + def test_erb_newline source = "<%= what if this %>\n

hej

" expected = "<%= what if this %>\n

hej

\n"