---
# cmo cmo es una herramienta sencilla de terminal para manejar tareas desde la consola. **Secciones del README:** [Opciones](#Opciones) - [Descripción](#Descripción) - [Instalación](#Instalación) ![Screenshots de cmo](cmo_screenshot.png)
--- ## Descripción `cmo` es una abreviación informal de la frase _casi me olvido_. El programa nace porque quería tener una lista de tareas siempre a mano. El mismo seguirá en desarrollo siempre y cuando se me vayan ocurriendo mejoras. cmo está escrito en Rust y se apoya en librerías como: - [`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` sigue la [especificación XDG a la hora de definir directorios base](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html). ## Opciones ### Comandos Por el momento `cmo` viene con cinco comandos: **'add'**, **'list'**, **'flip'**, **'remove'** y **'help'**. - **add** añadirá una tarea (las cuales pueden tener tres ordenes de prioridad: High, Medium y Low) a un archivo `tasks.csv`: ``` bash # Las opciones High, Medium y Low pueden abreviarse con h, m o l respectivamente. $ cmo add -p medium "Comprar pan" $ cmo add -ph "Leer El Camino de los Reyes" ``` - **list** mostrará por pantalla, en orden de mayor prioridad a menor, las tareas presentes es `tasks.csv`. También puede elegirse determinadas prioridades: ``` bash $ cmo list $ cmo list -p medium $ cmo list -ph ``` - **flip** permite cambiar el estado de una tarea de incompleta a completa y viceversa, indicando el número de la tarea en el listado: ``` bash $ cmo flip 10 ``` - **remove** permite borrar una tarea, indicando el número de la tarea en el listado: ``` bash $ cmo remove 10 ``` - **help** mostrará por pantalla un mensaje de ayuda para cada sub-comando: ``` bash $ cmo help $ cmo help add $ cmo help list $ cmo help flip $ cmo help remove ``` ## Instalación ### Cargo Si ya tenés instalado y configurado [Rust](https://www.rust-lang.org/), podés instalarlo usando: ``` $ cargo install cmo ``` Cargo generará el binario y lo colocará en `$HOME/.cargo`