SublimeLinter-contrib-makefile
SublimeLinter 的 Makefile 检查插件
详细信息
安装数
- 总数 151
- Win 75
- Mac 36
- Linux 40
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
README
关于
为 SublimeLinter 提供对 Makefile 进行代码检查的插件。
安装
使用 Package Control:搜索名为 SublimeLinter-contrib-makefile
的软件包并安装。还需要安装 SublimeLinter。
检查器
此插件可以检测以下错误。它们将在状态栏和左边缘显示视觉信号。
未定义的全局变量名
正确
FOO = 1
test:
echo $(FOO)
错误
test:
echo $(FOO)
未定义的目标名
正确
clean:
rm -rf build/*
test:
${MAKE} clean
pytest .
错误
test:
${MAKE} clean
pytest .
重复的目标
如果有2个目标具有相同的名称,例如。
test:
pytest .
test:
pytest .
使用空格代替制表符
任何以空格开头而不是制表符的行被认为是错误,例如。
test1:
pytest . # use tab
test2:
pytest . # use spaces
缺少 .PHONY
指令
如果 Makefile 同一目录下存在名为“test”的文件或目录,则会打印 missing .PHONY declaration
。
test:
pytest .
末尾空格
行末任何多余的空格,例如。
test:
pytest .<SPACE><SPACE><SPACE>
文件末尾不必要的空行
例如。
test:
pytest .
动机
为什么不使用现有的 CLI 工具?
正如在 https://github.com/SublimeLinter/package_control_channel/pull/134 中所述,我编写此插件的动力是因为我找到的唯一 Makefile 检查器是 https://github.com/mrtazz/checkmake,它提供了一套相当有限的规则。我需要一个能够至少识别未定义的变量名、未定义的目标名和空格代替制表符的检查器。我没有找到,所以我编写了自己的。
为什么不让这个成为通用的 CLI 工具?
确实,这样做可能更有意义。我可能(也可能不)稍后这样做。 :)