ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

SublimeLinter-contrib-makefile

giampaolo ST3

SublimeLinter 的 Makefile 检查插件

详细信息

  • 0.1.2
  • github.com
  • github.com
  • 8个月前
  • 1小时前
  • 10个月前

安装数

  • 总数 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

源代码
raw.githubusercontent.com

tests

关于

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 工具?

确实,这样做可能更有意义。我可能(也可能不)稍后这样做。 :)