diff --git a/platform/platform-tests/testSrc/com/intellij/psi/util/NameUtilTest.java b/platform/platform-tests/testSrc/com/intellij/psi/util/NameUtilTest.java index 337f0f43a673..25557ed4462b 100644 --- a/platform/platform-tests/testSrc/com/intellij/psi/util/NameUtilTest.java +++ b/platform/platform-tests/testSrc/com/intellij/psi/util/NameUtilTest.java @@ -123,6 +123,13 @@ public class NameUtilTest extends UsefulTestCase { assertTrue(NameUtil.buildCompletionMatcher(" us", 0, true, true).matches("getMyUsage")); } + public void testStartDot() { + assertMatches("A*.html", "A.html"); + assertMatches("A*.html", "Abc.html"); + assertMatches("A*.html", "after.html"); + assertDoesntMatch("A*.html", "10_after.html"); + } + public void testIDEADEV15503() throws Exception { assertMatches("AR.jsp", "add_relationship.jsp"); assertMatches("AR.jsp", "advanced_rule.jsp"); diff --git a/platform/util/src/com/intellij/psi/codeStyle/NameUtil.java b/platform/util/src/com/intellij/psi/codeStyle/NameUtil.java index 2f1ed27b80c4..7454213968ce 100644 --- a/platform/util/src/com/intellij/psi/codeStyle/NameUtil.java +++ b/platform/util/src/com/intellij/psi/codeStyle/NameUtil.java @@ -449,7 +449,7 @@ public class NameUtil { } if (StringUtil.toLowerCase(name.charAt(nameIndex)) != StringUtil.toLowerCase(myPattern[patternIndex])) { - if (Character.isDigit(name.charAt(nameIndex)) || (name.charAt(nameIndex) == '.' && name.indexOf('.', nameIndex + 1) > 0)) { + if (Character.isDigit(name.charAt(nameIndex)) && nameIndex > 0 || (name.charAt(nameIndex) == '.' && name.indexOf('.', nameIndex + 1) > 0)) { return matchName(name, patternIndex, nameIndex + 1); } return null;