Maybe you could add a buffer in your flow of data, storing the incoming data ? When a line ending arrives, you can flush your buffer to Synedit up to the line ending, keeping in the buffer just the end of the data not yet terminated by a line ending.