1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# drae
[English](README.md)
Diccionario de la lengua española en la terminal.
```console
$ drae casa
casa
Del lat. casa 'choza'.
1. f. Edificio para habitar.
Una casa de ocho plantas.
Sin.: vivienda, inmueble, domicilio, hogar, residencia, piso, apartamento…
2. f. Edificio de una o pocas plantas destinado a vivienda unifamiliar, en
oposición a piso.
Quieren vender el piso y comprarse una casa.
Sin.: chalé, chalet
```
Lo consultado queda en una caché local, así que la segunda vez responde sin
red y al instante.
## Instalación
```sh
git clone https://git.all.ar/pub/drae-cli.git
cd drae-cli
cargo install --path .
```
Deja el binario `drae` en `~/.cargo/bin`.
## Uso
| Orden | Qué hace |
| --- | --- |
| `drae casa` | Define una palabra |
| `drae definir sin` | Define una palabra que choca con el nombre de una orden |
| `drae sin casa` | Sinónimos y antónimos, acepción por acepción |
| `drae conjugar hablar` | Conjugación completa, con voseo |
| `drae conjugar ser --modo subjuntivo` | Un solo modo verbal |
| `drae dia` | La palabra del día de la RAE |
| `drae azar` | Una palabra al azar |
| `drae buscar edificio` | Busca dentro de las definiciones ya guardadas |
| `drae cache info \| listar \| limpiar` | Gestiona la caché |
Opciones generales:
| Opción | Qué hace |
| --- | --- |
| `--json` | Imprime JSON en lugar del texto formateado |
| `-a`, `--abreviaturas` | Despliega las marcas: `f. = nombre femenino` |
| `-A`, `--actualizar` | Ignora la caché y vuelve a descargar |
| `--sin-cache` | No lee ni escribe la caché |
| `--ancho N` | Ancho de salida en columnas |
| `--color auto\|always\|never` | Cuándo colorear |
| `--fuente auto\|dle\|rae-api` | De dónde leer |
El color se apaga solo cuando la salida va a una tubería o cuando está
definida `NO_COLOR`.
### Si la palabra no está
Se buscan las más parecidas en el diccionario de hunspell del sistema, sin
tocar la red, ignorando las tildes:
```console
$ drae arbol
drae: «arbol» no está en el Diccionario
¿quiso decir árbol?
```
## De dónde salen los datos
| Qué | Fuente |
| --- | --- |
| Definiciones, etimología, sinónimos | [rae-api.com](https://rae-api.com), que sirve el contenido del *Diccionario de la lengua española* en JSON |
| Conjugación | [Wikcionario en español](https://es.wiktionary.org) (CC BY-SA) |
| Sugerencias | `/usr/share/hunspell/es_*.dic`, local |
`dle.rae.es` queda como fuente opcional (`--fuente dle`). El sitio responde
con un desafío de Cloudflare a todo cliente que no sea un navegador, así que
casi nunca contesta desde la terminal; el lector de su HTML se mantiene
—verificado contra un fixture— por si en tu red sí pasa.
La conjugación viene del Wikcionario y no de la RAE por el mismo motivo, con
una ventaja: incluye el voseo, que las tablas de la RAE no traen.
```console
$ drae conjugar ser --modo subjuntivo
Modo subjuntivo
Presente
que yo sea · que tú seas · que vos seas, seás · que él/ella/ud. sea ·
que nosotros seamos · que vosotros seáis · que uds./ellos sean
```
rae-api.com admite 10 peticiones por minuto. Con la caché no se nota, pero si
vas a consultar muchas palabras de corrido, tenlo en cuenta.
## Configuración
Opcional, en `~/.config/drae/config.toml`. Todo tiene un valor por defecto y
las opciones de la línea de órdenes siempre mandan sobre el archivo.
```toml
fuente = "auto" # auto | dle | rae-api
timeout = 15 # segundos por petición
ancho = 80 # por defecto, el de la terminal
# cache = "~/.cache/drae/entries.db"
# diccionario = "/usr/share/hunspell/es_AR.dic"
```
## Desarrollo
```sh
cargo test # 70 tests, ninguno toca la red
cargo build --release
```
El lector del DLE se prueba contra `tests/fixtures/dle-casa.html`, una página
real recortada, para que siga verificado aunque el camino en vivo esté
bloqueado.
## Licencia
MIT. El contenido del diccionario pertenece a la Real Academia Española; las
tablas de conjugación son del Wikcionario, bajo CC BY-SA.
|