I've seen this too with the IntelliJ plugin. I'm guessing it has to do with the plugin's support for the magnet pattern that Spray is using. The implicit def fromUnit(u: Unit)(implicit dm2: DetachMagnet2) is particularly complex. I'm guessing that the Scala plugin isn't able to match detach() to that implicit, whereas the Scala compiler can.
You can make the squiggles go away by simply updating your detach directive to include the executionContext. In your case.
detach(executionContext) {...}
This would then match the more regular implicit
implicit def fromExecutionContext(ec: ExecutionContext)
I'm guessing this more normal usage of implicits is better supported by the plugin, cuz that works for me.