# 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.