Skip to content

Commit fa87f78

Browse files
slapoguzovAleksandr Slapoguzov
authored andcommitted
[support for 2020.2 version] get rid of start comment tokens in doc patterns & migrate to non-atomic PsiComment structure
1 parent cbc2d72 commit fa87f78

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/TwigPattern.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class TwigPattern {
4848
PlatformPatterns.psiElement(TwigTokenTypes.SINGLE_QUOTE)
4949
);
5050

51-
public static final String DOC_SEE_REGEX = "\\{#[\\s]+@see[\\s]+([-@\\./\\:\\w\\\\\\[\\]]+)[\\s]*#}";
51+
public static final String DOC_SEE_REGEX = "@see[\\s]+([-@\\./\\:\\w\\\\\\[\\]]+)[\\s]*";
5252

5353
/**
5454
* {% trans with {'%name%': 'Fabien'} from "app" %}
@@ -869,7 +869,7 @@ public static ElementPattern<PsiComment> getTwigTypeDocBlockPattern() {
869869
Collection<ElementPattern> patterns = new ArrayList<>();
870870

871871
for (String s : TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE) {
872-
patterns.add(PlatformPatterns.psiComment().withText(PlatformPatterns.string().matches(s)).withLanguage(TwigLanguage.INSTANCE));
872+
patterns.add(PlatformPatterns.psiElement(TwigTokenTypes.COMMENT_TEXT).withText(PlatformPatterns.string().matches(s)).withLanguage(TwigLanguage.INSTANCE));
873873
}
874874

875875
return PlatformPatterns.or(patterns.toArray(new ElementPattern[patterns.size()]));
@@ -881,10 +881,10 @@ public static ElementPattern<PsiComment> getTwigTypeDocBlockPattern() {
881881
* {# \Class #}
882882
*/
883883
@NotNull
884-
public static ElementPattern<PsiComment> getTwigDocSeePattern() {
884+
public static ElementPattern<PsiElement> getTwigDocSeePattern() {
885885
return PlatformPatterns.or(
886-
PlatformPatterns.psiComment().withText(PlatformPatterns.string().matches(DOC_SEE_REGEX)).withLanguage(TwigLanguage.INSTANCE),
887-
PlatformPatterns.psiComment().withText(PlatformPatterns.string().matches(TwigUtil.DOC_SEE_REGEX_WITHOUT_SEE)).withLanguage(TwigLanguage.INSTANCE)
886+
PlatformPatterns.psiElement(TwigTokenTypes.COMMENT_TEXT).withText(PlatformPatterns.string().matches(DOC_SEE_REGEX)).withLanguage(TwigLanguage.INSTANCE),
887+
PlatformPatterns.psiElement(TwigTokenTypes.COMMENT_TEXT).withText(PlatformPatterns.string().matches(TwigUtil.DOC_SEE_REGEX_WITHOUT_SEE)).withLanguage(TwigLanguage.INSTANCE)
888888
);
889889
}
890890

src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/util/TwigTypeResolveUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ public class TwigTypeResolveUtil {
6969

7070
// for supporting completion and navigation of one line element
7171
public static final String[] DOC_TYPE_PATTERN_SINGLE = new String[] {
72-
"\\{#[\\s]+(?<var>[\\w]+)[\\s]+(?<class>[\\w\\\\\\[\\]]+)[\\s]+#}",
73-
"\\{#[\\s]+"+ DOC_TYPE_PATTERN_CLASS_SECOND + "[\\s]+#}",
74-
"\\{#[\\s]+"+ DOC_TYPE_PATTERN_CLASS_FIRST + "[\\s]+#}",
72+
"^(?<var>[\\w]+)[\\s]+(?<class>[\\w\\\\\\[\\]]+)[\\s]*$",
73+
DOC_TYPE_PATTERN_CLASS_SECOND,
74+
DOC_TYPE_PATTERN_CLASS_FIRST
7575
};
7676

7777
private static String[] PROPERTY_SHORTCUTS = new String[] {"get", "is", "has"};

src/main/java/fr/adrienbrault/idea/symfony2plugin/templating/util/TwigUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
* @author Daniel Espendiller <daniel@espendiller.net>
8080
*/
8181
public class TwigUtil {
82-
public static final String DOC_SEE_REGEX_WITHOUT_SEE = "\\{#[\\s]+([-@\\./\\:\\w\\\\\\[\\]]+)[\\s]*#}";
82+
public static final String DOC_SEE_REGEX_WITHOUT_SEE = "([-@\\./\\:\\w\\\\\\[\\]]+)[\\s]*";
8383

8484
/**
8585
* Twig namespace for "non namespace"; its also a reserved value in Twig library

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/templating/util/TwigTypeResolveUtilTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ public void testFindFileVariableDocBlock() {
5454
}
5555

5656
public void testReqExForInlineDocVariables() {
57-
assertMatches("{# @var foo_1 \\AppBundle\\Entity\\MeterValueDTO #}", TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE);
58-
assertMatches("{# @var \\AppBundle\\Entity\\MeterValueDTO foo_1 #}", TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE);
59-
assertMatches("{# foo_1 \\AppBundle\\Entity\\MeterValueDTO #}", TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE);
57+
assertMatches("@var foo_1 \\AppBundle\\Entity\\MeterValueDTO", TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE);
58+
assertMatches("@var \\AppBundle\\Entity\\MeterValueDTO foo_1", TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE);
59+
assertMatches("foo_1 \\AppBundle\\Entity\\MeterValueDTO", TwigTypeResolveUtil.DOC_TYPE_PATTERN_SINGLE);
6060
}
6161

6262
/**

0 commit comments

Comments
 (0)