Ambos autopair
y smartparens
proporcionan funcionalidad para insertar pares de delimitadores coincidentes automáticamente.
¿Cómo se diferencian entre sí en la práctica (si es que lo hacen)? ¿Cuáles son algunos casos de uso que están cubiertos por uno de estos paquetes pero no por el otro?
smartparens
balanced-parentheses
itsjeyd
fuente
fuente
Respuestas:
smartparens
tiene un superconjunto de la funcionalidad proporcionada porautopair
. Además de proporcionar inserción de pares (que es lo queautopair
hace), admite la manipulación de lo que llama "sexps híbridos" o sexps en modos sin lisp. Proporciona comandos para navegar, marcar, unir, dividir, absorber y más para sexps, entre otras cosas.Yo personalmente uso
smartparens
y descubrí que proporciona una funcionalidad superpuesta conyasnippet
- capacidad para activar la inserción de pares usando una cadenachange-inner
- Seleccione la expresión dentro del par coincidenteparedit
por supuestofuente
change-inner
? Según su propia experiencia, ¿diría quesmartparens
podría usarse como un reemplazochange-inner
?sp-kill-sexp
una especie de versión dwimchange-outer
con una ligera diferencia en el lugar donde se debe colocar el punto.C-u C-u M-x sp-kill-hybrid-sexp
es una versión dwim dechange-inner
. Utilizo ambos paquetes para Auctex, que es mi uso principal de emacs.smartparens
, diría quechange-inner
puede ser reemplazado. Perochange-inner
es mucho más conveniente y no agota la memoria de trabajo (solo 2 funciones / teclas para recordar) tanto comosmartparens
lo harían los equivalentes.C-u C-u M-x sp-kill-sexp
parece un reemplazo decentechange-outer
.sp-kill-hybrid-sexp
mejor quechange inner
? Me pregunto si debería cambiar.Una diferencia básica es que
smartparens
puede coincidir con los pares escapados y los signos de no puntuación, comoif
yfi
; También puedes personalizar tus pares.smartparens
es realmente grande cuando se trabaja expresiones regulares donde hay un montón de pares escapado como\(...\)
, ya que tiene su propio resaltado de tales pares, por lo que trabajar consed
,awk
... mucho más agradable.fuente