@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
at upstream/main 31 lines 876 B view raw
1<?php 2 3final 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}