@@ -21,21 +21,12 @@ function renamerefactor(
21
21
mod = " Main" ,
22
22
)
23
23
mod = getmodule (mod)
24
+ head = first (split (full, ' .' ))
25
+ headval = getfield′ (mod, head)
24
26
25
- # check on dot accessor
26
- moddesc = if (obj = first (split (full, ' .' ))) != old
27
- if (parentmod = getfield′ (mod, obj)) isa Module
28
- if parentmod != mod
29
- moduledescription (old, parentmod)
30
- else
31
- " "
32
- end
33
- else
34
- # catch field renaming
35
- return Dict (:warning => " Rename refactoring on a field isn't available: `$obj .$old `" )
36
- end
37
- else
38
- " "
27
+ # catch field renaming
28
+ if head ≠ old && ! isa (headval, Module)
29
+ return Dict (:warning => " Rename refactoring on a field isn't available: `$obj .$old `" )
39
30
end
40
31
41
32
expr = CSTParser. parse (context)
@@ -72,9 +63,11 @@ function renamerefactor(
72
63
73
64
# make description
74
65
if kind === :success
75
- # update modesc
76
- if isempty (moddesc) && applicable (parentmodule, val) && (parentmod = parentmodule (val)) ≠ mod
77
- moddesc = moduledescription (old, parentmod)
66
+ moddesc = if (headval isa Module && headval ≠ mod) ||
67
+ (applicable (parentmodule, val) && (headval = parentmodule (val)) ≠ mod)
68
+ moduledescription (old, headval)
69
+ else
70
+ " "
78
71
end
79
72
80
73
desc = join ((" _Global_ rename refactoring `$mod .$old ` ⟹ `$mod .$new ` succeeded." , moddesc, desc), " \n\n " )
167
160
function moduledescription (old, parentmod)
168
161
gotouri = urigoto (parentmod, old)
169
162
"""
170
- **NOTE**: `$old ` was defined in `$parentmod ` -- you may need the same rename refactorings
163
+ **NOTE**: `$old ` is defined in `$parentmod ` -- you may need the same rename refactorings
171
164
in that module as well. <button>[Go to `$parentmod .$old `]($gotouri )</button>
172
165
"""
173
166
end
0 commit comments