xref: /dokuwiki/inc/Parsing/ParserMode/Camelcaselink.php (revision 71096e46fcbfaeaa808667aba794e77fe2780169)
1<?php
2
3namespace dokuwiki\Parsing\ParserMode;
4
5use dokuwiki\Parsing\Handler;
6
7class Camelcaselink extends AbstractMode
8{
9    /** @inheritdoc */
10    public function getSort()
11    {
12        return 290;
13    }
14
15    /** @inheritdoc */
16    public function connectTo($mode)
17    {
18        $this->Lexer->addSpecialPattern(
19            '\b[A-Z]+[a-z]+[A-Z][A-Za-z]*\b',
20            $mode,
21            'camelcaselink'
22        );
23    }
24
25    /** @inheritdoc */
26    public function handle($match, $state, $pos, Handler $handler)
27    {
28        $handler->addCall('camelcaselink', [$match], $pos);
29        return true;
30    }
31}
32