Estoy buscando un modo menor para mantener los párrafos llenos en todo momento mientras escribo (similar a lo que aggressive-indent-mode
hace 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-mode
se llena automáticamente mientras escribe nuevos párrafos, pero no se rellena cuando edita párrafos.refill-mode
rellena constantemente los párrafos, pero trata de incluir el código en párrafos y comentarios.Intenté agregar
fill-paragraph
alafter-change-functions
gancho, 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-paragraph
mata los espacios finales). Dado que la barra espaciadora ahora actúa comojust-one-space
probablemente 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-paragraph
sea 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-functions
y 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-mode
usa enfill-region
lugar defill-paragraph
, por lo tanto, pierde la capacidad de honrarfill-paragraph-function
y hace las cosas potencialmente desordenadas