Trabajo en muchos proyectos C diferentes con estilos de sangría únicos. ¿Cómo hago para que Emacs haga configuraciones de sangría por proyecto sin contaminar los árboles del proyecto aguas arriba con .dir-locals.el
archivos? Quiero unir los proyectos usando sus rutas en el disco.
indentation
artagnon
fuente
fuente
.dir-locals.el
. ¿Pueden ser compañeros de trabajo les gustaría esta idea?Respuestas:
.dir-locals.el
es mi método preferido cuando es posible, especialmente porque se aplica a todos los usuarios de Emacs que trabajan en ese proyecto.Para proyectos que son hostiles para los usuarios de Emacs o que de otro modo no desean
.dir-locals.el
archivos, o si desea tener preferencias personales (presumiblemente no sangría) que no deberían aplicarse a otras personas, si usa un sistema de control de versiones distribuido, una opción es para trabajar siempre en ramas personales que tengan tu.dir-locals.el
. Sin embargo, no conozco una forma de usar un DCVS que lo haga indoloro.Otra opción es no registrar los
.dir-locals.el
archivos. Por ejemplo, con git, agréguelo a.git/info/exclude
. Eso es doloroso cuando tienes muchos pagos de un proyecto, por supuesto.Lo que hice donde
.dir-locals.el
no era una opción es agregar un gancho que buscabuffer-file-name
valores conocidos.(Advertencia: código escrito directamente en mi navegador ya que no tengo acceso a mi código real en este momento).
fuente
.dir-locals.el
a.git/info/exclude
parece una buena opción..gitignore
en la raíz de un proyecto?.dir-locals.el
a su gitignore global en~/.config/git/ignore
.No puede convencer a proyectos anteriores como llvm y linux para que ingresen a
.dir-locals.el
.Una solución elaborada al problema:
Usado de la siguiente manera:
Tengo una macro similar para otros modos de idioma también.
fuente
distribuir .dir-locals.el en diferentes proyectos es difícil de mantener.
Mi camino es bastante simple, pon todo el código en uno ~ / .custom.el.
Básicamente, el código se ejecutará en prog-mode-hook (o your-whatever-major-mode-hook) y hará lo siguiente:
He estado usando este método con éxito durante un año.
Aquí está el código (llame a my-setup-development-environment en prog-mode-hook):
fuente
La forma normal de hacerlo es usar
.dir-locals
. Por eso se introdujeron en primer lugar. Por qué no? Que yo sepa, la mayoría de las herramientas relacionadas con proyectos tienden a mantener sus configuraciones en el directorio raíz del proyecto: git, svn, Eclipse y muchos otros ...Simplemente no olvide agregar el archivo
.gitignore
o similar.fuente
Yo uso guess-style.el .
Funciona bastante bien al adivinar el estilo de sangría preferido de un archivo.
fuente