Coder Social home page Coder Social logo

tempestphp / highlight Goto Github PK

View Code? Open in Web Editor NEW
546.0 7.0 29.0 1.07 MB

🎨 Fast, extensible, server-side code highlighting for web and terminal

Home Page: https://tempest.stitcher.io/highlight/01-getting-started

License: MIT License

PHP 87.38% CSS 12.62%
code highlight php

highlight's Introduction

Fast, extensible, server-side code highlighting

Coverage Status

Quickstart

composer require tempest/highlight

Highlight code like this:

$highlighter = new \Tempest\Highlight\Highlighter();

$code = $highlighter->parse($code, 'php');

Continue reading in the docs: https://tempest.stitcher.io/highlight/01-getting-started.

highlight's People

Contributors

brendt avatar tito10047 avatar assertchris avatar aidan-casey avatar alexgarrettsmith avatar hopeseekr avatar alexrififi avatar atakde avatar benjamincrozat avatar bogdancondorachi avatar kbond avatar geisi avatar timvandijck avatar szepeviktor avatar

Stargazers

Lakatos Tibor avatar Shrey avatar Paul Ryley avatar secondman avatar Kei avatar  avatar Hamid Semitala avatar Mark avatar Baki Goxhaj avatar tricarte avatar Rasso Hilber avatar Victor Bocharsky avatar  avatar hugronaphor avatar martinchvila avatar Jan Poelmans avatar Brandon avatar Radek Štumbauer avatar Adinata avatar Santos Osmin Urrutia avatar Tally Schmeits avatar David Molnar avatar James Doyle avatar Nicolas Bondoux avatar Fabien Bourigault avatar Matthias Althaus avatar Richard Keen avatar Damien Fernandes avatar Marcel Kuhmann avatar Akihito Koriyama avatar Zach Adams avatar Danail Dichev avatar Loïck Piera avatar Egor Shevchik avatar Simon Hamp avatar twent avatar Syed Sirajul Islam Anik avatar Md. Mahbub Helal avatar Michal Borychowski avatar John Freeman avatar  avatar Davor Minchorov avatar Umezaki Takahito avatar MarcS avatar localdisk avatar ahmadrosid avatar Sherwin Harris avatar  avatar Maarten Buis avatar  avatar Willem Turkstra avatar crazy252 avatar Theodore Brown avatar Mladen Draskovic avatar  avatar Taras Shkodenko avatar Si Nguyen avatar Gilbert Rodríguez avatar  avatar Hugo Alliaume avatar Muhammad Amirul Ihsan avatar Devin Hayes avatar Sergei Pankov avatar Marco Germani avatar Raziul Islam avatar Daniel Felix avatar Jonas Pardon avatar Merdan Hojagulyyev avatar Bastien Tanésie avatar Prasanth Jayakumar avatar Jerry Lopez avatar Felix avatar Zeynal avatar  avatar  avatar Hyrran Gustavo Rezende avatar Fitim Vata avatar Aleksander Tabor avatar Godwin Stephen avatar Joe Theuerkauf avatar Touhidur Rahman avatar Ilyosjon Kamoldinov avatar Yılmaz Demir avatar Wouter avatar  avatar Othman J avatar Arthur Monney avatar Harrald Torenvlied avatar Maxime Helias avatar Csaba Kissi avatar Stéphane HULARD avatar Alberto Peripolli avatar Michaël avatar tk avatar Lukas Leitsch avatar tn930 avatar Wesam Alalem avatar Hamza Makraz avatar Orkhan Ahmadov avatar Tony Messias avatar

Watchers

Jacob Dreesen avatar Mario Gzman avatar Peter Ivanov avatar  avatar  avatar  avatar  avatar

highlight's Issues

PHP: Broken keywords

if (is_null($callback) && $abstract instanceof Closure) {

  • && is type
  • ) is type
  • static::$instance static is type
  • value instanceof Closure ? $value : fn () => $value) ? is type

JS: doc comments

I'll need to create a separate implementation for PHP and JS, since types are written differently.

PHP: DNFTs don't work

(Foo&Bar)|null

The problem is with the brackets, which sometimes also match the function definition:

(Foo $bar

highlight support

{_highlight_}
{*higlhight*}
{~blur~}
<span class="hl-em">highlight</span>
<span class="hl-strong">highlight</span>
<span class="hl-blur">highlight</span>

SQL highlighting is needed

SQL is one of the core multi-discipline 4th generation programming languages.

I'd suggest SQL 92 as the base. Here are the keywords:

  • SELECT
  • FROM
  • WHERE
  • INSERT INTO
  • UPDATE
  • DELETE
  • CREATE DATABASE
  • ALTER DATABASE
  • CREATE TABLE
  • ALTER TABLE
  • DROP TABLE
  • CREATE INDEX
  • DROP INDEX
  • JOIN
  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL JOIN
  • UNION
  • UNION ALL
  • INTERSECT
  • EXCEPT
  • IN
  • BETWEEN
  • LIKE
  • NOT
  • AND
  • OR
  • AS
  • DISTINCT
  • GROUP BY
  • ORDER BY
  • HAVING
  • LIMIT
  • OFFSET
  • CASE
  • WHEN
  • THEN
  • ELSE
  • END
  • NULL
  • IS NULL
  • IS NOT NULL
  • EXISTS
  • ANY
  • ALL
  • SOME
  • CAST
  • CONVERT
  • CHAR
  • VARCHAR
  • INT
  • DATE
  • TIMESTAMP

Broken highlighting

use Tempest\Highlight\IsPattern;
use Tempest\Highlight\Pattern;
use Tempest\Highlight\Tokens\TokenType;

final readonly class NamespacePattern implements Pattern
{
    use IsPattern;

    public function getPattern(): string
    {
        return 'namespace (?<match>[\w\\\\]+)';
    }

    public function getTokenType(): TokenType
    {
        return TokenType::TYPE;
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.