Skip to content

Instantly share code, notes, and snippets.

@delapuente
Last active September 21, 2018 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save delapuente/83b8f129747cf3ec9e1a to your computer and use it in GitHub Desktop.
Save delapuente/83b8f129747cf3ec9e1a to your computer and use it in GitHub Desktop.
Especificación para la interfaz de línea de comandos (CLI) de μTask

μTask CLI

μTask CLI es la interfaz de línea de comandos para gestionar tus tareas en formato mtask.

Instalación

Descarga el ejecutable mtask, dale permisos de ejecución y añádelo a tu PATH de forma que esté disponible para todo el mundo.

¿Dónde están las tareas?

Las tareas se almacenan en el directorio por defecto del usuario, por defecto en ~/.tasks/tasks.txt pero este ajuste se puede alterar cambiando la opción mtask_dir en el archivo de configuración.

Comandos básicos

Todos los comandos de μTask tienen la misma estructura básica:

$ mtask <comando> [<argumento 1>[ <argumento 2>[ ...]]] [<opción 1> ...]

Es decir, mtask seguido de un comando y unos argumentos y modificado por unas opciones que serán letras precedidades de un guión - y los argumentos para estas opciones. Los argumentos son cadenas separadas por espacios.

Añadir una tarea

$ mtask add <nombre>[:<descripción>]

Con detalles -d:

$ mtask add <nombre>[:<descripción>] -d <detalles>

Con metainformación acerca de la completitud y fecha límite -m:

$ mtask add <nombre>[:<descripción>] -m [[<completado>/]<total>] [(<año>/<mes>/<día>)]

En un determinado estado -s:

$ mtask add <nombre>[:<descripción>] -s <estado>

Si no especificas el estado, la tarea se añadirá al estado por defecto que es todo (ver archivo de configuración.

Quitar una tarea:

$ mtask remove <nombre>

Mostrar tareas

$ mtask list

Sin más, esto mostrará las tareas en el estado por defecto (todo). Si quieres mostrar las tareas en un determinado estado:

$ mtask list <estado>

La visualización por defecto únicamente imprime nombre y descripción de la tarea. Si quieres mostrar más información, acompaña los comandos de -v para obtener una visualización completa de la tarea incluyendo los detalles y la metainformación de completitus y fecha límite.

Completar una tarea

$ mtask go <nombre de tarea>[ <estado>]

Realmente, el comando go espera el estado al que mover la tarea pero si este no se especifica, asumirá que debe moverlo al estado de transición por defecto que es done.

Para mover una tarea a un estado arbitrario:

$ mtask go <nombre> <estado>

Encontrar tareas

Recuerda que si no especificas otra cosa, todos los ejemplos siguientes buscan en la categoría por defecto que es todo.

Puedes filtrar resultados con:

$ mtask list -f "<palabra 1>[ <palabra 2>[ ...]]"

Puedes excluír una palabra precediéndola de -:

$ mtask list -f "enviar -email"

También puedes buscar sólo por nombre -n:

$ mtask list -n <nombre>

O buscar por fecha límite -d:

$ mtask list -d <fecha límite>

Esto buscará las tareas que debieran completarse antes de la fecha límite, si quieres buscar las tareas que se tengan que terminar para exactamente esa fecha, usa el operador =. Si quieres las tareas que se deban completar después, utiliza el operador >. El operador < también funciona, pero es lo mismo que no poner nada. Recuerda que puedes combinarlos.

También puedes filtrar por grado de progreso:

$ mtask list -p <progreso>

Aquí también puedes usar los operadores <, > y = o una combinación de ellos. En caso del progreso, el operador por defecto es >=.

Configuración

El archivo de configuración está en ~/.mtask.cfg y este es su contenido por defecto:

[FILES]
mtask_dir=~/.tasks

[FLOW]
default_state=todo
default_transition_state=done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment