When a macro produces bindings using derived names, these are not considered references to the original name (which is expected behaviour). However, renaming doesn't work on the derived names.
Here is a simple macro example:
(define-syntax (my-syntax stx)
(syntax-case stx ()
[(_ name)
(with-syntax ([get-name (format-id #'name "get-~a" #'name)])
#'(begin
(define name 42)
(define (get-name) name)))]))
In the code below, renaming foo on the first line to bar with right-click → Rename foo correctly renames foo on the second line, but fails to rename get-foo on the third line.
(my-syntax foo)
foo
(get-foo)
Is there for example some kind of syntax property that can be attached to foo and get-foo to provide a rename-helper (that could produce a list of original / renamed pairs)?
As a last resort, I could use a fixed convention, and use a reader extension to actually expand get-foo to (get foo) early on, although I'm not sure if that would even work.