// (eg: ++, --, +, -) and the identifier being modified.
if (previousToken == TokenNamePLUS_PLUS
|| previousToken == TokenNameMINUS_MINUS
+ || (previousToken == TokenNameMINUS_GREATER &&
+ options.compactDereferencingMode) // ->
|| (previousToken == TokenNamePLUS && unarySignModifier > 0)
|| (previousToken == TokenNameMINUS && unarySignModifier > 0)) {
pendingSpace = false;
7) in an assignment statement, if the previous token is an
open brace or the current token is a close brace
8) previous token is a single line comment
+ 9) current token is a '->'
*/
+ if (token == TokenNameMINUS_GREATER &&
+ options.compactDereferencingMode) pendingSpace = false;
+
boolean openAndCloseBrace = previousCompilableToken == TokenNameLBRACE && token == TokenNameRBRACE;
if (pendingSpace
public static final String OPTION_CompactAssignment = "net.sourceforge.phpeclipse.core.formatter.style.assignment"; //$NON-NLS-1$
public static final String OPTION_TabulationChar = "net.sourceforge.phpeclipse.core.formatter.tabulation.char"; //$NON-NLS-1$
public static final String OPTION_TabulationSize = "net.sourceforge.phpeclipse.core.formatter.tabulation.size"; //$NON-NLS-1$
-
+ public static final String OPTION_CompactDereferencing = "net.sourceforge.phpeclipse.core.formatter.style.assignment";
+ // TODO: add the checkbox in the preferences panel ; load/save
+
public static final String INSERT = "insert"; //$NON-NLS-1$
public static final String DO_NOT_INSERT = "do not insert"; //$NON-NLS-1$
public static final String PRESERVE_ONE = "preserve one"; //$NON-NLS-1$
public boolean compactAssignmentMode = false;
// if isTrue, assignments look like x= 12 (not like x = 12);
+ public boolean compactDereferencingMode = true;
+ // if isTrue, dereferencing look like $obj->method (not like $obj -> method);
//number of consecutive spaces used to replace the tab char
public int tabSize = 4; // n spaces for one tab
public boolean isCompactingAssignment() {
return compactAssignmentMode;
}
+ public boolean isCompactingDereferencing() {
+ return compactDereferencingMode;
+ }
// public boolean isCompactingElseIf() {
// return compactElseIfMode;
// }