Skip to content

Commit 9fd9350

Browse files
committed
switch back to token-oriented formatting
1 parent 0bff87c commit 9fd9350

File tree

1 file changed

+94
-95
lines changed

1 file changed

+94
-95
lines changed

PHP/CodeFormatter/Formatter.php

Lines changed: 94 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
* @link https://github.com/DennisBecker/php-code-formatter
4242
*/
4343

44-
4544
namespace PHP\CodeFormatter;
4645

4746
use PHP\CodeFormatter\Tokenizer;
@@ -90,104 +89,104 @@ public function format($source)
9089
$tokens = $this->tokenizer->tokenize($source);
9190
$output = '';
9291

93-
$lines = array();
94-
$indentLine = false;
95-
$indentNextLine = false;
96-
$usedKeys = array();
97-
foreach ($tokens as $key => $token) {
98-
if(in_array($key, $usedKeys)) {
99-
continue;
100-
}
101-
102-
if ($indentNextLine) {
103-
$indentLine = true;
104-
$indentNextLine = false;
105-
}
106-
107-
$lineCount = count($lines);
108-
$lines[$lineCount] = '';
109-
switch ($token->getName()) {
110-
case 'T_OPEN_TAG':
111-
$lines[$lineCount] .= $this->standard->getOpenTag();
112-
break;
113-
case 'T_CLASS':
114-
$usedKeys[] = $key+1;
115-
$lines[$lineCount] .= $token->getContent() . " " . $tokens[$key+1]->getContent();
116-
break;
117-
case 'T_CLASS_OPEN_CURLY_BRACKET':
118-
if($this->standard->isClassOpenCurlyBracketOnSameLine()) {
119-
$lines[$lineCount-1] .= " " . $token->getContent();
120-
unset($lines[$lineCount]);
121-
} else {
122-
$lines[$lineCount] .= $token->getContent();
123-
}
124-
125-
$this->standard->increaseIndent();
126-
$indentNextLine = true;
127-
break;
128-
case 'T_PUBLIC':
129-
$lines[$lineCount] .= $token->getContent() . " ";
130-
$i = 1;
131-
$addStrings = array();
132-
while ($tokens[$key+$i]->getContent() != '(') {
133-
$usedKeys[] = $key+$i;
134-
$addStrings[] = $tokens[$key+$i]->getContent();
135-
++$i;
136-
}
137-
$lines[$lineCount] .= implode(' ', $addStrings);
138-
// var_dump($tokens[$key+$i]->getContent());
139-
// $lines[$lineCount] .= $tokens[$key+$i]->getContent();
140-
// $usedKeys[] = $key+$i;
141-
142-
while ($tokens[$key+$i]->getContent() != '{') {
143-
$usedKeys[] = $key+$i;
144-
$lines[$lineCount] .= $tokens[$key+$i]->getContent();
145-
if ($tokens[$key+$i]->getContent() == ',') {
146-
$lines[$lineCount] .= " ";
147-
}
148-
++$i;
149-
}
150-
break;
151-
case 'T_FUNCTION_OPEN_CURLY_BRACKET':
152-
if($this->standard->isFunctionOpenCurlyBracketOnSameLine()) {
153-
$lines[$lineCount-1] .= " " . $token->getContent();
154-
unset($lines[$lineCount]);
155-
} else {
156-
$lines[$lineCount] .= $token->getContent();
157-
}
158-
159-
$this->standard->increaseIndent();
160-
break;
161-
case 'T_IF':
162-
$lines[$lineCount] .= $token->getContent();
163-
break;
164-
default:
165-
var_dump($token);
166-
var_dump($lines);
167-
die();
168-
}
169-
170-
if($indentLine && $lines[$lineCount] != '') {
171-
$lines[$lineCount] = $this->standard->addIndent() . $lines[$lineCount];
172-
}
173-
}
174-
175-
var_dump($lines);
176-
die();
177-
178-
// foreach ($tokens as $token) {
92+
// $lines = array();
93+
// $indentLine = false;
94+
// $indentNextLine = false;
95+
// $usedKeys = array();
96+
// foreach ($tokens as $key => $token) {
97+
// if(in_array($key, $usedKeys)) {
98+
// continue;
99+
// }
100+
//
101+
// if ($indentNextLine) {
102+
// $indentLine = true;
103+
// $indentNextLine = false;
104+
// }
105+
//
106+
// $lineCount = count($lines);
107+
// $lines[$lineCount] = '';
108+
// switch ($token->getName()) {
109+
// case 'T_OPEN_TAG':
110+
// $lines[$lineCount] .= $this->standard->getOpenTag();
111+
// break;
112+
// case 'T_CLASS':
113+
// $usedKeys[] = $key+1;
114+
// $lines[$lineCount] .= $token->getContent() . " " . $tokens[$key+1]->getContent();
115+
// break;
116+
// case 'T_CLASS_OPEN_CURLY_BRACKET':
117+
// if($this->standard->isClassOpenCurlyBracketOnSameLine()) {
118+
// $lines[$lineCount-1] .= " " . $token->getContent();
119+
// unset($lines[$lineCount]);
120+
// } else {
121+
// $lines[$lineCount] .= $token->getContent();
122+
// }
123+
//
124+
// $this->standard->increaseIndent();
125+
// $indentNextLine = true;
126+
// break;
127+
// case 'T_PUBLIC':
128+
// $lines[$lineCount] .= $token->getContent() . " ";
129+
// $i = 1;
130+
// $addStrings = array();
131+
// while ($tokens[$key+$i]->getContent() != '(') {
132+
// $usedKeys[] = $key+$i;
133+
// $addStrings[] = $tokens[$key+$i]->getContent();
134+
// ++$i;
135+
// }
136+
// $lines[$lineCount] .= implode(' ', $addStrings);
137+
//// var_dump($tokens[$key+$i]->getContent());
138+
//// $lines[$lineCount] .= $tokens[$key+$i]->getContent();
139+
//// $usedKeys[] = $key+$i;
140+
//
141+
// while ($tokens[$key+$i]->getContent() != '{') {
142+
// $usedKeys[] = $key+$i;
143+
// $lines[$lineCount] .= $tokens[$key+$i]->getContent();
144+
// if ($tokens[$key+$i]->getContent() == ',') {
145+
// $lines[$lineCount] .= " ";
146+
// }
147+
// ++$i;
148+
// }
149+
// break;
150+
// case 'T_FUNCTION_OPEN_CURLY_BRACKET':
151+
// if($this->standard->isFunctionOpenCurlyBracketOnSameLine()) {
152+
// $lines[$lineCount-1] .= " " . $token->getContent();
153+
// unset($lines[$lineCount]);
154+
// } else {
155+
// $lines[$lineCount] .= $token->getContent();
156+
// }
157+
//
158+
// $this->standard->increaseIndent();
159+
// break;
160+
// case 'T_IF':
161+
// $lines[$lineCount] .= $token->getContent();
162+
// break;
163+
// default:
164+
// var_dump($token);
165+
// var_dump($lines);
166+
// die();
167+
// }
179168
//
180-
// $methodName = $this->buildMethodName($token->getName());
181-
// if (method_exists($this->standard, $methodName)) {
182-
// $output .= $this->standard->$methodName($token);
183-
// } else {
184-
// echo "Unimplemented method '$methodName'\n";
185-
// var_dump($token);
186-
// die();
169+
// if($indentLine && $lines[$lineCount] != '') {
170+
// $lines[$lineCount] = $this->standard->addIndent() . $lines[$lineCount];
187171
// }
188172
// }
189173
//
190-
// var_dump($output);
174+
// var_dump($lines);
175+
// die();
176+
177+
foreach ($tokens as $token) {
178+
179+
$methodName = $this->buildMethodName($token->getName());
180+
if (method_exists($this->standard, $methodName)) {
181+
$output .= $this->standard->$methodName($token);
182+
} else {
183+
echo "Unimplemented method '$methodName'\n";
184+
var_dump($token);
185+
die();
186+
}
187+
}
188+
189+
var_dump($output);
191190
}
192191

193192
/**

0 commit comments

Comments
 (0)