emacs compile buffer auto close?

前端 未结 2 669
余生分开走
余生分开走 2020-12-14 10:45

I want to auto close the compile buffer when there is no error and no warning,but i want to show it when there is warnings. Anyone can help me? This code from emacswiki only

2条回答
  •  感动是毒
    2020-12-14 11:04

    I use the following for compilation. It keeps the compilation buffer if there are warnings or errors, and buries it otherwise (after 1 second).

    (defun bury-compile-buffer-if-successful (buffer string)
     "Bury a compilation buffer if succeeded without warnings "
     (when (and
             (buffer-live-p buffer)
             (string-match "compilation" (buffer-name buffer))
             (string-match "finished" string)
             (not
              (with-current-buffer buffer
                (goto-char (point-min))
                (search-forward "warning" nil t))))
        (run-with-timer 1 nil
                        (lambda (buf)
                          (bury-buffer buf)
                          (switch-to-prev-buffer (get-buffer-window buf) 'kill))
                        buffer)))
    (add-hook 'compilation-finish-functions 'bury-compile-buffer-if-successful)
    

提交回复
热议问题