Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement find references and rename for locals #3111

Open
yedhink opened this issue Jan 30, 2025 · 2 comments
Open

Implement find references and rename for locals #3111

yedhink opened this issue Jan 30, 2025 · 2 comments
Labels
enhancement New feature or request pinned This issue or pull request is pinned and won't be marked as stale server This pull request should be included in the server gem's release notes

Comments

@yedhink
Copy link

yedhink commented Jan 30, 2025

Description

Ruby LSP Information

VS Code Version

1.97.0-insider

Ruby LSP Extension Version

0.8.19

Ruby LSP Server Version

0.23.7

Ruby LSP Add-ons

  • Ruby LSP Rails
  • RuboCop

Ruby Version

3.4.1

Ruby Version Manager

rbenv

Installed Extensions

Click to expand
  • catppuccin-vsc (3.16.0)
  • dotenv (1.0.1)
  • prettier-vscode (11.0.0)
  • ruby-extensions-pack (0.1.12)
  • ruby-lsp (0.8.19)
  • sorbet-vscode-extension (0.3.37)
  • vim (1.29.0)
  • vscode-eslint (3.0.10)
  • vscode-mdx (1.8.13)
  • vscode-ruby (0.28.0)

Ruby LSP Settings

Click to expand
Workspace
{}
User
{
  "enabledFeatures": {
    "codeActions": true,
    "diagnostics": true,
    "documentHighlights": true,
    "documentLink": true,
    "documentSymbols": true,
    "foldingRanges": true,
    "formatting": true,
    "hover": true,
    "inlayHint": true,
    "onTypeFormatting": true,
    "selectionRanges": true,
    "semanticHighlighting": true,
    "completion": true,
    "codeLens": true,
    "definition": true,
    "workspaceSymbol": true,
    "signatureHelp": true,
    "typeHierarchy": true
  },
  "featuresConfiguration": {},
  "addonSettings": {},
  "rubyVersionManager": {
    "identifier": "auto"
  },
  "customRubyCommand": "",
  "formatter": "auto",
  "linters": null,
  "bundleGemfile": "",
  "testTimeout": 30,
  "branch": "",
  "pullDiagnosticsOn": "both",
  "useBundlerCompose": false,
  "bypassTypechecker": false,
  "rubyExecutablePath": "",
  "indexing": {},
  "erbSupport": true,
  "featureFlags": {}
}

Reproduction steps

Image

Add the following test case in Rails 8 and try to rename the variable password:

  def test_password_is_not_too_short
    password = "w" * (User::MIN_PASSWORD_LENGTH - 1)
    @user.password = password

    @user.password_confirmation = password
  end

Getting the error message The element can't be renamed.

Neovim

Same issue in neovim. But message is different though:

Image
ruby-lsp --version: 0.23.6

Question

I am not sure if this is a bug. Maybe this is a limitation of Ruby-lsp. Please close the issue if this issue is scoped to be fixed as part of the roadmap or if it cannot be fixed.

@yedhink yedhink added bug Something isn't working vscode This pull request should be included in the VS Code extension's release notes labels Jan 30, 2025
@vinistock
Copy link
Member

Thank you for the report. This is not a bug, we just haven't implemented reference tracking for locals yet. I'll change the title and labels to make that clearer, since we don't have an issue for this created yet.

@vinistock vinistock added enhancement New feature or request pinned This issue or pull request is pinned and won't be marked as stale server This pull request should be included in the server gem's release notes and removed bug Something isn't working vscode This pull request should be included in the VS Code extension's release notes labels Jan 30, 2025
@vinistock vinistock changed the title Getting The element can't be renamed message when trying to rename a variable in both VSCode as well as Neovim Implement find references and rename for locals Jan 30, 2025
@andyw8
Copy link
Contributor

andyw8 commented Jan 30, 2025

We can also update the docs: #3113

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request pinned This issue or pull request is pinned and won't be marked as stale server This pull request should be included in the server gem's release notes
Projects
None yet
Development

No branches or pull requests

3 participants