X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java index 420ed30..b272fbd 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/formatter/CodeFormatter.java @@ -372,6 +372,11 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { } if (token == Scanner.TokenNameEOF) break; + if (token == Scanner.TokenNameHEREDOC || token == Scanner.TokenNameINLINE_HTML) { + // no indentation for heredocs and HTML ! + outputCurrentTokenWithoutIndent(Scanner.TokenNameHEREDOC); + continue; + } /* * ## MODIFYING the indentation level before generating new lines and indentation in the output string */ @@ -612,6 +617,7 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { break; case TokenNameswitch: case TokenNamefor: + case TokenNameforeach: case TokenNameif: case TokenNamewhile: if (openParenthesisCount == openParenthesis.length) { @@ -722,6 +728,7 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { if (constructionsCount > 0) { switch (constructions[constructionsCount - 1]) { case TokenNamefor: + case TokenNameforeach: //indentationLevel += popExclusiveUntilBlock(); //break; case TokenNameswitch: @@ -1418,7 +1425,7 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { // |= (15.25.2) return "|="; //$NON-NLS-1$ case TokenNameDOT_EQUAL: - // .= + // .= return ".="; //$NON-NLS-1$ case TokenNameDOT: // . @@ -1442,6 +1449,11 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { } } + private void outputCurrentTokenWithoutIndent(int token) { + newLine(0); + formattedSource.append(scanner.source, scanner.startPosition, scanner.currentPosition - scanner.startPosition); + } + /** * Appends token to the formatted output.
* If it contains \n, append a LINE_SEPARATOR and indent after it. @@ -1906,7 +1918,8 @@ public class CodeFormatter implements ITerminalSymbols, ICodeFormatter { //return (currentToken == TokenNameCOMMA || currentToken == // TokenNameSEMICOLON); return currentToken != TokenNameif && currentToken != TokenNameLPAREN && currentToken != TokenNameNOT - && currentToken != TokenNamewhile && currentToken != TokenNamefor && currentToken != TokenNameswitch; + && currentToken != TokenNamewhile && currentToken != TokenNamefor && currentToken != TokenNameforeach + && currentToken != TokenNameswitch; } /**