21 Commits

Author SHA1 Message Date
8d688fa304 Add module-info files (#886) 2025-05-15 03:55:54 +00:00
8e1778e2db Some terminal docs, naming changes, and shuffling (#839) 2025-03-28 16:19:22 +00:00
cd8f78e70e Detect Kitty text sizing protocol (#835) 2025-03-26 11:25:23 -04:00
4b40ca742a Expose terminal name (#828) 2025-03-25 16:22:46 +00:00
3802b672dd Send test key events to the right place (#822) 2025-03-23 03:41:28 +00:00
83a7d0c2f3 Create Terminal.Theme, and use Terminal.Size more (#815)
The ternary theme more accurately models our knowledge, and the size propagates both cell and pixel values.
2025-03-21 04:10:01 +00:00
52916d2f4a Rewrite POSIX Tty to actually use the TTY (#805)
And a PTY for testing. Windows still uses stdin/stdout for now.
2025-03-19 20:27:29 +00:00
01f5a6132e Expose all events on Termainl (#798)
Do not use a channel to communicate between the parser and the state machine. Process directly, and then forward all events to the channel.
2025-03-16 03:19:27 +00:00
a9441cc34f Eliminate terminal event package (#795) 2025-03-15 03:57:21 +00:00
d77614b518 Split Terminal API from TTY Terminal implementation (#785)
This fixes the public API problem in the runtime.

Expose a TestTerminal from the testing library as well.
2025-03-13 15:30:10 +00:00
423ba21f8c Push terminal feature detection into terminal library (#784)
This starts to provide a high-level terminal abstraction. It's not perfect, but it's good enough to start with.
2025-03-13 04:34:30 +00:00
c38c09d8bc Create new static logging system (#777)
`Static` function is now called `StaticEffect` to better indicate that it only renders its content once.

`LocalStaticLogger` composition local provides access to `StaticLogger` which allows logging plain strings at arbitrary points for inclusion in the next frame. This can be used from effects, callback, state classes, etc.
2025-03-07 00:56:46 -05:00
d26b4e7b3c Remove redundant parenthesis (#766)
An excellent change. Top notch.
2025-03-03 14:40:15 +00:00
8957294eff Add support for Kitty underlines (#765) 2025-03-02 06:47:20 -05:00
a12a2d928e Do not emit ANSI reset when level is none (#712) 2025-02-19 20:10:35 +00:00
93cccf14ff Add focus and theme to Terminal, make cursor and sync conditional (#696) 2025-02-15 14:50:17 -05:00
12ffc47444 Inject keys and terminal state into Mosaic (#691) 2025-02-13 16:23:23 -05:00
9f63a3545d Add setContent variant which returns initial snapshot (#665) 2025-01-26 11:18:43 -05:00
cb67697ad0 Two quick helpers for testing statics (#634)
Not great, but better than we have.
2025-01-07 21:17:34 +00:00
069d96909a Create Mosaic.layoutId, unit tests for ParentDataModifier and fix for Modifiers (#620)
* Create `Mosaic.layoutId`, unit tests for `ParentDataModifier` and fix for `Modifier`s

- New `Mosaic.layoutId` has been created that can be used to define child elements, for example, during the measurement stage
- Add unit tests for `Mosaic.layoutId`
- Add unit tests for `ParentDataModifier`
- Fix the handling of `Modifier`s that were inherited from several key `Modifier` classes (`LayoutModifier`, `DrawModifier`, `KeyModifier`, `ParentDataModifier`) with different handling
- Remove unnecessary call site generic parameter in `RealTestMosaic` and replace `coroutineScope` with getting `CoroutineContext` by `currentCoroutineContext()` function in `runMosaicTest`.

* Update CHANGELOG.md

* Rename

---------

Co-authored-by: Jake Wharton <github@jakewharton.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2025-01-05 05:27:05 +00:00
321290f5c1 Create mosaic-testing module (#528) 2025-01-03 21:55:32 +00:00