don't insert whitespace during extracting inplace

This commit is contained in:
Anna Kozlova
2015-08-27 18:56:55 +03:00
parent 8205a83947
commit f1d0e6732a
@@ -21,8 +21,8 @@ import com.intellij.codeInsight.template.ExpressionContext;
import com.intellij.codeInsight.template.TextResult;
import com.intellij.codeInsight.template.impl.TemplateManagerImpl;
import com.intellij.codeInsight.template.impl.TemplateState;
import com.intellij.lang.ASTNode;
import com.intellij.lang.LanguageTokenSeparatorGenerators;
import com.intellij.lang.*;
import com.intellij.lexer.Lexer;
import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.command.impl.StartMarkAction;
@@ -76,9 +76,12 @@ public abstract class InplaceVariableIntroducer<E extends PsiElement> extends In
myOccurrences = occurrences;
if (expr != null) {
final ASTNode node = expr.getNode();
ASTNode prev = node.getTreePrev();
final ASTNode astNode = LanguageTokenSeparatorGenerators.INSTANCE.forLanguage(expr.getLanguage())
.generateWhitespaceBetweenTokens(node.getTreePrev(), node);
if (astNode != null) {
.generateWhitespaceBetweenTokens(prev, node);
final Lexer lexer = LanguageParserDefinitions.INSTANCE.forLanguage(expr.getLanguage()).createLexer(project);
if (astNode != null &&
LanguageUtil.canStickTokensTogetherByLexer(prev, prev, lexer) == ParserDefinition.SpaceRequirements.MUST) {
PostprocessReformattingAspect.getInstance(project).disablePostprocessFormattingInside(new Runnable() {
@Override
public void run() {