Skip to content

feat(rename): recursive rename & duplicated names warning#215

Merged
hongjr03 merged 7 commits into
masterfrom
feat/recursive-renaming
Jun 4, 2026
Merged

feat(rename): recursive rename & duplicated names warning#215
hongjr03 merged 7 commits into
masterfrom
feat/recursive-renaming

Conversation

@roife
Copy link
Copy Markdown
Member

@roife roife commented Jun 2, 2026

Summary

  • Add recursive renaming support in the IDE analysis and rename pipeline
  • Extend Verilog 2005 handling to participate in rename propagation
  • Wire the new behavior through VS Code browser/client and extension entry points
  • Update config, global state request handling, and LSP extensions to surface the capability
  • Add coverage in tests for the new rename flow

Testing

  • Not run (not requested)

@roife roife force-pushed the feat/recursive-renaming branch from fefd4de to bf756a9 Compare June 2, 2026 05:13
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

Docs preview: https://vide.pascal-lab.net/preview/pr-215/

@roife roife marked this pull request as ready for review June 3, 2026 06:10
Copilot AI review requested due to automatic review settings June 3, 2026 06:10
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends Vide’s rename pipeline to support a recursive/expanded rename flow (following same-name port/signal connection chains) and adds LSP/VS Code plumbing to surface “expanded rename” and “rename conflict info” commands to clients.

Changes:

  • Add new LSP extension commands + params/results for expanded rename and conflict/expansion info.
  • Implement recursive rename target discovery and rename-collision preflight in the IDE rename engine (including same-name port connection collapsing like .a(a).renamed).
  • Wire the functionality through server request handling, capability advertisement, VS Code clients (desktop + browser), and add/extend tests.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/tests.rs Adds integration-style tests and helpers to exercise the new executeCommand-based rename flow.
src/lsp_ext/ext.rs Introduces new extension command identifiers and typed params/results for expanded rename and rename info queries.
src/global_state/handlers/request.rs Handles the new executeCommand routes and centralizes executeCommand arg extraction.
src/config/caps.rs Advertises the new executeCommand commands in server capabilities.
editors/vscode/src/extension.ts Adds rename middleware to prompt for recursive rename + collision confirmation and requests expanded edits via executeCommand.
editors/vscode/src/browser/client.ts Mirrors the rename middleware behavior for the browser client.
editors/vscode/l10n/bundle.l10n.zh-cn.json Adds zh-CN localizations for new rename prompts/actions.
crates/utils/src/uniq_vec.rs Adds a small utility for uniqueness-tracked vectors used by recursive rename logic.
crates/utils/src/lib.rs Exports the new uniq_vec module.
crates/ide/src/verilog_2005.rs Adds tests validating expanded rename behavior and rename conflict info in Verilog 2005 scenarios.
crates/ide/src/rename.rs Implements recursive rename target discovery, expanded rename execution, and rename-collision preflight (including same-name connection collapsing).
crates/ide/src/analysis.rs Exposes the new rename APIs via Analysis.
crates/hir/src/type_infer.rs Refactors name resolution to reuse shared resolver logic.
crates/hir/src/semantics/pathres.rs Exposes shared resolve_name utility (and a Semantics wrapper) for consistent name resolution.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/utils/src/uniq_vec.rs Outdated
Comment thread editors/vscode/src/extension.ts Outdated
Comment thread editors/vscode/src/browser/client.ts Outdated
Comment thread editors/vscode/src/extension.ts Outdated
Comment thread editors/vscode/src/browser/client.ts Outdated
@roife roife force-pushed the feat/recursive-renaming branch from c87827b to 683b9a3 Compare June 3, 2026 12:22
@roife roife force-pushed the feat/recursive-renaming branch from 683b9a3 to dcb9459 Compare June 3, 2026 12:24
@hongjr03 hongjr03 merged commit d8ad225 into master Jun 4, 2026
12 checks passed
@hongjr03 hongjr03 deleted the feat/recursive-renaming branch June 4, 2026 05:45
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.

3 participants