Ich habe einen asynchronen Prozess in Emacs, der eine TAGS-Datei erstellt.Wie erstellt man einen Puffer ähnlich wie * Kompilierung * in Emacs?
Dieser Prozess erstellt einen Prozesspuffer namens * ctags *. Wenn das Prozessergebnis "fertig \ n" ist, töte ich den Puffer.
Wenn das Prozessergebnis etwas anderes ist, möchte ich den Prozesspuffer ähnlich der * Kompilierung * Statusausgabe anzeigen, wenn M-x kompiliert wird.
I.e. Ich möchte den Bildschirm vertikal teilen und den * ctags * Puffer unten anzeigen. Drücken q würde vorzugsweise kill den unteren Puffer und nur meine ursprünglichen Puffer anzeigen.
Ich habe versucht, diesen Rückruf in meinem Prozess Sentinel mit:
(split-window-vertically) (set-window-buffer (selected-window) (get-buffer "*ctags*"))
aber abgesehen von der Tatsache, dass es die * ctags * buffer oben setzt, wird der Puffer nicht die gleichen Eigenschaften wie die * Kompilation hat * Ausgabe, z Drücken q Einsätze q.
Wie erstelle ich einen Puffer wie * Kompilierung *?
EDIT:
Inspiriert von Trey Jacksons Antwort unten, das ist genau das, was ich will:
(pop-to-buffer (get-buffer "*ctags*")) (compilation-mode)
Er wählt die * ctags * buffer, legt es in Kompilierungsmodus und q wird das Fenster verlassen.
EDIT2: Mit
(compilation-mode)(Dur statt Moll-Modus), da Emacs irgendwie nicht den kleinen Modus in einen exisiting Puffer mögen erneute Anwendung.
Die Fehlermeldung, die ich bekommen ist:
Toggling compilation-minor-mode off; better pass explicit argument.
Großartig! Genau das, was ich brauchte. Der Vollständigkeit halber funktioniert (Compilation-Minor-Mode) auch. – cschol