Angenommen, ich habe ein Verzeichnis mit diesen Dateien.
/foo/bar/baz/.dir-locals.el
/foo/bar/.dir-locals.el
/foo/.dir-locals.el
Wenn ich zum Erstellen einer Datei gehe /foo/bar/baz/
, möchte ich sie so verketten, dass sie /foo/.dir-locals.el
zuerst und dann /foo/bar/.dir-locals.el
und dann angewendet werden/foo/bar/baz/.dir-locals.el
local-variables
Eric Johnson
quelle
quelle
.dir-locals
? .Antworten:
Basierend auf der Antwort hier raten wir dazu
hack-dir-local-variables
, ein Verzeichnis nachzuschlagen und zu überprüfen, ob diese.dir-locals.el
Datei lesbar ist. Es wird so lange hochgefahren, bis ein nicht lesbares Verzeichnis gefunden wird.dir-locals.el
.Je nach Wert
walk-dir-locals-upward
der Dateien kann vom aktuellen Verzeichnis aufwärts oder vom zuletzt.dir-locals.el
gefundenen abwärts gelesen werden . Abwärts ist die Standardeinstellung, damit Unterverzeichnisse die Einstellungen ihrer Eltern löschen können.quelle
.dir-locals.el
. Wird es funktionieren , wenn ich einen Baum von Verzeichnissen habena/b/c
und es existierena/.dir-locals.el
unda/b/c/.dir-locals.el
, aber nichta/b/.dir-locals.el
(davon ausgehen , dass ich besuchea/b/c/foo.el
und ich möchte Einstellungena/.dir-locals.el
angewendet werden)?a/b/
unterbrechen die Kette. Es muss irgendwo anhalten und wenn Sie möchten, dass es weitergeht, können Sie leere Verzeichnisdateien hinzufügen.Hier ist ein anderer Weg, dies zu tun.
Ich definiere eine Funktion, die die Liste aller Verzeichnisse in der aktuellen Verzeichnishierarchie erzeugt.
Ein Beispiel ist in Ordnung:
Jetzt kann ich Ratschläge hinzufügen
hack-dir-local-variables
, um vorzutäuschen, dass wir eine Datei ganz oben in der Baumstruktur besuchen, verzeichnislokale Einstellungen anwenden, dann eine Ebene nach unten gehen, Einstellungen erneut anwenden und so weiter.quelle