public void remove ( DocumentFilter . FilterBypass fb , int offset , int length ) throws BadLocationException { // FRICKIN' HACK!!!!! For some reason, deleting a string at offset 0 // does not get done properly, so first replace and remove after parsing if ( offset == 0 && length != fb . getDocument ( ) . getLength ( ) ) { fb . replace ( 0 , length , "\n" , lexer . defaultStyle ) ; // start on either side of the removed text parseDocument ( offset , 2 ) ; fb . remove ( offset , 1 ) ; } else { fb . remove ( offset , length ) ; // start on either side of the removed text if ( offset + 1 < fb . getDocument ( ) . getLength ( ) ) { parseDocument ( offset , 1 ) ; } else if ( offset - 1 > 0 ) { parseDocument ( offset - 1 , 1 ) ; } else { // empty text mlTextRunSet . clear ( ) ; } } }
Remove a string from the document and then parse it if the parser has been set .