Skip to main content

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

功能本地同一行

如果关键字functionlocal出现在同一行,则发出警告

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配置为在file1file2,...上运行,具有如上示例中的首选项,我们在命令行中输入以下内容:

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的每个文件,除非在层次结构中被更高层否决。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

gaplint-1.1.2.tar.gz (29.7 kB 查看哈希)

已上传 source

内置分布

gaplint-1.1.2-py2.py3-none-any.whl (28.6 kB 查看哈希

已上传 py2 py3