# terminal: Separate raw byte ingestion from text normalization \(\#64586\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/05c2c9aba0fd3560fd60897ef4f1e432479fccab)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 05c2c9aba0fd3560fd60897ef4f1e432479fccab

Requested commit: 05c2c9aba0fd3560fd60897ef4f1e432479fccab

Commit: 05c2c9aba0fd3560fd60897ef4f1e432479fccab

Tree: 926a616a47f0ca2619bcbce51ff508d4b62414a1

Author: Ben Brandt

Committer: GitHub

## Message

```
terminal: Separate raw byte ingestion from text normalization (#64586)

Separate byte-exact terminal ingestion from the existing text-output
normalization as a small preparatory step for ACP terminal streams.

- Extract a private `write_raw_output` primitive that feeds bytes
unchanged into the existing persistent parser.
- Keep `write_output`'s exact per-call LF-to-CRLF behavior, then
delegate to the raw primitive. Current ACP and REPL callers remain
unchanged.
- Reuse lazy parser allocation, startup-marker detection, wakeups, and
existing side-effect filtering. No new parser, state fields, or
ingestion-mode flags.

This ended up being rather small given we aren't adding the streaming
support yet, but mostly wanted to verify that this would work before the
larger change.

Release Notes:

- N/A
```

## Parents

- [2a4157111cbb814b3a2889feeb863fb5f678481f](https://git.cafe/gitcafe/zed/commit/2a4157111cbb814b3a2889feeb863fb5f678481f?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/05c2c9aba0fd3560fd60897ef4f1e432479fccab?format=markdown)
