diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java index 8db2a882bfc7..35a34085d035 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java @@ -188,7 +188,7 @@ public class EditorTabsConfigurable implements EditorOptionsProvider { if (temp.trim().length() > 0) { try { int newTabTitleLimit = Integer.parseInt(temp); - newTabTitleLimit = Math.max(10, Math.min(100, newTabTitleLimit)); + newTabTitleLimit = Math.max(25, Math.min(100, newTabTitleLimit)); if (newTabTitleLimit != uiSettings.EDITOR_TAB_TITLE_LIMIT){ uiSettings.EDITOR_TAB_TITLE_LIMIT = newTabTitleLimit; uiSettingsChanged = true; diff --git a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java index b4201c56aa85..1a67d9d5a88c 100644 --- a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java +++ b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java @@ -2674,12 +2674,19 @@ public class StringUtil extends StringUtilRt { continue; } - if (i > 0 && (ch == '/' || ch == '.' || Character.isUpperCase(ch))) { + if (i > 0 && (ch == '/' || ch == '\\' || ch == '.' || Character.isUpperCase(ch))) { words.add(builder.toString()); builder.delete(0, builder.length()); } builder.append(ch); } + for (int i = 0; i < words.size(); i++) { + String word = words.get(i); + if (i < words.size() - 1 && word.length() == 1) { + words.remove(i); + words.set(i, word + words.get(i)); + } + } int removedLength = 0; diff --git a/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java b/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java index 46b7da7c734c..383c07f2a87e 100644 --- a/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java +++ b/platform/util/testSrc/com/intellij/util/text/StringUtilTest.java @@ -197,7 +197,7 @@ public class StringUtilTest extends TestCase { } public void testShortened() { - String[] names = {"AVeryVeeryLongClassName.java", "com.test.SomeJAVAClassName.java", "strangelowercaseclassname.java", "PrefixPostfix.java"}; + String[] names = {"AVeryVeeryLongClassName.java", "com.test.SomeJAVAClassName.java", "strangelowercaseclassname.java", "PrefixPostfix.java", "SomeJAVAClassName.java"}; for (String name : names) { for (int i = name.length() + 1; i > 15; i--) { String shortened = StringUtil.getShortened(name, i);