8d688fa304
Add module-info files ( #886 )
2025-05-15 03:55:54 +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
8957294eff
Add support for Kitty underlines ( #765 )
2025-03-02 06:47:20 -05:00
d601be5e6a
Perform rudimentary ansi color level detection ( #711 )
...
There is a lot to add here, but this gets us off the ground.
2025-02-19 00:51:01 -05:00
93cccf14ff
Add focus and theme to Terminal, make cursor and sync conditional ( #696 )
2025-02-15 14:50:17 -05:00
cc31d49df5
Switch to our own terminal library ( #695 )
...
* Switch to our own terminal library
This handles raw mode, VT parsing, and other system integration.
* Docs needs native libraries now
* API dump
* More test hacks
* Formatting
2025-02-14 14:44:52 -05:00
26765723a2
Drop Jansi, use Mordant for output ( #692 )
2025-02-14 15:37:13 +00:00
3b8a8aa718
Use our own env var lookup ( #686 )
...
Reducing Mordant reliance in preparation to switch to our own raw mode mechanism.
2025-02-07 21:28:35 +00:00
44ef3f4706
Centralize most opt-in usage ( #655 )
2025-01-23 15:16:40 -05:00
321290f5c1
Create mosaic-testing module ( #528 )
2025-01-03 21:55:32 +00:00
a2e163c04e
Render as fast as possible ( #578 )
...
Do not delay to space out frames. Instead, send frames as fast as possible and only render when something changes. This ensures we reflect changes as soon as possible rather than after an artificial delay.
2024-12-19 12:14:55 -05:00
e2f598859e
Use more efficient collections where possible ( #483 )
...
These avoid boxing, virtual calls, or both. Not all usages have been updated, just the easy targets.
2024-09-25 09:20:56 -04:00
2b4cb8a69c
Add rudimentary key handling ( #442 )
...
This forces all usages into raw mode, regardless of whether you are listening for keys or not.
2024-09-10 18:11:15 -04:00
b7516bc630
Stuff ( #466 )
...
- Klib API dumps
- UInt comparison
- Publishing gets Dokka automatically
2024-09-07 00:00:20 -04:00
83e079deba
Migrate to finalization hook library ( #460 )
2024-08-31 00:06:50 -04:00
0e1266fd72
Delete old intermediate source sets ( #461 )
2024-08-31 04:05:02 +00:00
e308b86351
Hide and show the cursor automatically during rendering ( #452 )
2024-08-26 16:30:32 +00:00
83474b8724
Remove JS support ( #447 )
...
Demand for this is low, probably 0. If someone wants for it they can file an issue and we can discuss support further.
Downgrade to Gradle 8.9 because of KT-70700.
2024-08-23 09:59:23 -04:00
d24b8cd880
Add unit test for counter ( #397 )
2024-08-16 19:14:25 -04:00
4d053dbbd3
Change runMosaic to support effects ( #284 )
2024-08-16 16:58:08 -04:00
a5ec60767d
Update to Kotlin 2.0
...
* Update Kotlin and Compose to v2
* Kotlin 2.0 updates
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-05-28 16:55:50 -04:00
f192af3b26
Add Binary Compatibility Validator ( #298 )
...
* Add Binary Compatibility Validator
Tracking changes to the library's public contract.
https://github.com/Kotlin/binary-compatibility-validator
* Apply suggestions from code review
---------
Co-authored-by: Jake Wharton <github@jakewharton.com>
2024-01-16 16:45:19 +00:00
201de77270
Migrate to AssertK ( #245 )
2023-11-13 19:35:57 +00:00
a07ef25b0e
Enable default hierarchy ( #244 )
2023-11-13 18:57:01 +00:00
f02173c4d1
Migrate to Poko from data classes ( #240 )
...
At least for those in public API.
2023-11-13 17:29:22 +00:00
a8e0d288d7
CompositionLocal for terminal size by Mordant ( #230 )
...
* CompositionLocal for terminal size by Mordant
The Mordant KMP library has been added to the mosaic-runtime module in commonMain, which allows you to interact with the cli.
This makes it possible to get the size of the terminal via `CompositionLocal` - `Terminal.current.size`.
* Use local variable for terminalInfo in loop with terminal size update
Co-authored-by: Jake Wharton <github@jakewharton.com>
---------
Co-authored-by: Jake Wharton <github@jakewharton.com>
2023-11-13 11:35:59 -05:00
6708134b54
Render nodes in debug output even if drawing fails ( #156 )
2023-03-16 04:12:28 +00:00
f599129b61
Inject the whole compiler coordinate triple ( #116 )
...
This will make it easier to switch to JB Compose.
Also clean up some other version catalog stuff.
2023-02-19 05:02:40 +00:00
e199b74e8a
Enable explicit API
2023-01-26 22:12:09 -05:00
cfc92c4b98
Fix programatic source set dependencies
...
This ensures that HMPP can correctly see our hierarchy and match it to our dependencies.
2023-01-26 15:46:00 -05:00
a1a42bf4ee
Don't be a chump and expose runMosaicBlocking everywhere
...
Or, at least, everywhere possible given our constraints.
2023-01-25 23:23:42 -05:00
20e36199c2
Port runtime to multiplatorm
2023-01-23 21:32:35 -05:00
e2bbf68f2b
Migrate to version catalogs
2022-09-02 21:45:25 -04:00
08538ec896
Restructure the project to put Mosaic at the root
...
Samples are now in a nested build.
2022-08-11 22:38:19 -04:00