in src/main/java/ru/adelf/idea/dotenv/inspections/SpaceInsideNonQuotedInspection.java [76:101]
public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
// counting each quote type " AND '. The quickfix will use the most common quote type.
String quote;
Supplier<Stream<DotEnvValue>> supplier = () -> PsiTreeUtil.findChildrenOfType(descriptor.getPsiElement().getContainingFile(), DotEnvValue.class)
.stream()
.filter(dotEnvValue -> dotEnvValue.getFirstChild().getNode().getElementType() == DotEnvTypes.QUOTE);
long total = supplier.get().count();
long doubleQuoted = supplier.get().filter(dotEnvValue -> dotEnvValue.getFirstChild().getText().contains("\"")).count();
long singleQuoted = total - doubleQuoted;
if (doubleQuoted > singleQuoted) {
quote = "\"";
} else {
quote = "'";
}
try {
DotEnvValue valueElement = (DotEnvValue) descriptor.getPsiElement();
PsiElement newValueElement = DotEnvFactory.createFromText(project, DotEnvTypes.VALUE, "DUMMY=" + quote + valueElement.getText() + quote);
valueElement.getNode().getTreeParent().replaceChild(valueElement.getNode(), newValueElement.getNode());
} catch (IncorrectOperationException e) {
Logger.getInstance(SpaceInsideNonQuotedInspection.class).error(e);
}
}