nl_tokens: Expand argument string into an array respecting space between special characters .
pl_tokens: function expandArgs ( val , match , safe ) { if ( Array . isArray ( val ) ) return val . slice ( 0 ) ; // always slice to clone. match = <mask> || [ '"' , "'" ] ; safe = safe || [ '[' , ']' , '<' , '>' ] ; function replacer ( p , c ) { p . a [ p . a . length - 1 ] += c . replace ( / \\(.) / , '$1' ) ; } var all = safe . concat ( match ) ; var result = val . match ( / \\?.|^$ / g ) . reduce ( function ( p , c ) { if ( ~ all . indexOf ( c ) ) { p . quote ^= 1 ; if ( ~ safe . indexOf ( c ) ) replacer ( p , c ) ; } else if ( ! p . quote && c === ' ' ) p . a . push ( '' ) ; else replacer ( p , c ) ; return p ; } , { a : [ '' ] , e : false } ) . a ; return result ; }