---
# cmo cmo is a simple cli for managing tasks directly in the terminal. **English** | [EspaƱol](docs/readme/readme_es.md) **README Sections:** [Options](#Options) - [Description](#Description) - [Installation](#Installation) ![Screenshots de cmo](cmo_screenshot.png)
--- ## Description `cmo` is an informal abbreviation for the Spanish phrase _casi me olvido_ (I almost forgot). The program is born because I wanted to have a task list always at hand. It will continue to be developed as long as I come up with improvements. cmo is written in Rust and heavily relies on libraries such as: - [`Clap`](https://docs.rs/clap/latest/clap/). - [`csv`](https://docs.rs/csv/latest/csv/). - [`Anyhow`](https://docs.rs/anyhow/latest/anyhow/). - [`Colored`](https://docs.rs/colored/latest/colored/). - [`Serde`](https://docs.rs/serde/latest/serde/). `cmo` follows the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html). ## Options ### Commands At the moment `cmo` comes with five commands: **'add'**, **'list'**, **'flip'**, **'remove'** y **'help'**. - **add** will add a task (which van have three priority levels: High, Medium y Low) to a `tasks.csv` file: ``` bash # The options High, Medium y Low can be abbreviated as h, m or l respectively. $ cmo add -p medium "Buy bread" $ cmo add -ph "Read the Way of Kings" ``` - **list** will display on the screen, in order from highest to lowest priority, the tasks present in `tasks.csv`. Specific priorities can also be chosen: ``` bash $ cmo list $ cmo list -p medium $ cmo list -ph ``` - **flip** allows changing the status of a task from incomplete to complete or vice versa, indicating the task number in the listing: ``` bash $ cmo flip 10 ``` - **remove** allows removing a task, indicating the task number in the listing: ``` bash $ cmo remove 10 ``` - **help** will display a help message for each sub-command: ``` bash $ cmo help $ cmo help add $ cmo help list $ cmo help flip $ cmo help remove ``` ## Installation ### Cargo If you already have [Rust](https://www.rust-lang.org/) installed and configured, you can install it using: ``` $ cargo install cmo ```