mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 05:15:04 +00:00
16 lines
511 B
TypeScript
16 lines
511 B
TypeScript
export class LineBuffer {
|
|
private outBuffer: string = '';
|
|
|
|
public processOutput(chunk: string, cb: (line: string) => void) {
|
|
this.outBuffer += chunk;
|
|
let eolIndex = this.outBuffer.indexOf('\n');
|
|
while (eolIndex >= 0) {
|
|
// line includes the EOL
|
|
const line = this.outBuffer.slice(0, eolIndex + 1);
|
|
cb(line);
|
|
this.outBuffer = this.outBuffer.slice(eolIndex + 1);
|
|
|
|
eolIndex = this.outBuffer.indexOf('\n');
|
|
}
|
|
}
|
|
}
|