From 3dbc81944422026674f842ee7de6b1a7140e394b Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Tue, 24 Dec 2013 18:58:45 +0400 Subject: [PATCH] SASS: make declaration block lazy --- .../indentation/AbstractIndentParser.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/indentation/AbstractIndentParser.java b/platform/lang-impl/src/com/intellij/indentation/AbstractIndentParser.java index a298b73fda23..f159acd70915 100644 --- a/platform/lang-impl/src/com/intellij/indentation/AbstractIndentParser.java +++ b/platform/lang-impl/src/com/intellij/indentation/AbstractIndentParser.java @@ -186,6 +186,22 @@ public abstract class AbstractIndentParser implements PsiParser { } } + public void recalculateCurrentIndent() { + int i = 0; + int firstIndentOffset = myBuilder.getCurrentOffset(); + while (myBuilder.rawLookup(i) != null && myBuilder.rawLookup(i) != getEolElementType()) { + firstIndentOffset = myBuilder.rawTokenTypeStart(i); + i--; + } + int lastIndentOffset = firstIndentOffset; + i++; + while (myBuilder.rawLookup(i) == getIndentElementType()) { + i++; + lastIndentOffset = myBuilder.rawTokenTypeStart(i); + } + myCurrentIndent = lastIndentOffset - firstIndentOffset; + } + protected void advanceUntil(TokenSet tokenSet) { while (getTokenType() != null && !isNewLine() && !tokenSet.contains(getTokenType())) { advance();