gpt4 book ai didi

flowtype - 如何将 flowtype 与 spacemacs 集成

转载 作者:行者123 更新时间:2023-12-02 15:57:01 24 4
gpt4 key购买 nike

我是spacemacs扇子。我想使用Facebook Flow但我不知道如何将它与 spacemacs 集成。我正在将 flow 与 nuclide 结合使用,但我需要重新学习一切才能提高工作效率。有this scriptflow 存储库上将其与 emacs 一起使用。我需要一个关于如何在 spacemacs 中使用它的指南。

谢谢。

最佳答案

我在这里使用了 Bodil 的 flow Flycheck 配置:https://github.com/bodil/emacs.d/blob/d28264cf072bb8a62459a48813d0cb30804b4f5b/bodil/bodil-js.el#L121-L154

我通过将以下内容添加到我的 dotspacemacs/user-config ( https://github.com/saltycrane/.spacemacs.d/blob/9d985ace9251529c2b8d7857e2ec9835b103084c/init.el#L383-L414 ) 中,使其与 spacemacs 的 react-mode 和默认 eslint Flychecker 一起使用:

;; 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)

另请确保已安装 Flow 命令行工具。像这样安装:

npm install -g flow-bin

我认为 Bodil 打算让消息变得简短,但我想让 Flycheck 显示更详细的消息。如果有人知道如何做到这一点,我将不胜感激。

编辑 2016-08-12:我发布的原始版本在初始加载时出现 Symbol's functionDefinition is void: Flycheck-define-checker 错误。我更新了上面的代码以添加 require 'flycheck 来消除该错误。

关于flowtype - 如何将 flowtype 与 spacemacs 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37843960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com