GAP (https://www.gap-system.org/) 代码的基本 linter。
项目描述
gaplint根据一些可配置的约定自动检查 GAP 文件的格式。它会打印任何违反这些约定的实例的性质和位置(有关更多详细信息,请参见下文)。
安装
只需运行:
$ pip install gaplint
用法
要使用它:
$ gaplint --help
所有规则列表
要禁用特定文件的所有规则,您可以添加以下行:
# gaplint: disable = all
到包含任何代码的任何行之前的文件开头。默认情况下启用所有规则。
代码 |
姓名 |
规则说明 |
---|---|---|
W000 |
分析-lvars |
如果有声明的局部变量未使用或已分配但未使用,则发出警告 |
W001 |
空行 |
如果有连续的空行,则发出警告 |
W002 |
行太长 |
如果有一行超过配置的最大值(默认为 80),则发出警告 |
W003 |
缩进 |
如果行缩进不足,则发出警告 |
W004 |
对齐分配 |
如果连续行中存在未对齐的分配,则发出警告 |
W005 |
对齐尾随评论 |
如果连续行中有未对齐的尾随注释,则发出警告 |
W006 |
对齐评论 |
如果连续行中有未对齐的非尾随注释,则发出警告 |
W007 |
尾随空格 |
如果行尾有尾随空格,则发出警告 |
W008 |
评论后无空格 |
如果在任意数量的 # 为一行后没有空格,则发出警告 |
W009 |
评论前没有足够的空间 |
如果在任何行的第一个 # 之前没有足够的空间,则发出警告(默认为 2) |
W010 |
逗号后空格 |
如果逗号后跟多个空格,则发出警告 |
W011 |
逗号前的空格 |
如果逗号前面有空格,则发出警告 |
W012 |
括号后的空格 |
如果左括号后有空格,则发出警告 |
W013 |
括号前的空格 |
如果右括号前有空格,则发出警告 |
W014 |
多个分号 |
如果一行中有多个分号,则发出警告 |
W015 |
关键字功能 |
如果关键字函数后面没有开括号,则发出警告 |
W016 |
空白操作分配 |
如果赋值后不完全是一个空格,则发出警告 (:=) |
W017 |
标签 |
如果有标签则发出警告 |
W018 |
功能本地同一行 |
如果关键字function和local出现在同一行,则发出警告 |
W019 |
空格操作减号 |
如果减号 (-) 运算符的任一侧不完全有一个空格,则发出警告 |
W020 |
空格操作加 |
如果加号 (+) 运算符的任一侧不完全有一个空格,则发出警告 |
W021 |
空格运算乘法 |
如果乘法 (*) 运算符的任一侧不完全有一个空格,则发出警告 |
W022 |
空格操作否定 |
如果在负 (-) 运算符之前不完全有一个空格,则发出警告 |
W023 |
空格操作小于 |
如果小于 (<) 运算符的任一侧不完全有一个空格,则发出警告 |
W024 |
空格操作较少相等 |
如果小于/等于 (<=) 运算符的任一侧不完全有一个空格,则发出警告 |
W025 |
空格操作超过 |
如果大于 (>) 运算符的任一侧不完全有一个空格,则发出警告 |
W026 |
空格操作更相等 |
如果大于或等于 (>=) 运算符的任一侧不完全有一个空格,则发出警告 |
W027 |
空格操作等于 |
如果等于 (=) 运算符的任一侧不完全有一个空格,则发出警告 |
W028 |
空白操作映射 |
如果映射 (->) 运算符的任一侧不完全有一个空格,则发出警告 |
W029 |
空白运算除法 |
如果除 (/) 运算符的任一侧不完全有一个空格,则发出警告 |
W030 |
空白运算能力 |
如果幂 (^) 运算符的任一侧不完全有一个空格,则发出警告 |
W031 |
空格操作不相等 |
如果不等于 (<>) 运算符的任一侧不完全有一个空格,则发出警告 |
W032 |
空格操作双点 |
如果算术级数 (..) 运算符的任一侧不完全有一个空格,则发出警告 |
配置
可以配置某些参数,例如每行允许的最大字符数。默认情况下启用所有规则,但可以在命令行、文件本身中的注释或配置文件.gaplint.yml中禁用。
配置关键字:
columns:每行的最大字符数。默认为 80。
max-warnings:在gaplint 中止之前的最大警告数。默认为 1000。
缩进:嵌套语句的最小缩进。默认为 2。
disable:可以使用它们的名称或代码禁用规则。 默认为 no rules disabled。
下面列出了gaplint可以应用的所有规则。
您可以在不同的地方更改配置,这些配置的优先顺序由下面描述的层次结构控制。在层次结构中高于另一个位置的偏好将被优先考虑。禁用的规则通过层次结构累积。
配置
通过命令行
这些首选项将仅应用于一次gaplint运行(尽管在此运行中可能会检查多个文件)。要将gaplint配置为在file1,file2,...上运行,具有如上示例中的首选项,我们在命令行中输入以下内容:
gaplint --columns=100 --indentation=4 --disable=W002,W028 file1 file2 ...
通过源文件中的注释
任何规则,包括all,都可以针对特定行或整个文件被禁止:
要抑制给定行的规则,请在要抑制规则的代码行之后包含以下内容:
# gaplint: disable=<name_or_code>, <name_or_code> ...
如果上面的代码太长而不能放在相关代码行之后,可以通过包含(nextline)在上面的行中为下面的行声明抑制:
# gaplint: disable(nextline)=<name_or_code>, <name_or_code>, ...
如果使用 in-line 和nextline选项抑制了给定行的规则,则为抑制给出的两个规则集的并集将对该行禁用。
要禁止整个文件的规则,必须在编写任何代码之前包含以下内容(即作为 GAP 文件的第一行,或前面仅包含空格、空行和注释的任意组合):
# gaplint: disable=<name_or_code>, <name_or_code>, ...
通过配置文件
要像上面的示例一样配置gaplint,请创建一个 包含以下行的.gaplint.yml文件:
columns: 100 indentation: 4 disable: - W002 - W028
gaplint在当前目录中查找.gaplint.yml文件及其祖先,直到找到包含git存储库的目录或找到 .gaplint.yml文件。如果没有.gaplint.yml文件,则使用默认配置选项。.gaplint.yml中配置的选项适用于从当前目录运行gaplint的每个文件,除非在层次结构中被更高层否决。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。