From 0ff50302a7cbcca4fd0967088515da460b851103 Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Fri, 13 May 2022 21:31:52 -0400 Subject: [PATCH] Support maxwidth on format --- CHANGELOG.md | 4 ++++ lib/syntax_tree.rb | 4 ++-- test/syntax_tree_test.rb | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07da8abb..81c1d0fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a ## [Unreleased] +### Added + +- Support an optional `maxwidth` second argument to `SyntaxTree.format`. + ### Changed - Correct the pattern for checking if a dynamic symbol can be converted into a label as a hash key. diff --git a/lib/syntax_tree.rb b/lib/syntax_tree.rb index 4d4c320e..faefd4df 100644 --- a/lib/syntax_tree.rb +++ b/lib/syntax_tree.rb @@ -40,8 +40,8 @@ def self.parse(source) end # Parses the given source and returns the formatted source. - def self.format(source) - formatter = Formatter.new(source, []) + def self.format(source, maxwidth = 80) + formatter = Formatter.new(source, [], maxwidth) parse(source).format(formatter) formatter.flush diff --git a/test/syntax_tree_test.rb b/test/syntax_tree_test.rb index 3d5ae90e..05242d94 100644 --- a/test/syntax_tree_test.rb +++ b/test/syntax_tree_test.rb @@ -29,6 +29,10 @@ def test_parse_error assert_raises(Parser::ParseError) { SyntaxTree.parse("<>") } end + def test_maxwidth_format + assert_equal("foo +\n bar\n", SyntaxTree.format("foo + bar", 5)) + end + def test_read source = SyntaxTree.read(__FILE__) assert_equal(Encoding.default_external, source.encoding)