758 Commits

Author SHA1 Message Date
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
667921777c Inline a single-use private function (#775)
Also reference the clock directly instead of needing to look it up from the coroutine context.
2025-03-07 04:04:20 +00:00
a5d50829ed Update kotlin monorepo to v2.1.20-RC2 (#774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 18:50:47 +00:00
407e490fc8 Update dependency com.vanniktech:gradle-maven-publish-plugin to v0.31.0 (#773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 08:24:13 -05:00
7e792e8e82 Test for concurrent TestTty usage (#772)
This should not have the same restriction as Tty, although currently Windows isn't fully supported for concurrent usage.
2025-03-05 10:28:31 -05:00
633f664989 Only allow a single bound Tty at a time (#771) 2025-03-05 15:01:19 +00:00
e71f179e33 Change TestTty write API to a single write (#770) 2025-03-05 04:05:07 +00:00
8f35bcf692 Do not require a callback during Tty creation (#768) 2025-03-04 19:30:02 +00:00
d10f924c90 Add Windows 2025, remove Ubuntu 20.04 (#769)
The latter is going away in a few weeks.
2025-03-04 19:11:19 +00:00
3fca635464 Remove trailing spaces when drawing canvas content (#439) 2025-03-04 04:38:24 +00: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
e0510403d3 Remove renderMosaic (#762) 2025-03-01 04:27:22 +00:00
1b2f3f00e0 Stylistic tweaks (#761)
Previous code was for diff minimazation that we can now fix.
2025-03-01 03:03:59 +00:00
2d9636cc29 Remove last usage of deprecated parsing method (#760) 2025-02-28 21:20:48 +00:00
3c1458fbcb Do not repeat APIs from Tty (#758)
These are lower-level, so you can go down to get them.
2025-02-28 20:26:56 +00:00
d1e6948add Fix conditional that was preventing raw mode (#759) 2025-02-28 20:20:30 +00:00
c3ac688229 Merge pull request #757 from JakeWharton/jw.rename-dance.2025-02-28
Post-split file rename dance
2025-02-28 10:27:13 -05:00
2a352c26f8 Post-split rename (part 2) 2025-02-28 10:10:50 -05:00
105c2d9872 Post-split rename (part 1) 2025-02-28 10:05:40 -05:00
8b8f02d0a0 Bring back TerminalParser (#756)
This is a better design, and it will allow TerminalReader to ascend into a higher-level abstraction that is more useful.
2025-02-28 14:58:07 +00:00
893f3704bd Get rid of last 'Platform'-prefixed type (#755) 2025-02-28 05:43:21 +00:00
903e9d15e4 Expose underlying Tty instance from TerminalReader (#754) 2025-02-27 21:07:32 +00:00
101d54b4a6 Do -Wextra not just -Wunused-parameters (#753)
Quick, make an 'extra' joke here.
2025-02-27 18:52:50 +00:00
9ac069039b Eliminate error strings and use ISE on native (#752)
The call stack will tell you which operation failed. We do not include a message on native.

Native, however, did not use ISE but RE, so change it to match.
2025-02-27 17:53:06 +00:00
73cb3dee45 Make unused parameters always an error (#751) 2025-02-27 15:23:24 +00:00
e6d643bb10 C stuff (#750)
* Always throw ISE even if message allocation fails

* Rename JNI callback type to match convention

* Use static where we can
2025-02-27 00:48:30 -05:00
61d79d36e2 Migrate JNI native methods to Java (#749)
Saves 4KiB on jar size.
2025-02-26 21:56:51 +00:00
04643d58d7 Move .java-version into workflows folder (#748)
It's only used by workflows, after all.
2025-02-26 16:32:06 +00:00
33bb35c44e Compile with all warnings as errors (#747)
And fix them all!
2025-02-26 11:12:37 -05:00
9e6127b4e6 Remove errant newline left in (#746)
Move it and the bootstrap logging behind a constant boolean.
2025-02-26 04:38:00 +00:00
f039345ce4 Remove dedicated test-only path with different responsibility split (#745) 2025-02-26 04:16:52 +00:00
f25c75873b Remove empty line (#744)
The best change
2025-02-26 03:43:48 +00:00
c6e786b679 Make static CONIN HANDLE an implementation detail of init (#742)
All other functions should write to the stdin HANDLE without knowledge of this detail.
2025-02-26 02:26:20 +00:00
fac758918f Update dependency gradle to v8.13 (#741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-25 08:07:28 -05:00
761540b9f5 Fix ProGuard tests (#740) 2025-02-24 22:51:21 -05:00
cbf315ebf2 Fix R8 tests (#739) 2025-02-25 03:26:30 +00:00
32a91bac67 Add TTY functions to write stdout and stderr (#738)
In the future these will be used to write bytes instead of chars and to intercept 'println' usage.
2025-02-25 03:11:17 +00:00
7ab9bfd182 Check the Gradle distribution checksum (#735) 2025-02-24 17:48:43 +00:00
d325ca7d3e Clean up the JVM API as best we can (#736) 2025-02-24 17:26:18 +00:00
1d6a300bb8 Upgrade to Kotlin 2.1.20-RC (#734)
Use the new application plugin replacement.
2025-02-24 17:02:18 +00:00
7b5b47776a Switch to maintained setup-zig action (#733) 2025-02-24 10:28:13 -05:00
09c85ab524 Decouple TTY library from terminal (#732) 2025-02-24 14:46:59 +00:00
7edf0ff04a Decouple test TerminalReader from TestTty (#731) 2025-02-24 09:01:28 -05:00
0898ab6e77 Rename PlatformInput to Tty (#730) 2025-02-24 05:49:14 +00:00
0da5a4459d Split input callback from implementation (#729)
In preparation to separate these layers.
2025-02-24 03:56:43 +00:00
4461277809 Eliminate useless Tty type (#728)
I want the name for renaming PlatformInput.
2025-02-23 16:53:23 +00:00
a3aefca33b Do not reference event from platform input type (#727)
Only the reader should know about events.
2025-02-23 07:12:25 +00:00
1ce5aa48ff Flatten terminal size into size result struct (#726) 2025-02-23 06:59:37 +00:00
12b09f4a7f Split tty and test tty C files (#725) 2025-02-23 06:47:25 +00:00