Skip to content

Commit

Permalink
[new release] minttea (3 packages) (0.0.2)
Browse files Browse the repository at this point in the history
CHANGES:

## 0.0.2

#### MintTea

* Add support for custom events – any Riot message sent to a Mint Tea app will
  become an `Event.Custom msg` event, which enables sending data into TUIs from
  other processes.

* Add `key` type for key down events – this means we now get better
  discoverability of what key down events we can match on, and its easier to
  keep examples working

* Capture more key events: arrows (left,down,up,right), backspace, space,
  enter, escape.

* Move `initial_state` to the application start invocation – you can now run
  your app with multiple initial states, which makes it ideal for starting apps
  in the middle of other flows, or to test specific scenarios.

* Fix bug where TTY was not restored from RAW mode during normal shutdown.

* Now the `Event.Frame time` event includes the frame time, and all examples
  are updated to work with it.

* Add new `Hide_cursor` and `Show_cursor` commands, and always restore the
  cursor to visible on exit

#### Leaves

* New `Leaves.Fps` to specify a frame rate and cap updates at that rate (Thanks
  to @sabine)

* New `Leaves.Sprite` module to create frame-based animations that are ticked
  at a specific frame-rate (Thanks to @sabine)

* New `Leaves.Spinner` contains several spinners ready to be used in
  applications (Thanks to @sabine)

* New `Leaves.Text_input` field ready to be used in applications (Thanks to
  @lessp_)

* New `Leaves.Cursor` that can be used to highlight where the cursor is in a
  given text (Thanks to @nguermond)

* Reworked `Leaves.Progress` to support plain and gradient progress bars with
  customizable empty/full/trail characters, and to fit right into the
  make/update/view pattern.

#### Spices

* Implemented support for gradients between two RGB colors

#### Examples

* New Spinners example showcasing several spinners (Thanks to @sabine)

* New Emojis game example showcasing a tilemap and moving a player around

* New Basic example for the README tutorial

* New Progress bars examples showcasing plain, gradient, and emoji progress bars

* New Text input field example (Thanks to @lessp_)

* Updated other examples to use the new progress bars

#### Docs

* New tutorial starting from zero and building a small shopping list app
  (Thanks to @metame)

## 0.0.1

Initial release for the 3 packages.

#### MintTea

* Let people create TUI apps using The-Elm-Architecture
* Introduce basic events for KeyDown, Frame, and Timers
* Introduce basic commands for setting timers, entering/exiting the AltScreen, exiting, and sequencing commands

#### Examples

* Add `views` example showcasing an application with multiples sections
* Add `altscreen-toggle` example to showcase the AltScreen
* Add `fullscreen` example with a timer
* Add `stopwatch` example
* Add `fps` counter example

#### Spices

* Introduce `color` and `style`
* Support basic styles (bold, italic, underscore, etc) and layouting (padding)

#### Leaves

* Add a Checkbox leaf
* Add a Progress bar leaf
  • Loading branch information
leostera authored and nberth committed May 16, 2024
1 parent af04de9 commit 4bf3a63
Show file tree
Hide file tree
Showing 3 changed files with 128 additions and 0 deletions.
42 changes: 42 additions & 0 deletions packages/leaves/leaves.0.0.2/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
opam-version: "2.0"
synopsis: "A collection of reusable components from Mint Tea"
description:
"Leaves is a collection of reusable components for writing TUI applications with Mint Tea"
maintainer: ["Leandro Ostera <leandro@abstractmachines.dev>"]
authors: ["Leandro Ostera <leandro@abstractmachines.dev>"]
license: "MIT"
tags: ["tui" "terminal-ui" "apps" "components" "component" "library"]
homepage: "https://github.com/leostera/minttea"
bug-reports: "https://github.com/leostera/minttea/issues"
depends: [
"dune" {>= "3.11"}
"ocaml" {>= "5.1"}
"minttea" {= version}
"mdx" {with-test & >= "2.3.1"}
"spices" {= version}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/leostera/minttea.git"
url {
src:
"https://github.com/leostera/minttea/releases/download/0.0.2/minttea-0.0.2.tbz"
checksum: [
"sha256=d1e07b3aec5c3ddbfd6dfd9a21011e8abe389907f1e56d80263ed56f8a46b4b2"
"sha512=f7550e05e0e3b61cd3134469368d65f96d89b529e45d6938fd89949390fb14ed8732a02e6ef350fcd8507fa8a1ad393ae29a24b994dbe26917a2c3d879e25698"
]
}
x-commit-hash: "1bc14017f6f45c7edc16c17cd1084195ea6cbad7"
42 changes: 42 additions & 0 deletions packages/minttea/minttea.0.0.2/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
opam-version: "2.0"
synopsis:
"A fun, functional, and stateful way to build terminal apps in OCaml heavily inspired by Go's BubbleTea"
description: "A longer description"
maintainer: ["Leandro Ostera <leandro@abstractmachines.dev>"]
authors: ["Leandro Ostera <leandro@abstractmachines.dev>"]
license: "MIT"
tags: ["tui" "terminal-ui" "framework" "riot"]
homepage: "https://github.com/leostera/minttea"
bug-reports: "https://github.com/leostera/minttea/issues"
depends: [
"dune" {>= "3.11"}
"ocaml" {>= "5.1"}
"riot" {>= "0.0.5"}
"mdx" {with-test & >= "2.3.1"}
"tty" {>= "0.0.2"}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/leostera/minttea.git"
url {
src:
"https://github.com/leostera/minttea/releases/download/0.0.2/minttea-0.0.2.tbz"
checksum: [
"sha256=d1e07b3aec5c3ddbfd6dfd9a21011e8abe389907f1e56d80263ed56f8a46b4b2"
"sha512=f7550e05e0e3b61cd3134469368d65f96d89b529e45d6938fd89949390fb14ed8732a02e6ef350fcd8507fa8a1ad393ae29a24b994dbe26917a2c3d879e25698"
]
}
x-commit-hash: "1bc14017f6f45c7edc16c17cd1084195ea6cbad7"
44 changes: 44 additions & 0 deletions packages/spices/spices.0.0.2/opam
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
opam-version: "2.0"
synopsis: "Declarative styles for TUI applications"
description:
"Spices lets you create style definitions for TUIs and provide handy renderers for strings over them"
maintainer: ["Leandro Ostera <leandro@abstractmachines.dev>"]
authors: ["Leandro Ostera <leandro@abstractmachines.dev>"]
license: "MIT"
tags: [
"styling" "styles" "declarative" "framework" "tui" "terminal-ui" "apps"
]
homepage: "https://github.com/leostera/minttea"
bug-reports: "https://github.com/leostera/minttea/issues"
depends: [
"dune" {>= "3.11"}
"ocaml" {>= "5.1"}
"colors" {>= "0.0.1"}
"mdx" {with-test & >= "2.3.1"}
"tty" {>= "0.0.2"}
"odoc" {with-doc}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
]
dev-repo: "git+https://github.com/leostera/minttea.git"
url {
src:
"https://github.com/leostera/minttea/releases/download/0.0.2/minttea-0.0.2.tbz"
checksum: [
"sha256=d1e07b3aec5c3ddbfd6dfd9a21011e8abe389907f1e56d80263ed56f8a46b4b2"
"sha512=f7550e05e0e3b61cd3134469368d65f96d89b529e45d6938fd89949390fb14ed8732a02e6ef350fcd8507fa8a1ad393ae29a24b994dbe26917a2c3d879e25698"
]
}
x-commit-hash: "1bc14017f6f45c7edc16c17cd1084195ea6cbad7"

0 comments on commit 4bf3a63

Please sign in to comment.