Sorta working.

This commit is contained in:
Austin Bingham
2017-05-14 13:42:14 +02:00
parent d51f1db28d
commit 8551cf9426

View File

@@ -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."