rfmt 1.2.7 → 1.3.1
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 +4 -4
- data/CHANGELOG.md +35 -0
- data/Cargo.lock +112 -185
- data/ext/rfmt/Cargo.toml +2 -2
- data/ext/rfmt/src/ast/mod.rs +92 -0
- data/ext/rfmt/src/emitter/mod.rs +305 -102
- data/lib/rfmt/prism_bridge.rb +56 -4
- data/lib/rfmt/version.rb +1 -1
- metadata +4 -5
- data/lib/rfmt/rfmt.so +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3711e11ba344ee0b9e1e76d0885fd99bd7ccbd7901ab5ba819619ae40647365f
|
|
4
|
+
data.tar.gz: 95f1b17c4c9a542cc24d9b89df6dee44398f59d27da0446961ac320b338a6bb4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7bb8aff9825e2a8d44f3161786b7952a2b2e3b679d0e607eb748102971d4c8a417ca8dcaac80e171a97ef223814c229b14b63af505321309393edc9432550fe6
|
|
7
|
+
data.tar.gz: 110a42ff056ac3dd6939d0f67b50a4784bbdafd513c4c0a1ab6e9eb8d0a040a0aa65bc39d0b37975ffb1972cf81d8396868d33e627b71ed017894cf1674d3cc4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [1.3.1] - 2026-01-08
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Dedicated emitters for SingletonClassNode and pattern matching (CaseMatchNode, InNode)
|
|
7
|
+
- Literal and pattern match node support
|
|
8
|
+
- NoKeywordsParameterNode support
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Performance: Comment lookup optimized with BTreeMap index (O(n) → O(log n))
|
|
12
|
+
- Performance: HashSet for comment tracking (O(n) → O(1) contains check)
|
|
13
|
+
- Performance: Cached indent strings to avoid repeated allocations
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- DefNode parameter handling and missing node types
|
|
17
|
+
- Deep nest JSON parse error (max_nesting: false)
|
|
18
|
+
|
|
19
|
+
## [1.3.0] - 2026-01-07
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- Precompiled native gem support for multiple platforms:
|
|
23
|
+
- Linux x86_64 (glibc and musl)
|
|
24
|
+
- Linux aarch64 (glibc and musl)
|
|
25
|
+
- macOS x86_64 (Intel) and arm64 (Apple Silicon)
|
|
26
|
+
- Windows x64
|
|
27
|
+
- Users no longer need Rust toolchain (cargo) to install rfmt
|
|
28
|
+
- GitHub issue and PR templates
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- Release workflow now uses `oxidize-rb/actions/cross-gem` for cross-compilation
|
|
32
|
+
- gemspec updated to exclude compiled artifacts from source gem
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
- CI cross-compile compatibility: Downgrade Cargo.lock to version 3 for older Cargo
|
|
36
|
+
- Remove `.ruby-version` from repository to avoid rbenv errors in CI containers
|
|
37
|
+
|
|
3
38
|
## [1.2.7] - 2026-01-04
|
|
4
39
|
|
|
5
40
|
### Changed
|