class documentation

class ErbLexer(Lexer):

View In Hierarchy

Generic ERB (Ruby Templating) lexer.

Just highlights ruby code between the preprocessor directives, other data is left untouched by the lexer.

All options are also forwarded to the RubyLexer.

Method __init__ Undocumented
Method analyse​_text No summary
Method get​_tokens​_unprocessed Since ERB doesn't allow "<%" and other tags inside of ruby blocks we have to use a split approach here that fails for that too.
Class Variable ​_block​_re Undocumented
Class Variable aliases Undocumented
Class Variable mimetypes Undocumented
Class Variable name Undocumented
Instance Variable ruby​_lexer Undocumented

Inherited from Lexer:

Method get​_tokens Return an iterable of (tokentype, value) pairs generated from text. If unfiltered is set to True, the filtering mechanism is bypassed even if filters are defined.
Class Variable alias​_filenames Undocumented
Class Variable filenames Undocumented
Method __repr__ Undocumented
Method add​_filter Add a new stream filter to this lexer.
Class Variable priority Undocumented
Instance Variable encoding Undocumented
Instance Variable ensurenl Undocumented
Instance Variable filters Undocumented
Instance Variable options Undocumented
Instance Variable stripall Undocumented
Instance Variable stripnl Undocumented
Instance Variable tabsize Undocumented
def __init__(self, **options):

Undocumented

def analyse_text(text):

Has to return a float between 0 and 1 that indicates if a lexer wants to highlight this text. Used by guess_lexer. If this method returns 0 it won't highlight it in any case, if it returns 1 highlighting with this lexer is guaranteed.

The LexerMeta metaclass automatically wraps this function so that it works like a static method (no self or cls parameter) and the return value is automatically converted to float. If the return value is an object that is boolean False it's the same as if the return values was 0.0.

def get_tokens_unprocessed(self, text):
Since ERB doesn't allow "<%" and other tags inside of ruby blocks we have to use a split approach here that fails for that too.
_block_re =

Undocumented

aliases: list[str] =

Undocumented

mimetypes: list[str] =

Undocumented

name: str =

Undocumented

ruby_lexer =

Undocumented