Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun my/start-eglot-flycheck (checker callback)
- (defun my/point->line-col (buffer beg)
- (with-current-buffer buffer
- (save-excursion
- (goto-char beg)
- (cons (line-number-at-pos)
- (- (point)
- (line-beginning-position))))))
- (defun my/flymake-diagnostic->flycheck-error (diag)
- (pcase-let* ((msg (flymake-diagnostic-text diag))
- (beg (flymake-diagnostic-beg diag))
- (buffer (flymake-diagnostic-buffer diag))
- (`(,line . ,col) (my/point->line-col buffer beg)))
- (flycheck-error-new-at
- line col
- (pcase (flymake-diagnostic-type diag)
- (':error 'error)
- (':warning 'warning)
- (':note 'info))
- msg
- :checker checker
- :buffer buffer)))
- (eglot-flymake-backend
- #'(lambda (report-action &key region)
- (funcall
- callback 'finished
- (mapcar
- #'my/flymake-diagnostic->flycheck-error
- report-action)))))
- (flycheck-define-generic-checker 'eglot
- "A generic eglot flycheck checker"
- :start #'my/start-eglot-flycheck
- :modes '(python-mode))
- (add-to-list 'flycheck-checkers 'eglot)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement