Klimi's new dotfiles with stow.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

45 lignes
1.7 KiB

(require 'pulse)
;;(setq next-error-hook nil)
(add-hook 'next-error-hook
'(lambda ()
(if (ycmd-next-error-at-ycmd-button (point)) (push-button)
(let ((compilation-buffer (get-buffer "*compilation*")))
(when compilation-buffer
(save-excursion
(set-buffer "*compilation*")
(move-beginning-of-line nil)
(pulse-line-hook-function)))))))
(eval-after-load "ycmd"
'(add-hook 'ycmd-mode-hook
'(lambda ()
(setq next-error-function 'ycmd-next-error-goto-next-error))))
(defun ycmd-next-error-at-ycmd-button (cur)
"Returns whether CUR is at a ycmd button."
(let* ((button (button-at cur))
(type (and button (button-type button))))
(or (eq type 'ycmd--error-button)
(eq type 'ycmd--warning-button))))
(defun ycmd-next-error-goto-next-error (&optional count reset)
"Go to next YCM-detected error in the current buffer, or stay put if none"
(interactive)
(when (null count) (setq count 0))
(let ((target nil)
(move-fn (if (< count 0) 'previous-button 'next-button))
(next-count (if (< count -1) (1+ count) (if (> count 1) (1- count) 0)))
(cur (if reset (point-min) (point))))
(save-excursion
(when (and
(setq cur (funcall (symbol-function move-fn) cur))
(ycmd-next-error-at-ycmd-button cur))
(setq target cur)))
(if (not (and count target))
(message "Reached last error")
(goto-char target)
(when (not (eq next-count 0))
(ycmd-next-error-goto-next-error next-count nil)))))
(provide 'ycmd-next-error)