rfmt 1.5.0-aarch64-linux → 1.5.1-aarch64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f904ee39be41cee466425ba81fb018bb7c5319d5a6c8adfe831a075746c2d4e4
4
- data.tar.gz: ef3eea6dc74fae25ed7b1376dbe5abe5131a099d03d85dd770fc0496c70f454c
3
+ metadata.gz: e5abf1bc063954128b9ac63d381f1626d70cc3dfadc22c47f65419b2b1013af5
4
+ data.tar.gz: e8f877f7aac68f8ab709a668d4cdb79e6abc2d5f8df52d140f1b278a8b2df75f
5
5
  SHA512:
6
- metadata.gz: c3204052be31bdbf7b79512fcce17bb598fd4aa8b4bab9e89917bbb4f42bc6b6e66766e3d3712651eb2acf8d02956ed095ad521cecf3edee2b6a83db805ef089
7
- data.tar.gz: e5696b6387e7111122ddd70bebc2f0d55fa3193d887534148cde29e968143c6e9973e414acccef70a26b9b9658f9ad663cc5305166324310d1431be2ff7e6cae
6
+ metadata.gz: e4b93e44a1eec6bb836bbec52d00683a3698a22cbb06955444ccad7f26615121a97caa3083b88588e23e0a6a1bbdc54dbd17cdb2d05bd4099ab4f7d51fd2db89
7
+ data.tar.gz: f43b80d6aaae0368ca1420446d78634d31bad07fed22f1a0566327257f8342052476506e200f61d966ae2538a28b4ba77928e601473a41d40e1c5ac451d81e28
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [1.5.1] - 2026-02-21
4
+
5
+ ### Fixed
6
+ - Fix inline modifier `if`/`unless` formatting (#87)
7
+ - Fix heredoc command incorrectly removed (#90, #86)
8
+ - Fix method chain command dependency handling (#89, #85)
9
+
10
+ ### Added
11
+ - Heredoc comment deletion support
12
+ - Place block loop emission support
13
+
14
+ ### Changed
15
+ - Update README.md
16
+ - Code formatting improvements (RuboCop compliance)
17
+
3
18
  ## [1.5.0] - 2026-01-25
4
19
 
5
20
  ### Added
data/README.md CHANGED
@@ -23,6 +23,7 @@ A Ruby code formatter written in Rust
23
23
  ## What is rfmt?
24
24
 
25
25
  [RubyGems reference](https://rubygems.org/gems/rfmt)
26
+ [DeepWiki rfmt](https://deepwiki.com/fs0414/rfmt)
26
27
 
27
28
  **rfmt** is a Ruby code formatter that enforces consistent style across your codebase. Key characteristics:
28
29
 
data/lib/rfmt/3.3/rfmt.so CHANGED
Binary file
data/lib/rfmt/3.4/rfmt.so CHANGED
Binary file
@@ -125,16 +125,14 @@ module Rfmt
125
125
  end
126
126
  end
127
127
 
128
- # Check child nodes for heredoc (e.g., LocalVariableWriteNode containing StringNode)
129
- node.child_nodes.compact.each do |child|
130
- next unless child.respond_to?(:closing_loc) && child.closing_loc
131
-
132
- closing = child.closing_loc
133
- next unless closing.end_offset > end_offset
134
-
135
- end_offset = closing.end_offset
136
- end_line = closing.end_line
137
- end_column = closing.end_column
128
+ # Recursively check all descendant nodes for heredoc closing_loc
129
+ # Issue #74: handled direct children (e.g., LocalVariableWriteNode -> StringNode)
130
+ # Issue #86: handles deeper nesting (e.g., CallNode -> ArgumentsNode -> StringNode)
131
+ max_closing = find_max_closing_loc_recursive(node)
132
+ if max_closing && max_closing[:end_offset] > end_offset
133
+ end_offset = max_closing[:end_offset]
134
+ end_line = max_closing[:end_line]
135
+ end_column = max_closing[:end_column]
138
136
  end
139
137
 
140
138
  {
@@ -147,6 +145,32 @@ module Rfmt
147
145
  }
148
146
  end
149
147
 
148
+ # Recursively find the maximum closing_loc among all descendant nodes
149
+ # Returns nil if no closing_loc found, otherwise { end_offset:, end_line:, end_column: }
150
+ def self.find_max_closing_loc_recursive(node, depth: 0)
151
+ return nil if depth > 10
152
+
153
+ max_closing = nil
154
+
155
+ node.child_nodes.compact.each do |child|
156
+ if child.respond_to?(:closing_loc) && child.closing_loc
157
+ closing = child.closing_loc
158
+ if max_closing.nil? || closing.end_offset > max_closing[:end_offset]
159
+ max_closing = {
160
+ end_offset: closing.end_offset,
161
+ end_line: closing.end_line,
162
+ end_column: closing.end_column
163
+ }
164
+ end
165
+ end
166
+
167
+ child_max = find_max_closing_loc_recursive(child, depth: depth + 1)
168
+ max_closing = child_max if child_max && (max_closing.nil? || child_max[:end_offset] > max_closing[:end_offset])
169
+ end
170
+
171
+ max_closing
172
+ end
173
+
150
174
  # Extract child nodes
151
175
  def self.extract_children(node)
152
176
  children = []
data/lib/rfmt/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rfmt
4
- VERSION = '1.5.0'
4
+ VERSION = '1.5.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfmt
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - fujitani sora
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-01-25 00:00:00.000000000 Z
11
+ date: 2026-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs