Bạn đang tìm kiếm chức năng locate-dominating-file
. Dưới đây là tài liệu emacs cho chức năng này:
(locate-dominating-file FILE NAME)
Tra cứu hệ thống phân cấp thư mục từ FILE
cho một thư mục chứa
NAME
. Dừng lại ở thư mục cha đầu tiên chứa một tệp NAME
và trả về thư mục. Trả lại nil
nếu không tìm thấy. Thay vì một chuỗi,
NAME
cũng có thể là một vị từ lấy một đối số (một thư mục) và trả về một giá trị không phải là không nếu thư mục đó là đối số mà chúng ta đang tìm kiếm.
Sử dụng điều này, câu trả lời của abo-abo có thể được rút ngắn thành
(defun desperately-compile ()
"Traveling up the path, find a Makefile and `compile'."
(interactive)
(when (locate-dominating-file default-directory "Makefile")
(with-temp-buffer
(cd (locate-dominating-file default-directory "Makefile"))
(compile "make -k"))))
projectile
có nhiều cách để biên dịchprojectile-project-root
. Chẳng hạn, github.com/abo-abo/mus-make