nl_tokens: formatting is not applied to ranges that contain parse errors . This function will return a predicate that for a given text range will tell if there are any parse errors that overlap with the range .
pl_tokens: function prepareRangeContainsErrorFunction ( errors , originalRange ) { if ( ! errors . length ) { return rangeHasNoErrors ; } // pick only errors that fall in range var sorted = errors . filter ( function ( d ) { return <mask> . rangeOverlapsWithStartEnd ( originalRange , d . start , d . start + d . length ) ; } ) . sort ( function ( e1 , e2 ) { return e1 . start - e2 . start ; } ) ; if ( ! sorted . length ) { return rangeHasNoErrors ; } var index = 0 ; return function ( r ) { // in current implementation sequence of arguments [r1, r2...] is monotonically increasing. // 'index' tracks the index of the most recent error that was checked. while ( true ) { if ( index >= sorted . length ) { // all errors in the range were already checked -> no error in specified range return false ; } var error = sorted [ index ] ; if ( r . end <= error . start ) { // specified range ends before the error refered by 'index' - no error in range return false ; } if ( ts . startEndOverlapsWithStartEnd ( r . pos , r . end , error . start , error . start + error . length ) ) { // specified range overlaps with error range return true ; } index ++ ; } } ; function rangeHasNoErrors ( r ) { return false ; } }