Skip to content

Commit

Permalink
Merge branch 'main' into issue/763/improve-checkbox-ux
Browse files Browse the repository at this point in the history
  • Loading branch information
gyscos committed May 31, 2024
2 parents cfdc5dd + f3bd7e9 commit b3fd11c
Show file tree
Hide file tree
Showing 52 changed files with 1,674 additions and 973 deletions.
53 changes: 38 additions & 15 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Changelog

## cursive next (0.21)

### Breaking Changes

- Updates termion to 3.0
- Updates crossterm to 0.27.0
- Updates cursive-core to 0.4.0

### Improvements

- Removed unused (and unmaintainted) `term_size` dependency.
- Added a `status_bar` example.

### Bugfixes

- Crossterm backend: properly reset the color when de-initializing.

## cursive-core next (0.4.0)

### Breaking Changes

- The `View` now requires `Send + Sync`, to allow accessing or moving views between threads.
This prevents using `Rc`/`RefCell`, and may require using `Arc`/`Mutex` instead.
This should eventually open the way for more multi-threaded processing of the view tree.

### API updates

- The new experimental `builder` module (enabled via the `builder` feature) enables config-based view instanciation.
View trees can be described in config files (yaml/json/...), and resolved, using parameters for interpolation.
- Added the `EditableText` family of palette styles.
- Added `Cursive::clear_all_global_callbacks()`.
- Improved `CursiveLogger`
- Added `Event::char(&self) -> Option<char>`

## Bugfixes

- Fix shift+tab handling on termion

## cursive-core 0.3.7

### API updates
Expand Down Expand Up @@ -30,21 +68,6 @@
- `Printer::print_styled` now takes `S: Into<SpannedStr>` rather than a `SpannedStr` directly.
This lets it directly takes `&StyledString` as input.

## cursive next (0.21)

### Breaking Changes

- Updates termion to 2.0

### Improvements

- Removed unused (and unmaintainted) `term_size` dependency.
- Added a `status_bar` example.

### Bugfixes

- Crossterm backend: properly reset the color when de-initializing.

## cursive-core 0.3.6

### API updates
Expand Down
18 changes: 10 additions & 8 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,17 @@ fn main() {
}
```

[![Cursive dialog example](https://raw.githubusercontent.com/gyscos/cursive/main/doc/cursive_example.png)](cursive/examples/dialog.rs)
[![Cursive dialog example](https://raw.githubusercontent.com/gyscos/cursive/main/doc/cursive_example.png)](https://github.com/gyscos/cursive/tree/main/cursive/examples/dialog.rs)

Check out the other [examples](https://github.com/gyscos/cursive/tree/main/cursive/examples) to get these results, and more:

<div>
<a href="cursive/examples/lorem.rs"><img src="https://imgur.com/hW9M9MV.png" alt="lorem.rs example", width="48%" /></a>
<a href="cursive/examples/menubar.rs"><img src="https://imgur.com/xx3lZPz.png" alt="menubar.rs example", width="48%" /></a>
<a href="cursive/examples/select.rs"><img src="https://imgur.com/couty0n.png" alt="select.rs example", width="48%" /></a>
<a href="cursive/examples/mines/"><img src="https://imgur.com/vNteYyy.png" alt="mines example", width="48%" /></a>
<a href="cursive/examples/theme_manual.rs"><img src="https://i.imgur.com/I9V5KRi.png" alt="theme_manual.rs example", width="48%" /></a>
<a href="cursive-syntect/examples/parse.rs"><img src="https://i.imgur.com/a8bfe5s.png" alt="syntect example" width="48%" /></a>
<a href="https://github.com/gyscos/cursive/blob/main/cursive/examples/lorem.rs"><img src="https://imgur.com/hW9M9MV.png" alt="lorem.rs example", width="48%" /></a>
<a href="https://github.com/gyscos/cursive/blob/main/cursive/examples/menubar.rs"><img src="https://imgur.com/xx3lZPz.png" alt="menubar.rs example", width="48%" /></a>
<a href="https://github.com/gyscos/cursive/blob/main/cursive/examples/select.rs"><img src="https://imgur.com/couty0n.png" alt="select.rs example", width="48%" /></a>
<a href="https://github.com/gyscos/cursive/blob/main/cursive/examples/mines/"><img src="https://imgur.com/vNteYyy.png" alt="mines example", width="48%" /></a>
<a href="https://github.com/gyscos/cursive/blob/main/cursive/examples/theme_manual.rs"><img src="https://i.imgur.com/I9V5KRi.png" alt="theme_manual.rs example", width="48%" /></a>
<a href="https://github.com/gyscos/cursive/blob/main/cursive-syntect/examples/parse.rs"><img src="https://i.imgur.com/a8bfe5s.png" alt="syntect example" width="48%" /></a>
</div>

_(Colors may depend on your terminal configuration.)_
Expand Down Expand Up @@ -83,6 +83,7 @@ Here are a few crates implementing new views for you to use:
* [cursive_hexview](https://github.com/hellow554/cursive_hexview): A simple hexview.
* [cursive_table_view](https://github.com/BonsaiDen/cursive_table_view): A basic table view component.
* [cursive_tree_view](https://github.com/BonsaiDen/cursive_tree_view): A tree view implementation.
* [cursive-hjkl](https://github.com/gamma-delta/cursive-hjkl): Wraps any view to use Vim-like `hjkl` controls.

## Showcases

Expand All @@ -107,6 +108,7 @@ Here are some cool applications using cursive:
* [so](https://github.com/samtay/so): A terminal interface for Stack Overflow.
* [sudoku-tui](https://github.com/TianyiShi2001/sudoku-tui): Play sudoku on the command line.
* [tap](https://github.com/timdubbins/tap): An audio player for the terminal with fuzzy finder.
* [ttyloop](https://github.com/gamma-delta/ttyloop): Clone of the mobile game Loop.
* [wiki-tui](https://github.com/Builditluc/wiki-tui): A simple and easy to use Wikipedia Text User Interface

## Goals
Expand Down Expand Up @@ -137,4 +139,4 @@ There is initial support for [wide characters](https://en.wikipedia.org/wiki/CJK
## [Contributing](CONTRIBUTING.md)
## Alternatives

See also [tui-rs](https://github.com/fdehau/tui-rs) - and a small [comparison page](https://github.com/gyscos/cursive/wiki/Cursive-vs-tui%E2%80%90rs).
See also [ratatui](https://github.com/ratatui-org/ratatui) - and a small [comparison page](https://github.com/gyscos/cursive/wiki/Cursive-vs-tui%E2%80%90rs).
10 changes: 5 additions & 5 deletions cursive-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,8 @@ repository = "gyscos/cursive"

[dependencies]
enum-map = "2.0"
enumset = "1.0.4"
enumset = "1.1.0"
log = "0.4"
owning_ref = "0.4"
unicode-segmentation = "1"
unicode-width = "0.1"
xi-unicode = "0.3"
Expand All @@ -34,6 +33,7 @@ lazy_static = "1"
ahash = "0.8"
serde_json = "1.0.85"
serde_yaml = "0.9.11"
parking_lot = { version = "0.12.1", features = ["arc_lock"] }

[dependencies.cursive-macros]
path = "../cursive-macros"
Expand All @@ -44,7 +44,7 @@ version = "0.3.1"
optional = true

[dependencies.ansi-parser]
version = "0.8.0"
version = "0.9.0"
optional = true

[dependencies.time]
Expand All @@ -53,7 +53,7 @@ features = ["local-offset", "formatting"]

[dependencies.toml]
optional = true
version = "0.7"
version = "0.8"

[dependencies.num]
default-features = false
Expand All @@ -62,7 +62,7 @@ version = "0.4"
[dependencies.pulldown-cmark]
default-features = false
optional = true
version = "0.9"
version = "0.11"

[features]
default = []
Expand Down
Loading

0 comments on commit b3fd11c

Please sign in to comment.