nl_tokens: Create default delimiters and tags
pl_tokens: function ( ) { if ( this . isInitialized ) return ; this . isInitialized = true ; var lexer = this ; this . lineno = 1 ; this . column = 1 ; this . lexed = '' ; this . file = utils . normalize ( this . file ) ; this . file . orig = this . file . contents ; this . input = this . file . contents . toString ( ) ; this . file . ast = this . ast ; this . file . ast . variables = { } ; this . file . ast . blocks = { } ; this . input = this . input . split ( '{% body %}' ) . join ( '{% block "body" %}{% endblock %}' ) ; if ( this . file . extends ) { this . prependNode ( this . file , 'extends' ) ; } /**
       * Tags
       */ this . captureTag ( 'extends' ) ; this . captureTag ( 'layout' ) ; /**
       * Block tags
       */ this . captureBlock ( 'block' ) ; /**
       * Captures
       */ this . capture ( 'text' , utils . negateDelims ( this . delimiters ) ) ; this . capture ( 'newline' , / ^\n+ / ) ; this . capture ( 'es6' , / ^\$\{([^\\}]*(?:\\.[^\\}]*)*)\} / ) ; this . capture ( 'variable' , / ^\{{2,}([^\\}]*(?:\\.[^\\}]*)*)\}{2,} / ) ; this . capture ( 'escape' , / ^\\(.) / ) ; this . capture ( 'space' , / ^[ \t]+ / ) ; /**
       * Custom helpers
       */ var helpers = this . options . helpers || { } ; if ( utils . isObject ( helpers ) ) { helpers = Object . <mask> ( helpers ) ; } helpers . forEach ( function ( key ) { lexer . known . blocks . push ( key ) ; lexer . captureBlock ( key ) ; } ) ; /**
       * Add other names to return un-rendered
       */ var matches = this . input . match ( / \{%\s*([^%}]+) / g ) ; var names = utils . getNames ( matches ) ; names . tags . forEach ( function ( key ) { if ( ! utils . isRegistered ( lexer , key ) ) { lexer . unknown . tags . push ( key ) ; lexer . captureTag ( key ) ; } } ) ; names . blocks . forEach ( function ( key ) { if ( ! utils . isRegistered ( lexer , key ) ) { lexer . unknown . blocks . push ( key ) ; lexer . captureBlock ( key ) ; } } ) ; }