experimental macro support

Can you just `extends ScalaSourceFileEditor` instead of the self-type? Not sure we need self-types, unless the dependency is mutual.