mosaic

by JakeWharton

2.8k

Experimental tool for building console UIs using Jetpack Compose's compiler/runtime. Allows dynamic state management and rendering in console applications. Includes samples like counters and interactive games.

#ui

JVMmacOSLinuxWindows

Apache License 2.0

picnic

by JakeWharton

977

DSL and builder API for constructing customizable text-rendered tables with features like borders, padding, individual cell styling, header/footer sections, row/column spans, and text alignment.

#ui

iOSAndroid NativeJVMWasmJSmacOSwatchOStvOSLinuxWindows

Apache License 2.0

cite

by JakeWharton

372

Compiler plugin embeds metadata about source files directly into the generated code, allowing access to filename, enclosing type, member name, and line number at runtime.

#kotlin-compiler-plugin, #compiler-plugin, #code-generation

iOSAndroid NativeJVMWasmJSmacOSwatchOStvOSLinuxWindows

Apache License 2.0

confundus

by JakeWharton

269

Enhances type casting by introducing `unsafeCast`, allowing reinterpretation of nullable references as non-nullable without runtime checks, optimizing performance at the expense of type safety.

#kotlin-compiler-plugin, #compiler-plugin

JVMJS

Apache License 2.0

cardiologist

by JakeWharton

198

Schedules jobs using datetime and coroutines with features like delaying until specific times, recurring pulses, and flexible job execution modes. Ideal for in-process scheduling within long-lived applications.

#serialization, #scheduling, #kotlinx-datetime, #kotlin-coroutines, #dsl, #date-time

iOSAndroid NativeJVMWasmmacOSwatchOStvOSLinuxWindows

Apache License 2.0

crossword

by JakeWharton

161

A 2D text canvas for rendering in console applications, handling multi-character codepoints and ANSI control sequences for colored text output without overwriting issues.

#ui, #text, #rendering, #parsing

iOSAndroid NativeJVMWasmJSmacOSwatchOStvOSLinuxWindows

Apache License 2.0

finalization-hook

by JakeWharton

76

Runs a "hook" lambda after a code block, regardless of success, failure, or application termination. Useful for operations affecting external systems, like file locks.

#utility, #process, #file

JVMmacOSLinuxWindows

Apache License 2.0