From a32fafd2489689f46b14e38f40416a146a913cf3 Mon Sep 17 00:00:00 2001 From: Daniel Espendiller Date: Fri, 25 Mar 2022 17:35:33 +0100 Subject: [PATCH] usability improvements for new features --- .../templating/TwigTemplateCompletionContributor.java | 9 +++++---- .../templating/action/TwigBlockOverwriteGenerator.java | 8 +++++++- src/main/resources/META-INF/plugin.xml | 4 ++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/TwigTemplateCompletionContributor.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/TwigTemplateCompletionContributor.java index e1be2f27f..c28a8fc2f 100644 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/TwigTemplateCompletionContributor.java +++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/TwigTemplateCompletionContributor.java @@ -579,16 +579,17 @@ public void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet resultSet) { - if(!Symfony2ProjectComponent.isEnabled(parameters.getPosition())) { + PsiElement psiElement = parameters.getPosition(); + if(!Symfony2ProjectComponent.isEnabled(psiElement)) { return; } List prioritizedKeys = new ArrayList<>(); - Project project = parameters.getPosition().getProject(); + Project project = psiElement.getProject(); - if (TwigPattern.getTemplateFileReferenceTagPattern("extends").accepts(parameters.getPosition())) { + if (TwigPattern.getTemplateFileReferenceTagPattern("extends").accepts(psiElement)) { prioritizedKeys.addAll(TwigUtil.getExtendsTemplateUsageAsOrderedList(project, 50)); - } else if(TwigPattern.getTemplateFileReferenceTagPattern("include").accepts(parameters.getPosition())) { + } else if (TwigPattern.getTemplateFileReferenceTagPattern("include").accepts(psiElement) || TwigPattern.getPrintBlockOrTagFunctionPattern("include", "source").accepts(psiElement)) { prioritizedKeys.addAll(TwigUtil.getIncludeTemplateUsageAsOrderedList(project, 50)); } diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/action/TwigBlockOverwriteGenerator.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/action/TwigBlockOverwriteGenerator.java index e1d4789c1..7a40fce83 100644 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/action/TwigBlockOverwriteGenerator.java +++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/action/TwigBlockOverwriteGenerator.java @@ -86,11 +86,17 @@ public void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull Ps WriteCommandAction.writeCommandAction(editor.getProject()) .withName("Block Overwrite: " + titleBlocks) .run((ThrowableRunnable) () -> { + String endBlock = "{% endblock %}"; + String content = strings.stream() - .map((Function) s -> "{% block " + s + " %}{% endblock %}") + .map((Function) s -> "{% block " + s + " %}" + endBlock) .collect(Collectors.joining("\n")); PhpInsertHandlerUtil.insertStringAtCaret(editor, content); + + // move caret inside block + // {% block %}{% endblock %} + editor.getCaretModel().moveCaretRelatively(-endBlock.length(), 0, false, false, true); }); } catch (Throwable ignored) { } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 670149a80..454628698 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -721,14 +721,14 @@ + text="Twig: Block Overwrite"> + text="Twig: Extends">