{% from 'utils.html' import apply_dattrs, apply_classes %} {%- macro inline_code(code) %} {{ code }} {% endmacro -%} {%- macro code(code, lang='json') %}
        {{ code }}
    
{% endmacro -%} {%- macro tokenize_code(code, delimiter=' ', use_pre=True, use_code=True, classes=[], token_classes={}, token_dattrs={}, replacers=[], wrap_all=True) %} {# Convert a code string into a code block with span wrappers for all matching tokens specified. All values in `token_classes` will be used as classes to apply to each token wrapper. Tokens are determined by splitting on `delimiter`. Unmatched tokens will still be wrapped in a span unless `wrap_all` is False. Usage: tokenize_code( 'FOO bar BAZ "quux"', delimiter=' ', token_dattrs={'BAZ': 'data-val'} token_classes={'FOO': 'foocls'}, replacers=['"'], wrap_all=True, )
        
            FOO
            bar
            BAZ
            quux
        
    
#} {% if use_pre %}
{% endif %}
    {% if use_code %}{% endif %}
        {% for token in code.split(delimiter) %}
            {% if wrap_all %}
                {% set tok = token.strip()|cut(replacers) %}
                {% set _dattrs = token_dattrs.get(tok, [])%}
                {% set _classes = token_classes.get(tok, [])%}
            
                {{ tok }}
            
            {% endif %}
        {% endfor %}
    {% if use_code %}{% endif %}
{% if use_pre %}
{% endif %} {% endmacro -%}