I'm sure there is an issue with solving it this way, I just need someone else more experienced to confirm. It is finicky where it turns the highlighting on and off when you make some code changes, for example adding and removing the semi-colon after the macro invocation. Here is some example code to test it against: fn foo() -> i32 { 4 } fn main() { println!("{:?}", foo()); } Thanks