Hable bien
==========
2 de mayo, 2021

Hace bastante tiempo encontré una imagen, durante mis andares por la 
web, que tenía la apariencia de ser de un diario o libro viejo que 
decía:

"Sea Patriota - No sea bárbaro.
Es de cumplido caballero que Ud. hable nuestro idioma oficial o sea 
el castellano. Es ser patriota."

Siempre me llamo la atención y me resultó hasta un poco graciosa la 
frase, a pesar de que estoy bastante seguro que semejante expresión 
tenga un origen poco feliz. La combinación de las palabras 
"Patriota" "bárbaro" y "caballero" (más aún si es cumplido) siempre 
surge en ámbitos de conservadurismo más bien rancio. 

Las veces que publique esta imagen en algún foro o lugar similar en 
el que participé fue en tono irónico o bromista cuando alguien 
escribía algo que resultaba ininteligible para las demás personas 
que lo leían. Cabe aclarar que mi versión de la imagen no tenía la 
parte que pone "Viva España".

Todo esto viene a cuento de que ya hace un tiempo que estoy 
tratando de tener y/o integrar alguna suerte de corrector de 
ortografía y gramática a mi configuración de neovim porque si bien 
lo que me interesa no es "ser un cumplido caballero" y toda esa cuestión 
decimonónica, sí es hablar o, en este caso, escribir bien. 

Neovim viene con un corrector, o por lo menos con la intención de 
uno. Básicamente lo que hace es decirte que palabras están mal 
escritas y eso es todo. No analiza gramática ni contexto, solo 
compara tu documento con su lista de palabras y ahí quedó.

Por un lado, tenemos una serie de plugins dedicados a escribir 
prosa en lo que generalmente se usa como herramienta para 
programación. Estos plugins son de análisis de estilo y algo de 
gramática. Los que me vienen a la mente ahora son WriteGood, 
Proselint, y Alex. No sé que clase de soporte de español tendrán, 
si es que lo tienen, no los he probado.

Por otro lado, tenemos otra serie de plugins así como también 
varios intentos y remiendos varios. Todos tratan de integrar 
herramientas que ya existen como ser LanguageTool, aspell, 
hunspell, ispell, enchant, y tal vez haya alguna que me estoy 
olvidando.

Seguramente lo más interesante sean las conversaciones que hay y han 
habido a lo largo de los años, tanto en el repositorio de Vim, como 
en el de neovim sobre la posibilidad de convertir el corrector 
actual en algo útil, o bien arrancarlo de raíz y crear una 
integración moderna con alguna de las herramientas mencionadas más 
arriba.

Por mi parte, he probado LanguageTool y hunspell. 
La integración de LanguageTool se logra o bien a través de 
vim-grammarous, o de languagetool.nvim. 
Grammarous es el más fácil de usar de los 2, pero el modo de 
corrección no es el mejor y a veces se atora a la hora de 
reemplazar una palabra.
Languagetool.nvim requiere una configuración medio engorrosa en un 
principio, y tiene algunas cuestiones de funcionalidad que no logré
entender.
El problema de ambos es que dependen de una aplicación escrita en 
Java, o sea que hay que instalar openJDK, lo que significa que en 
total tenemos que usar alrededor de 300mb, todo por algo que 
debería ser razonablemente simple al menos en mi opinión.
También cabe decir que las correcciones que ofrece LanguageTool 
dejan que desear.
Para cerrar, LanguageTool no trae, o no parece traer versiones 
localizadas del diccionario en español.

Hunspell es el corrector ortográfico usado en muchas aplicaciones 
muy grandes como Firefox o LibreOffice, y también corre en OSX.
La manera de integrarlo pareciera ser atándolo con alambre... Esto 
es, se puede intentar crear un compilador para archivos de texto 
que tenga a hunspell con el diccionario a usar como `makeprg` y 
tratar de que nos muestre los resultados en una ventana quickfix o 
algo así, pero como no soy bueno en vimscript (y es un lenguaje por 
demás horrible) no he terminado de crear algo que se asemeje a esto 
que digo.
Supongo que podría ponerle a leer la muy extensa documentación de 
spell (así se llama el corrector nativo de vim) y ver que sale, 
pero eso no va a pasar...

Lo ultimo que puedo decir, al menos por el momento, es que hay un 
plugin (en progreso) para neovim 0.5 que parece que podría 
funcionar bien. Pero eso es algo que todavía no he podido probar.

Solo me resta hacer algunas pruebas mas con lo de hunspell y 
luego escribir algo al respecto aquí.