Jump to the next error with C-;
then if the next key press is RET
open the eglot-code-actions
menu at point.
(use-package eglot
:config
(defun eglot-code-actions-temporary-map (&rest arg)
(set-temporary-overlay-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "RET") 'eglot-code-actions)
map)
nil)))
(use-package flymake
:config
(advice-add 'flymake-goto-next-error :before #'eglot-code-actions-temporary-map)
:bind
(:map flymake-mode-map
("C-;" . flymake-goto-next-error)
("C-M-!" . flymake-show-buffer-diagnostics)))