int (int col, int lineNumber, int lineStartOffset) { CharSequence text = myDocumentWindow.getImmutableCharSequence(); int tabSize = EditorUtil.getTabSize(myDelegate); int end = myDocumentWindow.getLineEndOffset(lineNumber); int currentColumn = 0; for (int i = lineStartOffset; i < end; i++) { char c = text.charAt(i); if (c == '\t') { currentColumn = (currentColumn / tabSize + 1) * tabSize; } else { currentColumn++; } if (col < currentColumn) return i; } return end; }