Estoy buscando un modo menor para mantener los párrafos llenos en todo momento mientras escribo (similar a lo que aggressive-indent-modehace para la sangría). También debe ser lo suficientemente inteligente como para llenar solo comentarios (y tal vez cadenas dependiendo del idioma).
Algunas cosas que he probado son:
auto-fill-modese llena automáticamente mientras escribe nuevos párrafos, pero no se rellena cuando edita párrafos.refill-moderellena constantemente los párrafos, pero trata de incluir el código en párrafos y comentarios.Intenté agregar
fill-paragraphalafter-change-functionsgancho, pero arruina deshacer y muchas otras cosas (esto probablemente sea todo reparable, pero tomaría un poco de esfuerzo).
¿Alguna idea mejor?
hooks
fill-paragraph
comment
dshepherd
fuente
fuente

org-mode, pero puedes probar rebox2Respuestas:
Se me ocurrió una forma mínima de implementar esta funcionalidad: ¡solo une la barra espaciadora para llamar también
(fill-paragraph)!Hay un par de advertencias con las que me he topado hasta ahora:
elisp-mode(posiblemente otros) rellena un código elegante cuando llamafill-paragraph, esto puede o no ser lo que desea. Probablemente se pueda solucionar probando si el punto está en un comentario o en una cadena de documentos, pero no estoy seguro de cómo hacerlo.A veces no puede ingresar fácilmente múltiples espacios (porque
fill-paragraphmata los espacios finales). Dado que la barra espaciadora ahora actúa comojust-one-spaceprobablemente está bien reemplazar ese enlace con(insert " ").Hice un modo menor que contiene esta funcionalidad, está disponible en github o en el paquete melpa
aggressive-fill-paragraph.fuente
aggressive-fill-paragraphsea mucho menos agresivo querefill-mode, que es agresivo hasta ser bastante inútil (ya que ni siquiera puedes citar a alguien>sin reorganizar el modo de recarga: incluso si usas regexps para el reemplazo) .Si le gusta cómo se comporta el modo de recarga (no: p) pero no cuando se comporta, debería ser relativamente fácil de solucionar inhibiéndolo cuando no esté en las condiciones adecuadas
Por ejemplo
Básicamente, elimina la función que activa la recarga
after-change-functionsy la reemplaza por una que además verificará que estamos en un comentario antes de hacer exactamente lo mismo.fuente
refill-mode:) El problema es querefill-modeusa enfill-regionlugar defill-paragraph, por lo tanto, pierde la capacidad de honrarfill-paragraph-functiony hace las cosas potencialmente desordenadas