Ответ 1
Я использовал конфигурацию flyblack потока Bodil здесь: https://github.com/bodil/emacs.d/blob/d28264cf072bb8a62459a48813d0cb30804b4f5b/bodil/bodil-js.el#L121-L154
Я заставил его работать с режимом react-mode
spacemacs и по умолчанию eslint flychecker, добавив следующее в мой dotspacemacs/user-config
(https://github.com/saltycrane/.spacemacs.d/blob/9d985ace9251529c2b8d7857e2ec9835b103084c/init.el#L383- L414):
;; Flow (JS) flycheck config (http://flowtype.org)
;; from https://github.com/bodil/emacs.d/blob/master/bodil/bodil-js.el
(require 'f)
(require 'json)
(require 'flycheck)
(defun flycheck-parse-flow (output checker buffer)
(let ((json-array-type 'list))
(let ((o (json-read-from-string output)))
(mapcar #'(lambda (errp)
(let ((err (cadr (assoc 'message errp))))
(flycheck-error-new
:line (cdr (assoc 'line err))
:column (cdr (assoc 'start err))
:level 'error
:message (cdr (assoc 'descr err))
:filename (f-relative
(cdr (assoc 'path err))
(f-dirname (file-truename
(buffer-file-name))))
:buffer buffer
:checker checker)))
(cdr (assoc 'errors o))))))
(flycheck-define-checker javascript-flow
"Javascript type checking using Flow."
:command ("flow" "--json" source-original)
:error-parser flycheck-parse-flow
:modes react-mode
:next-checkers ((error . javascript-eslint))
)
(add-to-list 'flycheck-checkers 'javascript-flow)
Также убедитесь, что установлен инструмент командной строки потока. Установите его следующим образом:
npm install -g flow-bin
Я думаю, что Bodil намеревался сделать сообщения короткими, но я бы хотел, чтобы флайч-дисплей отображал более подробные сообщения. Если кто-то знает, как это сделать, я был бы признателен.
EDIT 2016-08-12: исходная версия, опубликованная мной, дала определение Symbol function definition is void: flycheck-define-checker
при начальной загрузке. Я обновил код выше, чтобы добавить require 'flycheck
чтобы избавиться от этой ошибки.