Tweak the Flymake diagnostics buffer again

* lisp/progmodes/flymake.el
(flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
(flymake-show-diagnostic): Rename from
flymake-show-diagnostic-at-point.  Really use another window.
(flymake-goto-diagnostic): Rename from
flymake-goto-diagnostic-at-point.
(flymake--diagnostics-buffer-entries): Use a button just for
the message bit.
This commit is contained in:
João Távora 2017-10-09 00:12:48 +01:00
parent 0e83f5f279
commit f9cd8ee681

View file

@ -1079,31 +1079,31 @@ applied."
(defvar flymake-diagnostics-buffer-mode-map
(let ((map (make-sparse-keymap)))
(define-key map [mouse-1] 'flymake-goto-diagnostic-at-point)
(define-key map (kbd "RET") 'flymake-goto-diagnostic-at-point)
(define-key map (kbd "SPC") 'flymake-show-diagnostic-at-point)
(define-key map (kbd "RET") 'flymake-goto-diagnostic)
(define-key map (kbd "SPC") 'flymake-show-diagnostic)
map))
(defun flymake-show-diagnostic-at-point ()
"Show location of diagnostic at point."
(interactive)
(let* ((id (or (tabulated-list-get-id)
(defun flymake-show-diagnostic (pos &optional other-window)
"Show location of diagnostic at POS."
(interactive (list (point) t))
(let* ((id (or (tabulated-list-get-id pos)
(user-error "Nothing at point")))
(overlay (plist-get id :overlay)))
(with-current-buffer (overlay-buffer overlay)
(with-selected-window
(display-buffer (current-buffer))
(display-buffer (current-buffer) other-window)
(goto-char (overlay-start overlay))
(pulse-momentary-highlight-region (overlay-start overlay)
(overlay-end overlay)
'highlight))
(current-buffer))))
(defun flymake-goto-diagnostic-at-point ()
"Show location of diagnostic at point."
(interactive)
(defun flymake-goto-diagnostic (pos)
"Show location of diagnostic at POS.
POS can be a buffer position or a button"
(interactive "d")
(pop-to-buffer
(flymake-show-diagnostic-at-point)))
(flymake-show-diagnostic (if (button-type pos) (button-start pos) pos))))
(defun flymake--diagnostics-buffer-entries ()
(with-current-buffer flymake--diagnostics-buffer-source
@ -1128,7 +1128,11 @@ applied."
,(propertize (format "%s" type)
'face (flymake--lookup-type-property
type 'mode-line-face 'flymake-error))
,(format "%s" (flymake--diag-text diag))]))))
(,(format "%s" (flymake--diag-text diag))
mouse-face highlight
help-echo "mouse-2: visit this diagnostic"
face nil
mouse-action flymake-goto-diagnostic)]))))
(define-derived-mode flymake-diagnostics-buffer-mode tabulated-list-mode
"Flymake diagnostics"