From fb4b3364b2c7200f0fe7bcb9cc8c6d6118656779 Mon Sep 17 00:00:00 2001 From: structix Date: Sun, 22 Sep 2024 21:44:17 +0200 Subject: [PATCH] Update README and help menu --- README.md | 47 ++++++++++++++++++++++++++++------------------- src/cli.rs | 14 +++++++------- 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 0ba9649..4a453b3 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,60 @@ # tuemensa -tuemensa is a simple cli tool to retrieve the current meal plan. +`tuemensa` is a simple command-line tool designed to retrieve the current meal plan for the canteens at Eberhard Karls Universität Tübingen. +The meal data is sourced from [Studierendenwerk Tübingen - Hohenheim](https://www.my-stuwe.de/mensa/). + +## Installation + +To install the tool directly from [crates.io](https://crates.io/crates/tuemensa), use the command: +```sh +cargo install tuemensa +``` +Alternatively, you can clone this repository and run the following command from the project root to build it: +```sh +cargo build -r +``` + ## Usage -Options: +Available options: -- `-m`, `--morgenstelle` Show Mensa Morgenstelle -- `-w`, `--wilhemstrasse` Show Mensa Wilhelmstraße -- `-p`, `--prinzkarl` Show Mensa Prinz Karl -- `--plaintext` Format as plain text +- `-m`, `--morgenstelle` Display the meal plan for Mensa Morgenstelle +- `-w`, `--wilhemstrasse` Display the meal plan for Mensa Wilhelmstraße +- `-p`, `--prinzkarl` Display the meal plan for Mensa Prinz Karl +- `--plaintext` Output the meal plan in plain text format - `-o`, `--oneline` Use very short format (oneline) -- `-d`, `--days ` Offset of days in the future (valid inputs 0-7) [default: 0] -- `-v`, `--vegetarian` Show the vegetarian menu +- `-d`, `--days ` Specify the number of days ahead to display (valid inputs 0-7) [default: 0] +- `-v`, `--vegetarian` Display only the vegetarian menu options - `-h`, `--help` Print help information - `-V`, `--version` Print version information ### Examples -Display the current plan for both canteens: +To display the current meal plan for both Mensa Morgenstelle and Wilhelmstraße: ```sh -tuemensa -s -m +tuemensa -w -m ``` Example screenshot: ![MorgenstelleShedhalle](screenshots/output_morgenstelle_shedhalle.png) -Display the plan for the next day: +To view the meal plan for the following day: ```sh -tuemensa -s -d 1 +tuemensa -w -d 1 ``` -The oneline is useful if you integrate this tool as a desktop widget -and like to get just a basic idea of the current available meal. +For a compact view, which is useful for integration into desktop widgets, you can use the oneline option: ```sh -tuemensa -s -o +tuemensa -w -o ``` Example screenshot: ![CommandOutput](screenshots/kde_command_output.png) -For KDE this can be achieved with the Plasma 5 Applet [Command Output](https://store.kde.org/p/1166510/). +For KDE users, this functionality can be achieved with the Plasma 5 Applet [Command Output](https://store.kde.org/p/1166510/). -## Build - -Use the `cargo build -r` command inside the root of this project. diff --git a/src/cli.rs b/src/cli.rs index 200128d..8991992 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1,22 +1,22 @@ use clap::Parser; -/// tuemensa is a simple cli tool to retrieve the current meal plan. +///tuemensa is a simple command-line tool designed to retrieve the current meal plans for the canteens at Eberhard Karls Universität Tübingen. #[derive(Parser, Debug)] #[command(author, version, about, long_about = None)] pub struct Args { - /// Show Mensa Morgenstelle + /// Display the meal plan for Mensa Morgenstelle #[arg(short, long, default_value_t = false)] pub morgenstelle: bool, - /// Show Mensa Wilhelmstraße + /// Display the meal plan for Mensa Wilhelmstraße #[arg(short, long, default_value_t = false)] pub wilhelmstrasse: bool, - /// Show Mensa Prinz Karl + /// Display the meal plan for Mensa Prinz Karl #[arg(short, long, default_value_t = false)] pub prinzkarl: bool, - /// Format as plain text + /// Output the meal plan in plain text format #[arg(long, default_value_t = false)] pub plaintext: bool, @@ -24,11 +24,11 @@ pub struct Args { #[arg(short, long, default_value_t = false)] pub oneline: bool, - /// Offset of days in the future (valid inputs 0-7) + /// Specify the number of days ahead to display (valid values: 0-7) #[arg(short, long, default_value_t = 0)] pub days: u8, - /// Show the vegetarian menu + /// Display only the vegetarian meal options #[arg(short, long, default_value_t = false)] pub vegetarian: bool, }