¿Cuál es la mejor manera de usar paquetes locales en spacemacs?

18

Soy desarrollador de un paquete (ycmd) utilizado por spacemacs, y también me gustaría intentar usar spacemacs. Me gustaría que los spacemacs utilicen la "versión de desarrollo" de mi paquete, es decir, la que estoy pirateando localmente. ¿Cuál es la mejor / apropiada manera de decirle a los spacemacs que usen esa versión del paquete en lugar de la de melpa?

En este momento estoy usando el :load-pathargumento para use-package, pero esto parece ir contra la corriente un poco. ¿Spacemacs me permite especificar un directorio de carga para paquetes específicos en la configuración de la capa en alguna parte?

abingham
fuente

Respuestas:

14

Los paquetes locales se colocan en extensions.ellugar de packages.el. Hay dos listas en un extensions.elarchivo:

  • <layer>-pre-extensions que se cargan antes packages.el
  • <layer>-post-extensions que se cargan después packages.el

Los paquetes locales se colocan en la carpeta extensionsdentro de una subcarpeta cuyo nombre es el nombre que usted puso en una de las dos listas. La load-pathvariable se maneja automáticamente.

Puedes ver algunos ejemplos en la pythoncapa.

syl20bnr
fuente
¡Excelente, gracias! Pensé que había una forma canónica, pero no estaba conectando todos los puntos.
abingham
Edité la respuesta para mencionar la load-pathvariable que se establece automáticamente.
syl20bnr
@ syl20bnr ¿también necesita agregar el paquete a `<layer> -excluded-packages, si está trabajando en un paquete que ya se utiliza en otro lugar?
mkaito
55
Extensiones.el está en desuso en favor de los paquetes locales. Ver github.com/syl20bnr/spacemacs/blob/develop/doc/…
día de
@tonyday de hecho, la pythoncapa que syl20bnr @ menciones en esta respuesta ahora sigue estas directrices también, que me tenía confuddled hasta que vi tu comentario :)
mike