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