将 style-check.rb 作为 Emacs 中的 flycheck 检查工具

发布于 2024-05-02 20:05:27 字数 3509 浏览 32 评论 0

这篇文章向你展示了如何在 Emacs 文本编辑器中集成 style-check.rbflycheck

style-check.rb 可以检查:

  • 语法
  • 正确的大小写
  • 短语 例如:few in number → few
  • 拼写错误
  • 忽略 latex 命令
  • Latex 源码检查 例如. 标签应该在句号之前(而不是之后)

案例截图

:PROPERTIES:
:CUSTOM_ID: example-screenshot
:END:

When the style-check.rb flychecker checker is functional, an example Flycheck Errors buffer is:
当 style-check.rb 工作时,会有一个类似下面的 Flycheck 错误缓冲区:

安装 style-check.rb

:PROPERTIES:
:CUSTOM_ID: style-check.rb-installation
:END:

https://www.cs.umd.edu/~nspring/software/style-check-readme.html 下载。

为了测试 style-check.rb , 我们先创建一个 test.tex 文件包含下面内容:

documentclass{article}
begin{document}
section{Heading}
The way in which.
end{document}

然后测试 style-check.rb (路径要正确):

/path/to/style-check.rb test.tex

它应该输出:

test.tex:4:1: The way in which. (The way in which)

flycheck 集成

:PROPERTIES:
:CUSTOM_ID: flycheck-integration
:END:

在你的 ~/.emacs , ~/.emacs.el , 或 ~/.emacs.d/init.el (或其他) 文件中填入下面内容,style-check.rb 的路径需要修改为真实路径。

  (require 'flycheck)
  (flycheck-define-checker style-check
    "A linter for style-check.rb"
    :command ("/path/to/style-check.rb"
              source-inplace)
    :error-patterns
    ((warning line-start (file-name) ":" line ":" column ": "
              (message (one-or-more not-newline)
                       (zero-or-more "n" (any " ") (one-or-more not-newline)))
              line-end))
    :modes latex-mode
    )
  (add-to-list 'flycheck-checkers 'style-check)

启用 latex-mode 的 flycheck:

  (add-hook 'latex-mode-hook 'flycheck-mode)

当你打开 .tex 文件时, style-check.rb 会被调用来针对 latex 内容进行检查. 且每次保存变更时都会执行一次 style-check.rb

按下 C-c ! l 就会在一个 Flycheck 错误 buffer 显示 file.txt 的 文本分析(textlint)警告

调试 若 flycheck 错误 buffer 中没有显示任何警告,按下 C-c ! C-c 可以对 style-check.rb 进行调试。 它会在新 buffer 中运行 style-check.rb 并显示其原始输出。

与其他 latex 检查器整合

:PROPERTIES:
:CUSTOM_ID: chaining-other-latex-checkers
:END:

Flycheck 可以在单个文件上执行多个检查器。例如你可以将 textlint flycheck checkstyle-check.rb 检查起连用起来。

你需要在 Emacs 配置文件(例如 ~/.init.el ) 中定义文本检查工具然后将之加入 style-check.rb 中的检查器配置

:next-checkers ((warning . textlint))

Flycheck 现在将列出来自两个检查器的警告。

多个检查器链接在一起的一个潜在缺点是来自不同检查器会对相同错误产生多个警告,例如拼写、措辞和大小写之类的错误。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

向日葵

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

玍銹的英雄夢

文章 0 评论 0

我不会写诗

文章 0 评论 0

十六岁半

文章 0 评论 0

浸婚纱

文章 0 评论 0

qq_kJ6XkX

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文