@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhorgePHPASTViewStreamController
4 extends PhorgePHPASTViewPanelController {
5
6 public function handleRequest(AphrontRequest $request) {
7 $storage = $this->getStorageTree();
8 $err = $storage->getError();
9 $token_stream = $storage->getTokenStream();
10
11 if ($err) {
12 return $this->buildPHPASTViewPanelResponse($err);
13 }
14
15 $tokens = array();
16 foreach ($token_stream as $id => $token) {
17 $seq = $id;
18 $name = $token->getTokenName();
19 $title = pht('Token %d: %s', $seq, $name);
20
21 $tokens[] = phutil_tag(
22 'span',
23 array(
24 'title' => $title,
25 'class' => 'token',
26 ),
27 $token->text);
28 }
29
30 return $this->buildPHPASTViewPanelResponse(
31 phutil_implode_html('', $tokens));
32 }
33}