Documentation
¶
Overview ¶
Package query representa lo que el usuario quiere encontrar —un término, si busca proyectos y un periodo de modificación— de la misma forma en la línea de comandos y en el modo interactivo: lo valida, lo describe y lo convierte en las opciones de una búsqueda.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrEmpty = errors.New("no hay nada que buscar")
ErrEmpty indica que no hay nada que buscar: ni término, ni proyectos, ni periodo de modificación.
Functions ¶
This section is empty.
Types ¶
type Query ¶
type Query struct {
Term string // término tal como se recibió; vacío: cualquier nombre
Projects bool // buscar proyectos en lugar de carpetas
Period period.Range // intervalo de modificación; cero: cualquier fecha
// contains filtered or unexported fields
}
Query es una búsqueda ya validada.
func New ¶
New valida una búsqueda. modified es un periodo como los de --modified ("hoy", "semana", "7d"...) o "" para cualquier fecha, y now la referencia de los periodos relativos.
No recorta espacios: un término o un periodo formado solo por espacios no cuenta como vacío, sino que es un error (el modo interactivo recorta el término antes de llamar a New).
Devuelve ErrEmpty si no hay nada que buscar, un error que cumple errors.Is(err, period.ErrInvalid) si el periodo no es válido y, si no, el error del término (por ejemplo, un patrón mal formado).
func (Query) Describe ¶
Describe resume lo que se busca, en minúsculas, para las cabeceras: `"tesis"`, `proyectos "api"`, `carpetas modificadas hoy`...