Confíe en .dir-locals.el


12

Quiero poner algo de configuración fuera de mi init.elarchivo .dir-locals.el, es decir, lo siguiente:

((nil
  (let ((dirs '(".cask" "core" "packages" "modules" "snippets" "themes")))
   (mapc #'(lambda (path) (add-to-list 'projectile-globally-ignored-directories path)) dirs))))

Pero cada vez que intento abrir un archivo en mi .emacs.dcarpeta, emacs me pregunta si es guardar para aplicar este código. Intenté silenciarlo configurando los archivos locales vars:

;; -*- enable-local-variables: t; enable-local-eval: t -*-

y no ayudó en absoluto, al contrario agrega otro mensaje para confiar en estas configuraciones locales. ¿Cómo puedo hacer que confíe en mi .dir-locals.elcódigo?


Ha vinculado una variable llamadalet
phils

Respuestas:


8

Puede personalizar safe-local-variable-valuesen su archivo de inicio. Esto requerirá que también especifique qué valores considera seguros.

(add-to-list 'safe-local-variable-values '(var . value))

Esto está bien si conoce el conjunto de valores posibles, como su pregunta implica que lo sabe.

Si desea que una variable sea segura para todos los valores que satisfacen un predicado, puede hacer lo siguiente:

(put 'var 'safe-local-variable #'stringp) 

Gracias por este enfoque, pero mientras escribía quiero poner esta configuración en.dir-locals.el
4lex1v

Aún configuraría la configuración del proyectil en un .dir-locals.el. Pero continuará recibiendo advertencias al cargar ese archivo, hasta que realice una de estas acciones. ¿Has probado el 2do? Ese código, en su archivo init, reemplazando 'var con directorios de proyectil-globalmente ignorado, debería evitar las advertencias cuando se carga el .dir-locals.el.
InHarmsWay

Aunque piense en ello, puede necesitar '#listp en lugar de' #stringp, ya que está configurando la barra en una lista de cadenas.
InHarmsWay
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.