Because the Elixir in EEx templates doesn't know it's in a template, the ModuleAttribute Annotator marks the @conn assigns as unresolved module attributes.

The ModuleAttribute Annotator should either be disabled when it detects it's Elixir in EEx OR changed to look for missing assigns.
Please work on this! The little red squiggly lines are annoying by their own right, but what really gets me is the fact that I can't perform code analysis before committing without seeing a bunch of errors.
I 鉂わ笍 this project, by the way. Keep it up! 馃憤 馃榿
I just did some digging into how this might be solved, but given how long this has been sitting here I'm wondering if I'm missing something others have already run into.
For disabling the annotator within EEx, it seems like this should work (file is org.elixir_lang.annotator.ModuleAttribute):
public void annotate(@NotNull final PsiElement element, @NotNull final AnnotationHolder holder) {
if (!element.getContainingFile().getFileType().getName().equals("EEx")) {
element.accept(
...
);
}
}
Obviously the if condition is brittle and needs work, but if this general concept would work, I'd be happy to figure out what condition should go there. I just want to know if I'm missing something on a high level before pursuing it further.
The naive solution above didn't work properly, but I was able to find a function to check which languages are available in the element's file, which should only contain EEx in an EEx file. The fix works, but if it doesn't line up with what you had in mind, let me know!
Most helpful comment
Please work on this! The little red squiggly lines are annoying by their own right, but what really gets me is the fact that I can't perform code analysis before committing without seeing a bunch of errors.
I 鉂わ笍 this project, by the way. Keep it up! 馃憤 馃榿