Any way to solve macro code complete

I try to write a language server, then edit rust analyzer code so when cursor in fn macro it will forward TokenTree to language server.
But I soon found it very difficult to read the code of rust analyzer as a Rust noob, not to mention considering the macro inside the macro.

New RustRover can give suggestion in sqlx string. I think this is similar to what I want in macro complete, but I don't know how intellij did it.

RustRover doesn't use rust-analyzer; they have their own language-awareness system.

There's a discussion about it in this open issue, so maybe you can weigh in.

It would indeed be interesting, but I'm wondering what it'll do to performances.