diff --git a/language-server/src/tests/rename.rs b/language-server/src/tests/rename.rs index 913cafdd8..1689e64a2 100644 --- a/language-server/src/tests/rename.rs +++ b/language-server/src/tests/rename.rs @@ -644,7 +644,7 @@ pub fn main() { } ", "some_function", - find_position_of("wibble") + find_position_of("wobble") ); } @@ -668,7 +668,7 @@ pub fn main() { } ", "wibble", - find_position_of("wibble") + find_position_of("wobble") ); } @@ -925,7 +925,7 @@ pub fn main() { } ", "ten", - find_position_of("something") + find_position_of("smth") ); } @@ -950,7 +950,7 @@ pub fn main() { } ", "something", - find_position_of("something") + find_position_of("smth") ); } @@ -1210,7 +1210,7 @@ pub fn main() { } ", "Number", - find_position_of("Constructor") + find_position_of("C") ); } @@ -1237,7 +1237,7 @@ pub fn main() { } ", "Constructor", - find_position_of("Constructor") + find_position_of("C") ); } @@ -1608,7 +1608,7 @@ import mod.{type Wibble as Wobble} pub fn main(w: Wobble) -> mod.Wibble { todo } ", "SomeType", - find_position_of("Wibble") + find_position_of("Wobble") ); } @@ -1629,7 +1629,7 @@ import mod.{type Wibble as Wobble} pub fn main(w: Wobble) -> mod.Wibble { todo } ", "Wibble", - find_position_of("Wibble") + find_position_of("Wobble") ); } @@ -3668,3 +3668,159 @@ pub type Wibble { find_position_of("Wobble").nth_occurrence(4).under_char('b') ); } + +#[test] +fn rename_value_from_aliased_import_imported_name() { + assert_rename!( + ( + "mod", + " +pub fn wibble() { + wibble() +} +" + ), + " +import mod.{wibble as wobble} + +pub fn main() { + wobble() + mod.wibble() +} +", + "some_function", + find_position_of("wibble") + ); +} + +#[test] +fn rename_value_from_aliased_import_as() { + assert_rename!( + ( + "mod", + " +pub fn wibble() { + wibble() +} +" + ), + " +import mod.{wibble as wobble} + +pub fn main() { + wobble() + mod.wibble() +} +", + "some_function", + find_position_of("as") + ); +} + +#[test] +fn rename_value_from_aliased_import_alias_name() { + assert_rename!( + ( + "mod", + " +pub fn wibble() { + wibble() +} +" + ), + " +import mod.{wibble as wobble} + +pub fn main() { + wobble() + mod.wibble() +} +", + "some_function", + find_position_of("wobble") + ); +} + +#[test] +fn rename_type_from_aliased_import_type() { + assert_rename!( + ( + "mod", + " +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } +" + ), + " +import mod.{type Wibble as Wobble} + +pub fn main(w: Wobble) -> mod.Wibble { todo } +", + "SomeType", + find_position_of("type") + ); +} + +#[test] +fn rename_type_from_aliased_import_imported_name() { + assert_rename!( + ( + "mod", + " +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } +" + ), + " +import mod.{type Wibble as Wobble} + +pub fn main(w: Wobble) -> mod.Wibble { todo } +", + "SomeType", + find_position_of("Wibble") + ); +} + +#[test] +fn rename_type_from_aliased_import_as() { + assert_rename!( + ( + "mod", + " +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } +" + ), + " +import mod.{type Wibble as Wobble} + +pub fn main(w: Wobble) -> mod.Wibble { todo } +", + "SomeType", + find_position_of("as") + ); +} + +#[test] +fn rename_type_from_aliased_import_aliased_name() { + assert_rename!( + ( + "mod", + " +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } +" + ), + " +import mod.{type Wibble as Wobble} + +pub fn main(w: Wobble) -> mod.Wibble { todo } +", + "SomeType", + find_position_of("Wobble") + ); +} diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap index 3c01d0f71..43d176371 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing.snap @@ -13,7 +13,7 @@ pub fn wibble() { -- app.gleam import mod.{wibble as wobble} - ↑▔▔▔▔▔ + ↑▔▔▔▔▔ pub fn main() { wobble() diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap index 9845f1a17..7a57e2249 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_alias_with_weird_spacing_to_original_name.snap @@ -13,7 +13,7 @@ pub fn wibble() { -- app.gleam import mod.{wibble as wobble} - ↑▔▔▔▔▔ + ↑▔▔▔▔▔ pub fn main() { wobble() diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import.snap index 08a297609..df233d7f2 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import.snap @@ -15,7 +15,7 @@ fn wibble() { -- app.gleam import mod.{something as smth} - ↑▔▔▔▔▔▔▔▔ + ↑▔▔▔ pub fn main() { smth + mod.something diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import_to_original_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import_to_original_name.snap index 23c862de8..32b053e09 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import_to_original_name.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_constant_from_aliased_import_to_original_name.snap @@ -15,7 +15,7 @@ fn wibble() { -- app.gleam import mod.{something as smth} - ↑▔▔▔▔▔▔▔▔ + ↑▔▔▔ pub fn main() { smth + mod.something diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import.snap index 50863bec0..fdbfcdd22 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import.snap @@ -13,7 +13,7 @@ pub fn wibble() { -- app.gleam import mod.{wibble as wobble} - ↑▔▔▔▔▔ + ↑▔▔▔▔▔ pub fn main() { wobble() diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import_to_original_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import_to_original_name.snap index 4b09cab65..b2f6773c2 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import_to_original_name.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_function_from_aliased_import_to_original_name.snap @@ -13,7 +13,7 @@ pub fn wibble() { -- app.gleam import mod.{wibble as wobble} - ↑▔▔▔▔▔ + ↑▔▔▔▔▔ pub fn main() { wobble() diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import.snap index 0ce6f8b11..50ee9e488 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import.snap @@ -13,7 +13,7 @@ fn wibble(w: Wibble) -> Wibble { todo } -- app.gleam import mod.{type Wibble as Wobble} - ↑▔▔▔▔▔ + ↑▔▔▔▔▔ pub fn main(w: Wobble) -> mod.Wibble { todo } diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_aliased_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_aliased_name.snap new file mode 100644 index 000000000..50ee9e488 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_aliased_name.snap @@ -0,0 +1,33 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{type Wibble as Wobble}\n\npub fn main(w: Wobble) -> mod.Wibble { todo }\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as Wobble} + ↑▔▔▔▔▔ + +pub fn main(w: Wobble) -> mod.Wibble { todo } + + +----- AFTER RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as SomeType} + +pub fn main(w: SomeType) -> mod.Wibble { todo } diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_as.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_as.snap new file mode 100644 index 000000000..50ee9e488 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_as.snap @@ -0,0 +1,33 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{type Wibble as Wobble}\n\npub fn main(w: Wobble) -> mod.Wibble { todo }\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as Wobble} + ↑▔▔▔▔▔ + +pub fn main(w: Wobble) -> mod.Wibble { todo } + + +----- AFTER RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as SomeType} + +pub fn main(w: SomeType) -> mod.Wibble { todo } diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_imported_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_imported_name.snap new file mode 100644 index 000000000..50ee9e488 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_imported_name.snap @@ -0,0 +1,33 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{type Wibble as Wobble}\n\npub fn main(w: Wobble) -> mod.Wibble { todo }\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as Wobble} + ↑▔▔▔▔▔ + +pub fn main(w: Wobble) -> mod.Wibble { todo } + + +----- AFTER RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as SomeType} + +pub fn main(w: SomeType) -> mod.Wibble { todo } diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_to_original_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_to_original_name.snap index b4e58c9c2..77342881a 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_to_original_name.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_to_original_name.snap @@ -13,7 +13,7 @@ fn wibble(w: Wibble) -> Wibble { todo } -- app.gleam import mod.{type Wibble as Wobble} - ↑▔▔▔▔▔ + ↑▔▔▔▔▔ pub fn main(w: Wobble) -> mod.Wibble { todo } diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_type.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_type.snap new file mode 100644 index 000000000..50ee9e488 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_from_aliased_import_type.snap @@ -0,0 +1,33 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{type Wibble as Wobble}\n\npub fn main(w: Wobble) -> mod.Wibble { todo }\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as Wobble} + ↑▔▔▔▔▔ + +pub fn main(w: Wobble) -> mod.Wibble { todo } + + +----- AFTER RENAME +-- mod.gleam + +pub type Wibble { Constructor } + +fn wibble(w: Wibble) -> Wibble { todo } + + +-- app.gleam + +import mod.{type Wibble as SomeType} + +pub fn main(w: SomeType) -> mod.Wibble { todo } diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import.snap index b3a569d03..2a2e6cb9d 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import.snap @@ -17,7 +17,7 @@ fn wibble() { -- app.gleam import mod.{Constructor as C} - ↑▔▔▔▔▔▔▔▔▔▔ + ↑ pub fn main() { #(C(75), mod.Constructor(57)) diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import_to_original_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import_to_original_name.snap index 3abc5fa81..02d11b975 100644 --- a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import_to_original_name.snap +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_type_variant_from_aliased_import_to_original_name.snap @@ -17,7 +17,7 @@ fn wibble() { -- app.gleam import mod.{Constructor as C} - ↑▔▔▔▔▔▔▔▔▔▔ + ↑ pub fn main() { #(C(75), mod.Constructor(57)) diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_alias_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_alias_name.snap new file mode 100644 index 000000000..fdbfcdd22 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_alias_name.snap @@ -0,0 +1,39 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{wibble as wobble}\n\npub fn main() {\n wobble()\n mod.wibble()\n}\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as wobble} + ↑▔▔▔▔▔ + +pub fn main() { + wobble() + mod.wibble() +} + + +----- AFTER RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as some_function} + +pub fn main() { + some_function() + mod.wibble() +} diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_as.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_as.snap new file mode 100644 index 000000000..fdbfcdd22 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_as.snap @@ -0,0 +1,39 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{wibble as wobble}\n\npub fn main() {\n wobble()\n mod.wibble()\n}\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as wobble} + ↑▔▔▔▔▔ + +pub fn main() { + wobble() + mod.wibble() +} + + +----- AFTER RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as some_function} + +pub fn main() { + some_function() + mod.wibble() +} diff --git a/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_imported_name.snap b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_imported_name.snap new file mode 100644 index 000000000..fdbfcdd22 --- /dev/null +++ b/language-server/src/tests/snapshots/gleam_language_server__tests__rename__rename_value_from_aliased_import_imported_name.snap @@ -0,0 +1,39 @@ +--- +source: language-server/src/tests/rename.rs +expression: "\nimport mod.{wibble as wobble}\n\npub fn main() {\n wobble()\n mod.wibble()\n}\n" +--- +----- BEFORE RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as wobble} + ↑▔▔▔▔▔ + +pub fn main() { + wobble() + mod.wibble() +} + + +----- AFTER RENAME +-- mod.gleam + +pub fn wibble() { + wibble() +} + + +-- app.gleam + +import mod.{wibble as some_function} + +pub fn main() { + some_function() + mod.wibble() +}