jinja icon indicating copy to clipboard operation
jinja copied to clipboard

Allow to customize some behaviors of Lexer, so that Extension instances get can the raw block begin and end info.

Open frankdu opened this issue 1 year ago • 0 comments

Problem: Currently, the "data" tokens don't have the information about if the "data" is inside the raw/endraw block, or not. This limit the Extension object's ability to treat the "data" tokens differently. I'm developing a jinja extension which is limited by this.

Feature:

  1. Allow Lexer to optionally choose to emit the raw_begin and raw_end tokens, v.s. ignore them (current behaviors)
  2. Allow Environment to switch the lexer provider, so that you can inject your customized Lexer instances. For example, a customized one when an Extension is added, or when it's in testing.

frankdu avatar Apr 10 '24 21:04 frankdu