Changeset View
Changeset View
Standalone View
Standalone View
src/markup/syntax/engine/PhutilSyntaxHighlighterEngine.php
| <?php | <?php | ||||
| abstract class PhutilSyntaxHighlighterEngine { | abstract class PhutilSyntaxHighlighterEngine extends Phobject { | ||||
| abstract public function setConfig($key, $value); | abstract public function setConfig($key, $value); | ||||
| abstract public function getHighlightFuture($language, $source); | abstract public function getHighlightFuture($language, $source); | ||||
| abstract public function getLanguageFromFilename($filename); | abstract public function getLanguageFromFilename($filename); | ||||
| final public function highlightSource($language, $source) { | final public function highlightSource($language, $source) { | ||||
| try { | try { | ||||
| return $this->getHighlightFuture($language, $source)->resolve(); | return $this->getHighlightFuture($language, $source)->resolve(); | ||||
| } catch (PhutilSyntaxHighlighterException $ex) { | } catch (PhutilSyntaxHighlighterException $ex) { | ||||
| return id(new PhutilDefaultSyntaxHighlighter()) | return id(new PhutilDefaultSyntaxHighlighter()) | ||||
| ->getHighlightFuture($source) | ->getHighlightFuture($source) | ||||
| ->resolve(); | ->resolve(); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||