public void applyFix()

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);
            }
        }