1
0
mirror of https://github.com/alecthomas/chroma.git synced 2025-03-19 21:10:15 +02:00

5 Commits

Author SHA1 Message Date
Cameron Moore
59126c5b32
Add NewLazyLexer to defer rules definitions and reduce init costs (#449)
Add NewLazyLexer and MustNewLazyLexer which accept a function that
returns the rules for the lexer.  This allows us to defer the rules
definitions until they're needed.

Lexers in a, g, s, and x packages have been updated to use the new lazy
lexer.
2021-02-08 12:16:49 +11:00
Alec Thomas
20b4f5f89b Revert float pattern for C++.
Fixes #290.
2019-10-05 22:53:51 +10:00
Jonathan Poelen
6a3320f1b7 Fix several errors with c++
- add attribute ([[...]])
- add c++20 keywords
- add hexadecimal floatting point
- add digits separator
- fix unamed class/union/struct/enum (fix #272)
- fix function name detection
2019-09-01 13:11:26 +10:00
Jonathan Poelen
1b755a90bd c++: fix highlighting of the 'class' keyword
C++ highlighting ignores class keyword if it is not followed by a space

template<class T> struct X; // ok
template<class> struct X; // fails
template<class...> struct X; // fails
X<class::Y> x; // fails
2018-05-15 10:27:52 +10:00
Alec Thomas
563aadc53c Moved lexers into alphabetical sub-packages.
This was done to speed up incremental compilation when working on
lexers. That is, modifying a single lexer will no longer require
recompiling all lexers.

This is a (slightly) backwards breaking change in that lexers are no
longer exported directly in the lexers package. The registry API is
"aliased" at the old location.
2018-02-15 21:09:02 +11:00