Skip to content

Rename rfmt to kenshin - #123

Closed
sorafujitani wants to merge 5 commits into
mainfrom
feat/rename-to-kenshin
Closed

Rename rfmt to kenshin#123
sorafujitani wants to merge 5 commits into
mainfrom
feat/rename-to-kenshin

Conversation

@sorafujitani

Copy link
Copy Markdown
Owner

Renames the project rfmt → kenshin, per the plan in #110 ("Rename: rfmt → kenshin" section). The name is verified free on RubyGems, and sorafujitani/kenshin is unused on GitHub.

What changes

  • Gem kenshin (version stays 1.7.0; the bump happens at release). Executables kenshin / kenshin-lsp.
  • Ruby module Kenshin, with Rfmt = Kenshin kept as a deprecation alias for one minor release.
  • Rust extension ext/kenshin (crate/lib name drives the magnus init symbol; require 'kenshin' verified after rake compile).
  • Config discovery prefers the .kenshin.yml family and still accepts the legacy .rfmt.yml names afterward, in both the Rust resolver and the Ruby finders (tested on both sides; transition window noted in code).
  • Cache dir ~/.cache/kenshin. Env vars KENSHIN_DEBUG/LOG/VERBOSE (old names dropped; flagged in the changelog).
  • Docs, editor guides, README badges, CI (the install-check job now exercises the kenshin exe), CHANGELOG entry describing the rename and migration path.

What deliberately keeps the old name

  • Repo URLs stay sorafujitani/rfmt until the GitHub repo itself is renamed (that is the maintainer's post-merge step; redirects then cover stragglers). The gemspec metadata already points to sorafujitani/kenshin.
  • The parity fixture generator loads the deleted PrismBridge from git history, so its internal lib/rfmt/... path and Rfmt:: reference are historical by nature (verified idempotent: fixtures regenerate byte-identically).
  • Dated records (docs/priv, historical benchmark JSON) are untouched.
  • A full grep -rniE "\brfmt\b" inventory over lib/ext/exe/spec/scripts/.github was reviewed hit-by-hit; every remaining hit falls in the categories above.

Verification

  • rspec 168/0 (two new config-compat examples); corpus check 46/46; parity fixtures idempotent; cargo test 147 / clippy --all-targets -D warnings / fmt clean; rubocop clean
  • gem build kenshin.gemspec: name/executables/extensions correct; ruby_lsp_addon metadata intact
  • Real CLI: bundle exec kenshin --write honors .kenshin.yml (indent 4) and legacy .rfmt.yml (indent 3) in separate temp projects; --check exit codes; kenshin version reports the new name
  • Both Kenshin.format and legacy Rfmt.format return identical output

After merge (maintainer steps)

  1. Rename the GitHub repo to sorafujitani/kenshin (old URLs redirect)
  2. Follow-up PR: flip the remaining in-code repo URLs to the new home
  3. Release sequencing per codename/v2: performance and stability improvements (move parsing to Rust via ruby-prism) #110: first kenshin release carries the native-parsing migration + rename changelog; a final rfmt gem release points users here (post_install_message)

@sorafujitani

Copy link
Copy Markdown
Owner Author

Decision: keeping the name rfmt (codename v2). Closing unmerged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant