From b9265da3819fc0a02b4dcd721252159240c1fa7a Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Mon, 22 Apr 2013 14:53:10 +0200 Subject: [PATCH] optimization to avoid complete line scanning searching for tabs if we are really interested for [start, start + columnNumber] range --- .../src/com/intellij/openapi/editor/ex/util/EditorUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java index d0f01dac2554..6f502f49655a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java @@ -301,7 +301,8 @@ public class EditorUtil { boolean useOptimization = true; boolean hasNonTabs = false; boolean hasTabs = false; - for (int i = start; i < end; i++) { + int scanEndOffset = Math.min(end, start + columnNumber + 1); + for (int i = start; i < scanEndOffset; i++) { char c = text.charAt(i); if (debugBuffer != null) { debugBuffer.append(String.format("Found symbol '%c' at the offset %d%n", c, i));