Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/infrastructure/markup/PhabricatorSyntaxHighlighter.php
12241 views
1
<?php
2
3
final class PhabricatorSyntaxHighlighter extends Phobject {
4
5
public static function newEngine() {
6
$engine = PhabricatorEnv::newObjectFromConfig('syntax-highlighter.engine');
7
8
$config = array(
9
'pygments.enabled' => PhabricatorEnv::getEnvConfig('pygments.enabled'),
10
'filename.map' => PhabricatorEnv::getEnvConfig('syntax.filemap'),
11
);
12
13
foreach ($config as $key => $value) {
14
$engine->setConfig($key, $value);
15
}
16
17
return $engine;
18
}
19
20
public static function highlightWithFilename($filename, $source) {
21
$engine = self::newEngine();
22
$language = $engine->getLanguageFromFilename($filename);
23
return $engine->highlightSource($language, $source);
24
}
25
26
public static function highlightWithLanguage($language, $source) {
27
$engine = self::newEngine();
28
return $engine->highlightSource($language, $source);
29
}
30
31
}
32
33