…`), so both syntaxes render as . */ class GfmDeleted extends AbstractFormatting { /** @inheritdoc */ public function getSort() { // Deliberately sorted last: many plugins claim `~~KEYWORD~~` macros // (e.g. ~~TOC~~, ~~NOFOOTER~~) whose opener the strikethrough entry // pattern also matches. A high sort lets those plugins parse first // and keep their syntax; plain ~~text~~ still falls through to here. return 1000; } /** @inheritdoc */ protected function getModeName(): string { return 'gfm_deleted'; } /** @inheritdoc */ protected function getInstructionName(): string { return 'deleted'; } /** @inheritdoc */ protected function getEntryPattern(): string { // Broken down: // (?