https://github.com/jeromeschmied/cgol-tui-rs
Conway's Game of Life TUI Rust
https://github.com/jeromeschmied/cgol-tui-rs
conways-game-of-life rust tui
Last synced: 2 months ago
JSON representation
Conway's Game of Life TUI Rust
- Host: GitHub
- URL: https://github.com/jeromeschmied/cgol-tui-rs
- Owner: JeromeSchmied
- License: apache-2.0
- Created: 2024-02-25T11:07:52.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-25T20:53:30.000Z (3 months ago)
- Last Synced: 2025-01-25T21:24:59.369Z (3 months ago)
- Topics: conways-game-of-life, rust, tui
- Language: Rust
- Homepage:
- Size: 467 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE_APACHE
Awesome Lists containing this project
- awesome-ratatui - cgol-tui - Conway's Game of Life viewer with a TUI in Rust. (đģ Apps / đšī¸ Games and Entertainment)
README
# Conway's Game of Life TUI in Rust
## Usage
installation methods
- `cargo install cgol-tui`
- `cargo install --locked --git "https://github.com/JeromeSchmied/cgol-tui-rs"`
- clone the repo and run `cargo install --locked --path .`after
`[curl "https://conwaylife.com/patterns/.cells" | ] cgol-tui [[-],.cells,...]`
eg.:- `cgol-tui`
- `curl https://conwaylife.com/patterns/fx153.cells | cgol-tui -` the `-` stands for `stdin`
- `cgol-tui my_own_pattern.cells fx153.cells`### Script
there is a fish script provided under [scripts](./scripts/pattern.fish) for viewing patterns from [conwaylife.com](https://conwaylife.com/patterns)
usage: `pattern.fish [OPTIONS]`
PATTERN_NAME: either a name of a pattern, or nothing to list all patterns
OPTIONS: -d, --download download to /tmp#### needed tools
- [fish](https://fishshell.com/): shell
- [curl](https://curl.se/): download
- [ripgrep](https://github.com/BurntSushi/ripgrep): only for listing all patterns## Sample
![Sample][1]
## Todos
- [x] initial tui support
- [x] renaming on gh
- [x] error handling
- [x] publishing to crates.io
- [x] changing to `Canvas` for rendering viewer block
- [x] the ability to parse `.cells` files, from [conwaylife.com](https://conwaylife.com/patterns)
- [x] display the names of patterns## Acknowledgements
- The core of this app is adapted from the [Rust-Wasm tutorial](https://rustwasm.github.io/docs/book/).
- main dependencies:
- [ratatui](https://ratatui.rs): ui
- [crossterm](https://github.com/crossterm-rs/crossterm): ratatui backend## License
Licensed under either of
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms or
conditions.[1]: assets/0.4.0.png "Image of using cgol-tui in Alacritty on Arch Linux btw"