noir icon indicating copy to clipboard operation
noir copied to clipboard

LSP "rename struct" misses a few location

Open asterite opened this issue 1 year ago • 0 comments

Aim

LSP "rename struct" should refactor all occurrences of a struct. Right now that's not the case.

Expected Behavior

Given this program:

struct Foo {
  field: Field,
}

impl Foo {
  fn foo() {}
}

fn main() {
  Foo::foo(); // <-- this "Foo" isn't renamed
}

fn foo() -> Foo { // <-- this "Foo" isn't renamed
}

when I right-click in "Foo", choose "Rename symbol" and choose another name. All "Foo" are renamed.

Bug

The "Foo"s marked at the given locations aren't renamed when trying to rename "Foo". So, essentially:

  • "Foo" showing up in the middle of a "path"
  • "Foo" in a return type

To Reproduce

No response

Project Impact

Blocker

Impact Context

No response

Workaround

None

Workaround Description

No response

Additional Context

No response

Installation Method

None

Nargo Version

No response

NoirJS Version

No response

Would you like to submit a PR for this Issue?

Yes

Support Needs

No response

asterite avatar Jul 03 '24 11:07 asterite