Add source links and a little documentation about Diviner
Summary: Ref T988. Links up the "Declared:" property to point at a repository browser, if one exists. Test Plan: Viewed a class document, saw a link, clicked it, got the definition. Reviewers: btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T988 Differential Revision: https://secure.phabricator.com/D6820
This commit is contained in:
@@ -100,11 +100,7 @@ final class DivinerAtomController extends DivinerController {
|
||||
$group_name = null;
|
||||
}
|
||||
|
||||
$properties->addProperty(
|
||||
pht('Defined'),
|
||||
$atom->getFile().':'.$atom->getLine());
|
||||
|
||||
|
||||
$this->buildDefined($properties, $symbol);
|
||||
$this->buildExtendsAndImplements($properties, $symbol);
|
||||
|
||||
$warnings = $atom->getWarnings();
|
||||
@@ -281,4 +277,32 @@ final class DivinerAtomController extends DivinerController {
|
||||
return $implements;
|
||||
}
|
||||
|
||||
private function buildDefined(
|
||||
PhabricatorPropertyListView $view,
|
||||
DivinerLiveSymbol $symbol) {
|
||||
|
||||
$atom = $symbol->getAtom();
|
||||
$defined = $atom->getFile().':'.$atom->getLine();
|
||||
|
||||
$link = $symbol->getBook()->getConfig('uri.source');
|
||||
if ($link) {
|
||||
$link = strtr(
|
||||
$link,
|
||||
array(
|
||||
'%%' => '%',
|
||||
'%f' => phutil_escape_uri($atom->getFile()),
|
||||
'%l' => phutil_escape_uri($atom->getLine()),
|
||||
));
|
||||
$defined = phutil_tag(
|
||||
'a',
|
||||
array(
|
||||
'href' => $link,
|
||||
'target' => '_blank',
|
||||
),
|
||||
$defined);
|
||||
}
|
||||
|
||||
$view->addProperty(pht('Defined'), $defined);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user