Crates.io | klondike-rs |
lib.rs | klondike-rs |
version | 1.1.0 |
source | src |
created_at | 2019-02-08 16:44:10.784733 |
updated_at | 2019-11-10 05:01:47.79737 |
description | CLI Klondike Solitaire written in Rust |
homepage | |
repository | http://github.com/chrisbouchard/klondike-rs |
max_upload_size | |
id | 113548 |
size | 181,743 |
CLI Klondike Solitaire written in Rust
The simplest way to run klondike-rs
is to install it from crates.io
using Cargo.
$ cargo install klondike-rs
Cargo will have to download and compile all necessary dependencies, as well as compile this project's source, so it may take a few moments.
Then, assuming Cargo is set up on your path, you can run it using
$ klondike-rs
If you don't have Rust (or Cargo, its build tool), you can get it using Rustup. I will try to keep the project compiling on stable Rust, but I reserve the right to require nightly if there's a really nice feature I want. :)
Technically installing from crates.io is compiling from source, but if you would like to check out the code and mess around with it, you can do so using
$ git clone https://github.com/chrisbouchard/klondike-rs.git
...
$ cd klondike-rs
$ cargo run
To find out more about Cargo, you can check out The Cargo Book.
You can always type h
or ?
to get the help screen!
To be written…
Configuration uses TOML, a popular mark-up language among Rust projects. Below is a sample configuration file which sets all settings to their default values, so you'd only need to include a key if you wanted to change its value.
[display]
# Whether to use ANSI color escapes
# TODO: Currently ignored
color = true
# Whether to use Unicode box-drawing characters
# TODO: Currently ignored
unicode = true
[game]
# How many cards to draw (usually 3 or 1)
# TODO: No bounds checking, so don't break things
draw_from_stock_len = 3
# Whether it's permitted to move a card out of a foundation
take_from_foundation = true
Configuration files are picked up from several locations, depending on your OS.
$HOME/.klondike-rs.toml
— Any OS
/home/chris/.klondkie-rs.toml
$XDG_CONFIG_HOME/klondike-rs/config.toml
— Linux only
/home/chris/.config/klondkie-rs/config.toml
$HOME/Library/Preferences/net.upliftinglemma.klondike-rs/config.toml
— MacOS only
/Users/Chris/Library/Preferences/net.upliftinglemma.klondike-rs/config.toml
{FOLDERID_RoamingAppData}\upliftinglemma\klondike-rs\config\config.toml
— Windows only
C:\Users\Chris\AppData\Roaming\upliftinglemma\klondike-rs\config\config.toml
This project is still very alpha, but it's at least runnable. Some high-level things that still need to happen:
Respect configuration regarding color and Unicode.
Document all public structs and functions and re-enable warn(missing_docs)
.
Offer more cosmetic configuration, e.g., card backs.
To be written…