列出待扫描的文件
mago list-files 会按当前配置打印出 Mago 会触及的文件。这是确认 paths、includes 和 excludes 是否如你所想发挥作用的最快方式。
基本用法
mago list-files
这会打印 [source].paths 中的文件,即你项目自己的源码。includes 中(通常是 vendor)的文件不会显示,因为它们是为提供上下文而被解析的,并不会被分析。
工具特定的列表
每个工具(linter、格式化器、分析器、guard)都有自己的可选 excludes,会叠加在全局排除之上。因此不同工具处理的文件集不同。要查看某个工具的视角:
mago list-files --command linter
mago list-files --command formatter
mago list-files --command analyzer
mago list-files --command guard
示例
给定如下配置:
[source]
paths = ["src", "tests"]
excludes = ["cache/**"] # excluded from every tool
[analyzer]
excludes = ["tests/**/*.php"] # additionally excluded from analysis
[formatter]
excludes = ["src/**/AutoGenerated/**"] # additionally excluded from formatting
得到的列表会有差异:
mago list-files # src/** + tests/**, minus cache/**
mago list-files --command analyzer # src/** only (tests excluded)
mago list-files --command formatter # src/** + tests/**, minus AutoGenerated files
把输出管道给其他工具
文件名中可能包含换行符。如果你打算把输出喂给像 xargs 这样的工具,请改用 NUL 字节作为终止符:
mago list-files -0 | xargs -0r ls -l
参考
Usage: mago list-files [OPTIONS]
| 参数 | 说明 |
|---|---|
--command <COMMAND> | 应用某个工具的排除规则。可选值:linter、formatter、analyzer、guard。 |
-0, --zero-terminate | 用 NUL 而非换行符作为文件名终止符。 |
-h, --help | 打印帮助并退出。 |
全局参数必须放在 list-files 之前。完整列表见 CLI 概览。