String (@NotNull SemanticEditorPosition currPosition) { CharSequence docChars = myEditor.getDocument().getCharsSequence(); int offset = currPosition.getStartOffset(); if (offset > 0) { int indentLineOffset = myBaseLineOffsetCalculator.getOffsetInBaseIndentLine(currPosition); if (indentLineOffset > 0) { int indentStart = CharArrayUtil.shiftBackwardUntil(docChars, indentLineOffset, "\n") + 1; if (indentStart >= 0) { int indentEnd = CharArrayUtil.shiftForward(docChars, indentStart, " \t"); if (indentEnd > indentStart) { return docChars.subSequence(indentStart, indentEnd).toString(); } } } } return ""; }