Misalkan saya memiliki direktori dengan file-file ini.
/foo/bar/baz/.dir-locals.el
/foo/bar/.dir-locals.el
/foo/.dir-locals.el
Ketika saya pergi untuk membuat file /foo/bar/baz/
, saya ingin membuat rantai daisy bersama-sama sehingga /foo/.dir-locals.el
berlaku pertama, dan kemudian /foo/bar/.dir-locals.el
, dan kemudian/foo/bar/baz/.dir-locals.el
local-variables
Eric Johnson
sumber
sumber
.dir-locals
? .Jawaban:
Berdasarkan jawaban di sini , kami melakukan ini dengan menyarankan
hack-dir-local-variables
untuk mencari satu direktori dan memuat memeriksa apakah.dir-locals.el
file itu dapat dibaca. Ini akan terus naik sampai menemukan direktori tanpa dapat dibaca.dir-locals.el
.Tergantung pada nilai
walk-dir-locals-upward
file dapat dibaca dari direktori saat ini ke atas atau dari yang terakhir.dir-locals.el
ditemukan ke bawah. Downward adalah default sehingga subdirektori dapat merusak pengaturan orang tua mereka.sumber
.dir-locals.el
. Apakah ini akan berfungsi jika saya memiliki pohon direktoria/b/c
dan adaa/.dir-locals.el
dana/b/c/.dir-locals.el
, tetapi tidaka/b/.dir-locals.el
(anggap saya mengunjungia/b/c/foo.el
dan saya ingin pengaturana/.dir-locals.el
diterapkan)?a/b/
rantai putus. Itu harus berhenti di suatu tempat dan jika Anda ingin terus berjalan Anda dapat menambahkan file dir-lokal kosong.Inilah cara berbeda untuk melakukan ini.
Saya mendefinisikan fungsi yang menghasilkan daftar semua direktori dalam hirarki direktori saat ini.
Contohnya adalah dalam urutan:
Sekarang saya dapat menambahkan saran untuk
hack-dir-local-variables
membuatnya "berpura-pura" bahwa kami mengunjungi file di bagian paling atas pohon, menerapkan pengaturan direktori-lokal, lalu turun satu tingkat, menerapkan pengaturan lagi, dan sebagainya.sumber