PHP code example of mbolli / tempest-highlight-datastar

1. Go to this page and download the library: Download mbolli/tempest-highlight-datastar library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

mbolli / tempest-highlight-datastar example snippets


use Mbolli\TempestHighlightDatastar\Html\DatastarHtmlLanguage;
use Tempest\Highlight\Highlighter;

$highlighter = new Highlighter();
$highlighter->addLanguage(new DatastarHtmlLanguage());

// Use by name or alias
$html = $highlighter->parse($code, 'datastar-html');
$html = $highlighter->parse($code, 'datastar');

$html = $highlighter->parse($code, new DatastarHtmlLanguage());

use Mbolli\TempestHighlightDatastar\Twig\DatastarTwigLanguage;

$highlighter->addLanguage(new DatastarTwigLanguage());
$html = $highlighter->parse($code, 'datastar-twig');

use Mbolli\TempestHighlightDatastar\Html\DatastarHtmlLanguage;
use Tempest\Highlight\Languages\Blade\Injections\BladeEchoInjection;
use Tempest\Highlight\Languages\Blade\Injections\BladeKeywordInjection;
use Tempest\Highlight\Languages\Blade\Injections\BladePhpInjection;
use Tempest\Highlight\Languages\Blade\Injections\BladeRawEchoInjection;
use Tempest\Highlight\Languages\Blade\Patterns\BladeComponentCloseTagPattern;
use Tempest\Highlight\Languages\Blade\Patterns\BladeComponentOpenTagPattern;

final class DatastarBladeLanguage extends DatastarHtmlLanguage {
    #[\Override]
    public function getName(): string {
        return 'datastar-blade';
    }

    /** @return list<string> */
    #[\Override]
    public function getAliases(): array {
        return [];
    }

    #[\Override]
    public function getInjections(): array {
        return [
            ...parent::getInjections(),
            new BladeKeywordInjection(),
            new BladePhpInjection(),
            new BladeEchoInjection(),
            new BladeRawEchoInjection(),
        ];
    }

    #[\Override]
    public function getPatterns(): array {
        return [
            ...parent::getPatterns(),
            new BladeComponentOpenTagPattern(),
            new BladeComponentCloseTagPattern(),
        ];
    }
}