nl_tokens: Processes tree node .
pl_tokens: function ( ast ) { ast . traverseByType ( 'block' , function ( node ) { oneline = true ; var dict = { } ; // Gathering Info walk ( { node : node , selector : getPropertyName , getExtraSymbols : extraIndentProperty , payload : function ( info ) { updateDict ( info , dict ) ; } } ) ; walk ( { node : node , selector : getValName , namespaceSelector : getPropertyName , getExtraSymbols : extraIndentVal , payload : function ( info ) { updateDict ( info , dict ) ; } } ) ; if ( oneline && ast . syntax !== 'sass' ) return ; // Update nodes walk ( { node : node , selector : getValName , namespaceSelector : getPropertyName , getExtraSymbols : extraIndentVal , payload : function ( info , i ) { for ( var x = node . get ( i ) . length ; x -- ; ) { if ( node . get ( i ) . get ( x ) . is ( 'value' ) ) break ; } let prevNode = node . get ( i ) . get ( x - 1 ) ; if ( ! prevNode . is ( 'space' ) ) { var space = gonzales . createNode ( { type : 'space' , content : '' } ) ; node . get ( i ) . insert ( x , space ) ; ++ x ; } let <mask> = node . get ( i ) . get ( x - 1 ) . content ; let updatedIndent = updateIndent ( info , dict , content ) ; node . get ( i ) . get ( x - 1 ) . content = updatedIndent ; } } ) ; if ( ast . syntax === 'sass' ) return ; walk ( { node : node , selector : getPropertyName , getExtraSymbols : extraIndentProperty , payload : function ( info , i ) { // `node.get(i - 1)` can be either space or comment: var whitespaceNode = node . get ( i - 1 ) ; if ( ! whitespaceNode ) return ; // If it's a comment, insert an empty space node: if ( ! whitespaceNode . is ( 'space' ) ) { whitespaceNode = gonzales . createNode ( { type : 'space' , content : '' } ) ; node . insert ( i - 1 , whitespaceNode ) ; } let content = whitespaceNode . content ; let updatedContent = updateIndent ( info , dict , content ) ; whitespaceNode . content = updatedContent ; } } ) ; } ) ; }