query

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 4, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package query representa lo que el usuario quiere encontrar —un término, si busca carpetas, proyectos o apps 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

View Source
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 Kind added in v1.3.0

type Kind int

Kind es el tipo de lo que se busca.

const (
	// Folders busca carpetas cuyo nombre coincide con el término.
	Folders Kind = iota
	// Projects busca carpetas de proyectos (.git, go.mod, package.json...).
	Projects
	// Apps busca aplicaciones instaladas por su nombre (paquete apps).
	Apps
)

type Query

type Query struct {
	Term   string       // término tal como se recibió; vacío: cualquier nombre
	Kind   Kind         // qué se busca
	Period period.Range // intervalo de modificación; cero: cualquier fecha
	// contains filtered or unexported fields
}

Query es una búsqueda ya validada.

func New

func New(term string, kind Kind, modified string, now time.Time) (Query, error)

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 si se piden apps con un periodo (las apps no tienen fecha de modificación), 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

func (q Query) Describe() string

Describe resume lo que se busca, en minúsculas, para las cabeceras: `"tesis"`, `proyectos "api"`, `carpetas modificadas hoy`...

func (Query) Found

func (q Query) Found(n int64) string

Found nombra n resultados de esta búsqueda: "1 carpeta encontrada", "3 proyectos encontrados"...

func (Query) Match added in v1.3.0

func (q Query) Match(name string) bool

Match indica si name coincide con el término; sin término, todos coinciden. Sirve para filtrar las apps por su nombre.

func (Query) Options

func (q Query) Options(root string, includeHidden bool) search.Options

Options devuelve las opciones para ejecutar la búsqueda en root.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL