Irgendwie kann ich Emacs ff-find-other-file
nicht machen, um meine Header-Datei zu bekommen. Hier ist, was ich habe (minimal Beispiel):Emacs ff-find-other-Datei findet nicht meine Kopfzeile
cd ~/tmp
mkdir test
cd test
mkdir -p src/a/b inc/a/b
echo "aaaa" > src/a/b/a.cpp
echo "bbbb" > inc/a/b/a.hpp
tree
gibt:
.
├── inc
│ └── a
│ └── b
│ └── a.hpp
└── src
└── a
└── b
└── a.cpp
Dies ist ähnlich wie meine Projektstruktur.
emacs -Q src/a/b/a.cpp
Dann Dieses Kopieren in *scratch*
und Ausführung mit C-x C-e
:
(setq cc-search-directories '("." "../inc" "../inc/*" "../../inc/*" "../../../inc/*" "/usr/include"))
und Laufe ff-find-other-file
in Puffer a.cpp
, führt nur zu einer Eingabeaufforderung in dem Minipuffer:
Find or create a.hpp in: ~/tmp/test/src/a/b/
C-h v
auf ff-search-directories
kehrt cc-search-directories
und auf cc-search-directories
ich die Liste oben zu bekommen.
Ich erwarte ff-find-other-file
in ../../../inc/*
suchen und a.hpp
finden. Warum nicht?
bearbeiten: es scheint, der rekursive Teil zu sein, die hier nicht funktioniert.
Nach:
cp inc/a/b/a.hpp inc/
a.hpp
aus a.cpp
gefunden.
Die Hilfe über ff-search-directories
sagt:
Die Sterne sind nicht Platzhalter: sie zusammen mit der vorhergehenden Schrägstrich durchsucht werden. Der Stern repräsentiert alle Unterverzeichnisse außer `.. ', und jedes dieser Unterverzeichnisse wird der Reihe nach durchsucht.
Beachten Sie, dass dieses Zitat, wenn von der Hilfe für ff-search-directories
, während die Liste I modifizierte cc-search-directories
ist. Ich kann nicht sehen, warum das einen Unterschied machen würde.
Diese und andere Threads auf SO ließen mich glauben, *
würde rekursiv den Verzeichnisbaum durchsuchen. Falsch?