js multiline string literals consider '\n' escape sequence to be equivalent to actual newline.

When formatting injection, allow formatter to consider it same whitespace.
Fixes WEB-25477
This commit is contained in:
Maxim Kropotov
2017-02-16 15:46:31 +03:00
parent f652637513
commit 926b28246f
@@ -141,6 +141,11 @@ public class FormattingDocumentModelImpl implements FormattingDocumentModel {
if (!injectedLanguage.equals(myFile.getLanguage())) {
WhiteSpaceFormattingStrategy localStrategy = WhiteSpaceFormattingStrategyFactory.getStrategy(injectedLanguage);
if (localStrategy != null) {
String unescapedText = InjectedLanguageUtil.getUnescapedLeafText(injectedElement, true);
if (unescapedText != null) {
return localStrategy.check(unescapedText, 0, unescapedText.length()) >= unescapedText.length();
}
return localStrategy.check(myDocument.getCharsSequence(), startOffset, endOffset) >= endOffset;
}
}