From 2a2c7a2b7fe830e646fb836af46cba2280a225d0 Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Mon, 5 Dec 2011 15:20:00 +0400 Subject: [PATCH] extensibility points for haml parser[r=oleg] --- .../com/intellij/indentation/IndentationParser.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/indentation/IndentationParser.java b/platform/lang-impl/src/com/intellij/indentation/IndentationParser.java index 76b41402461d..7edfc9f94405 100644 --- a/platform/lang-impl/src/com/intellij/indentation/IndentationParser.java +++ b/platform/lang-impl/src/com/intellij/indentation/IndentationParser.java @@ -79,7 +79,7 @@ public abstract class IndentationParser implements PsiParser { currentIndent = 0; } } - builder.advanceLexer(); + advanceLexer(builder); } // Close all left opened markers @@ -90,10 +90,20 @@ public abstract class IndentationParser implements PsiParser { stack.pop().second.done(myBlockElementType); } + return buildTree(fileMarker, builder, root); + } + + protected ASTNode buildTree(final PsiBuilder.Marker fileMarker, + final PsiBuilder builder, + final IElementType root) { fileMarker.done(root); return builder.getTreeBuilt(); } + protected void advanceLexer(PsiBuilder builder) { + builder.advanceLexer(); + } + private void passEOLsAndIndents(final PsiBuilder builder) { IElementType tokenType = builder.getTokenType(); while (tokenType == myEolTokenType || tokenType == myIndentTokenType){