in src/main/java/ru/adelf/idea/dotenv/DotEnvFactory.java [14:33]
public static PsiElement createFromText(@NotNull Project project, @NotNull IElementType type, @NotNull String text) {
final Ref<PsiElement> ret = new Ref<>();
PsiFile dummyFile = createDummyFile(project, text);
dummyFile.accept(new PsiRecursiveElementWalkingVisitor() {
@Override
public void visitElement(@NotNull PsiElement element) {
ASTNode node = element.getNode();
if (node != null && node.getElementType() == type) {
ret.set(element);
stopWalking();
} else {
super.visitElement(element);
}
}
});
assert !ret.isNull() : "cannot create element from text:\n" + dummyFile.getText();
return ret.get();
}