. /** * Code highlighter filter. * * Filter converting text code into a well-styled block of code. * * @package filter_codehighlighter * @copyright 2023 Meirza * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class filter_codehighlighter extends moodle_text_filter { /** * Apply the filter to the text * * @param string $text to be processed by the text * @param array $options filter options * @return string text after processing */ public function filter($text, array $options = []): string { global $PAGE; if (!isset($options['originalformat'])) { return $text; } // The pattern. $re = '//i'; // Stops looking after the first match. preg_match($re, $text, $matches); if ($matches) { $PAGE->requires->js_call_amd('filter_codehighlighter/prism-init'); } return $text; } }