Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project uses semantic versioning while it remains pre-1.0.

## [Unreleased]

## [0.7.0] - 2026-07-21

### Added

- Added opt-in typed SGR mouse input with coordinate-aware component and overlay
Expand All @@ -27,6 +29,9 @@ and this project uses semantic versioning while it remains pre-1.0.

### Fixed

- Fixed coordinate-aware mouse routing through padded nested boxes, prevented
resize-invalidated render candidates from publishing uncommitted geometry,
and preserved extended SGR mouse-button identities. #46
- Fixed multiline text rendering for LF, CRLF, and CR boundaries, made loader
cancellation thread-safe and idempotent, and prevented concurrent TUI image
sessions from sharing mutable terminal geometry. #49
Expand Down Expand Up @@ -252,7 +257,8 @@ and this project uses semantic versioning while it remains pre-1.0.
- GitHub Actions CI, jar packaging, GitHub Packages publishing, and GitHub
release artifacts.

[Unreleased]: https://github.com/zikolach/siglyph/compare/v0.6.0...HEAD
[Unreleased]: https://github.com/zikolach/siglyph/compare/v0.7.0...HEAD
[0.7.0]: https://github.com/zikolach/siglyph/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/zikolach/siglyph/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/zikolach/siglyph/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/zikolach/siglyph/compare/v0.3.0...v0.4.0
Expand Down
26 changes: 15 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ Published artifacts are available on Maven Central. GitHub Packages and GitHub R

```scala
libraryDependencies ++= Seq(
"io.github.zikolach" %% "siglyph-core" % "0.6.0",
"io.github.zikolach" %% "siglyph-terminal-jvm" % "0.6.0",
"io.github.zikolach" %% "siglyph-markdown" % "0.6.0",
"io.github.zikolach" %% "siglyph-image" % "0.6.0"
"io.github.zikolach" %% "siglyph-core" % "0.7.0",
"io.github.zikolach" %% "siglyph-terminal-jvm" % "0.7.0",
"io.github.zikolach" %% "siglyph-markdown" % "0.7.0",
"io.github.zikolach" %% "siglyph-image" % "0.7.0"
)
```

Expand All @@ -49,18 +49,18 @@ object app extends ScalaModule {
def scalaVersion = "3.7.4"

def mvnDeps = Seq(
mvn"io.github.zikolach::siglyph-core::0.6.0",
mvn"io.github.zikolach::siglyph-terminal-jvm::0.6.0",
mvn"io.github.zikolach::siglyph-markdown::0.6.0",
mvn"io.github.zikolach::siglyph-image::0.6.0"
mvn"io.github.zikolach::siglyph-core::0.7.0",
mvn"io.github.zikolach::siglyph-terminal-jvm::0.7.0",
mvn"io.github.zikolach::siglyph-markdown::0.7.0",
mvn"io.github.zikolach::siglyph-image::0.7.0"
)
}
```

To include optional `siglyph-extras`, add it to your dependency list:

- **SBT:** `"io.github.zikolach" %% "siglyph-extras" % "0.6.0"`
- **Mill:** `mvn"io.github.zikolach::siglyph-extras::0.6.0"`
- **SBT:** `"io.github.zikolach" %% "siglyph-extras" % "0.7.0"`
- **Mill:** `mvn"io.github.zikolach::siglyph-extras::0.7.0"`

For Scala Native versions that include optional Native artifacts, add these platform-aware Mill coordinates from a `ScalaNativeModule` in addition to `siglyph-core` and `siglyph-terminal-native`:

Expand Down Expand Up @@ -111,7 +111,11 @@ Single-file demos live in [`examples/scala-cli/`](examples/scala-cli/) and are i
./examples/scala-cli/mouse.scala
```

The released examples reference Maven Central dependencies, so they can run without cloning or GitHub Packages credentials. The unreleased mouse example references local `0.6.0-SNAPSHOT` artifacts; run `./scripts/publish-local-snapshot.sh` from the repository root before running it. The alternate-screen Sonatype Central explorer uses the full alternate-screen height, shows built-in loader states and published dates, and copies selected build snippets through terminal clipboard escape sequences with an inline `Copied!` badge.
The released examples reference Maven Central dependencies, so they can run without cloning,
publishing local snapshots, or using GitHub Packages credentials. The alternate-screen Sonatype
Central explorer uses the full alternate-screen height, shows built-in loader states and published
dates, and copies selected build snippets through terminal clipboard escape sequences with an
inline `Copied!` badge.

## Quick example

Expand Down
6 changes: 2 additions & 4 deletions examples/scala-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

Small single-file demos intended for `scala-cli`.

The released examples use Maven Central `0.6.0` artifacts. The mouse example uses local
`0.6.0-SNAPSHOT` artifacts to exercise unreleased mouse-input APIs; run
`./scripts/publish-local-snapshot.sh` from the repository root before running it.
The released examples use Maven Central `0.7.0` artifacts.

Run from this repository:

Expand Down Expand Up @@ -85,7 +83,7 @@ Validation has the same lexical contract on JVM and Scala Native. It accepts sta

`mouse.scala` demonstrates opt-in mouse reporting with `TUIOptions(mouseInput = true)`, typed `TerminalInput.Mouse` logging, coordinate-routed mouse events in a custom component, and wheel scrolling over `SelectList` and `Editor`. While the demo runs, terminal wheel scrollback is captured by mouse reporting; unhandled wheel events are logged but cannot be passed back to the terminal reliably.

To run an example against local sources instead of the published local snapshot, pass the source roots to Scala CLI:
To run an example against local sources instead of the published release, pass the source roots to Scala CLI:

```bash
scala-cli run --workspace /tmp/siglyph-mouse-demo \
Expand Down
4 changes: 2 additions & 2 deletions examples/scala-cli/alternate-screen-maven.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env -S scala-cli shebang
//> using scala 3.7.4
//> using dep io.github.zikolach::siglyph-core:0.6.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.6.0
//> using dep io.github.zikolach::siglyph-core:0.7.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.7.0
//> using dep com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-core:2.38.17
//> using dep com.github.plokhotnyuk.jsoniter-scala::jsoniter-scala-macros:2.38.17

Expand Down
4 changes: 2 additions & 2 deletions examples/scala-cli/editor-autocomplete.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env -S scala-cli shebang
//> using scala 3.7.4
//> using dep io.github.zikolach::siglyph-core:0.6.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.6.0
//> using dep io.github.zikolach::siglyph-core:0.7.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.7.0

import java.io.File
import java.util.concurrent.Executors
Expand Down
4 changes: 2 additions & 2 deletions examples/scala-cli/hello.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env -S scala-cli shebang
//> using scala 3.7.4
//> using dep io.github.zikolach::siglyph-core:0.6.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.6.0
//> using dep io.github.zikolach::siglyph-core:0.7.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.7.0

import scalatui.components.*
import scalatui.core.TUI
Expand Down
6 changes: 3 additions & 3 deletions examples/scala-cli/image.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/usr/bin/env -S scala-cli shebang
//> using scala 3.7.4
//> using dep io.github.zikolach::siglyph-core:0.6.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.6.0
//> using dep io.github.zikolach::siglyph-image:0.6.0
//> using dep io.github.zikolach::siglyph-core:0.7.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.7.0
//> using dep io.github.zikolach::siglyph-image:0.7.0

import java.nio.file.Paths

Expand Down
4 changes: 2 additions & 2 deletions examples/scala-cli/markdown.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env -S scala-cli shebang
//> using scala 3.7.4
//> using dep io.github.zikolach::siglyph-core:0.6.0
//> using dep io.github.zikolach::siglyph-markdown:0.6.0
//> using dep io.github.zikolach::siglyph-core:0.7.0
//> using dep io.github.zikolach::siglyph-markdown:0.7.0

import scalatui.components.*
import scalatui.core.TUI
Expand Down
5 changes: 2 additions & 3 deletions examples/scala-cli/mouse.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#!/usr/bin/env -S scala-cli shebang
//> using scala 3.7.4
//> using repository m2Local
//> using dep io.github.zikolach::siglyph-core:0.6.0-SNAPSHOT
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.6.0-SNAPSHOT
//> using dep io.github.zikolach::siglyph-core:0.7.0
//> using dep io.github.zikolach::siglyph-terminal-jvm:0.7.0

import scalatui.ansi.Ansi
import scalatui.components.*
Expand Down