Sorta working.
This commit is contained in:
@@ -60,7 +60,7 @@
|
|||||||
'(("error" . error)
|
'(("error" . error)
|
||||||
("warning" . warning)))
|
("warning" . warning)))
|
||||||
|
|
||||||
(defun flycheck-vale--result-to-error (result)
|
(defun flycheck-vale--issue-to-error (result)
|
||||||
(let-alist result
|
(let-alist result
|
||||||
(flycheck-error-new
|
(flycheck-error-new
|
||||||
:line .Line
|
:line .Line
|
||||||
@@ -72,13 +72,10 @@
|
|||||||
:level (assoc-default .Severity flycheck-vale--level-map 'string-equal 'error))))
|
:level (assoc-default .Severity flycheck-vale--level-map 'string-equal 'error))))
|
||||||
|
|
||||||
(defun flycheck-vale--output-to-errors (output)
|
(defun flycheck-vale--output-to-errors (output)
|
||||||
(let* ((data (json-read-string output))
|
(let* ((full-results (json-read-from-string output))
|
||||||
(issues (concatenate 'list (mapcar 'cdr data))))
|
(result-vecs (mapcar 'cdr full-results))
|
||||||
(mapcar 'flycheck-vale--issue-to-error issues))
|
(issues (apply 'concatenate 'list (mapcar 'cdr full-results))))
|
||||||
(mapcar 'flycheck-vale--result-to-error results))
|
(mapcar 'flycheck-vale--issue-to-error issues)))
|
||||||
|
|
||||||
(defun flycheck-vale--handle-process-finished ()
|
|
||||||
(message "llamas"))
|
|
||||||
|
|
||||||
(defun flycheck-vale--start (checker callback)
|
(defun flycheck-vale--start (checker callback)
|
||||||
"Run vale on the current buffer's contents."
|
"Run vale on the current buffer's contents."
|
||||||
@@ -89,29 +86,25 @@
|
|||||||
(with-current-buffer outbuf
|
(with-current-buffer outbuf
|
||||||
(read-only-mode 0)
|
(read-only-mode 0)
|
||||||
(erase-buffer))
|
(erase-buffer))
|
||||||
(let ((proc (call-process-region
|
|
||||||
(point-min)
|
|
||||||
(point-max)
|
|
||||||
flycheck-vale-program
|
|
||||||
nil ;; delete
|
|
||||||
outbuf
|
|
||||||
nil ;; display
|
|
||||||
"--output"
|
|
||||||
"JSON")))
|
|
||||||
|
|
||||||
(set-process-sentinel
|
;; Run vale
|
||||||
proc
|
(call-process-region
|
||||||
#'(lambda (process event)
|
(point-min)
|
||||||
(when (string-equal event "finished\n")
|
(point-max)
|
||||||
(flycheck-vale--handle-process-finished)
|
flycheck-vale-program
|
||||||
;; (with-current-buffer outbuf
|
nil ;; delete
|
||||||
;; (let ((errors (flycheck-vale--parse-output (buffer-string))))
|
outbuf
|
||||||
;; (loop for err in errors do
|
nil ;; display
|
||||||
;; (setf (flycheck-error-buffer err) orig-buf)
|
"--output"
|
||||||
;; (setf (flycheck-error-filename err) (buffer-file-name orig-buf))
|
"JSON")
|
||||||
;; (setf (flycheck-error-checker err) checker))
|
|
||||||
;; (funcall callback 'finished errors)))
|
(with-current-buffer outbuf
|
||||||
))))))
|
(let ((errors (flycheck-vale--output-to-errors (buffer-string))))
|
||||||
|
(loop for err in errors do
|
||||||
|
(setf (flycheck-error-buffer err) orig-buf)
|
||||||
|
(setf (flycheck-error-filename err) (buffer-file-name orig-buf))
|
||||||
|
(setf (flycheck-error-checker err) checker))
|
||||||
|
(funcall callback 'finished errors)))))
|
||||||
|
|
||||||
(defun flycheck-vale--in-supported-mode ()
|
(defun flycheck-vale--in-supported-mode ()
|
||||||
"Determines if buffer is in a mode where vale linting is appropriate."
|
"Determines if buffer is in a mode where vale linting is appropriate."
|
||||||
|
Reference in New Issue
Block a user