Skip to content

Commit f00b4b4

Browse files
committed
更新文档
1 parent a687b35 commit f00b4b4

File tree

2 files changed

+110
-2
lines changed

2 files changed

+110
-2
lines changed

docs/diagnosis_config.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# 诊断选项
2+
3+
大部分的格式化选项会有诊断的属性,除此以外诊断有额外的选项,这些选项并不影响格式化。
4+
## enable_check_codestyle
5+
6+
是否开启代码诊断 可选值为 true/false。
7+
8+
## max_line_length
9+
10+
代表最大行宽检测,该选项不会影响格式化,默认值是120。
11+
12+
## insert_final_newline
13+
14+
该选项表示lua文档是否应该以新行结束,该选项的名称来自于editorconfig的标准定义默认值为true,代码格式化算法必然会以新行结束,所以该选项只是用于诊断。
15+
16+
# 命名风格检查
17+
18+
算法支持对名称定义处实现基本的风格检查,较为复杂的校验逻辑在设计出插件系统之后可以开放。所有校验逻辑之间可以用'|'表示'或'运算,基本的校验逻辑包括:
19+
* off 什么都不做
20+
* camel_case 小驼峰命名法
21+
* pascal_case 大驼峰命名法
22+
* snake_case 蛇形命名法
23+
* upper_snake_case 全大写的蛇形命名法
24+
25+
复杂的校验逻辑以函数的形式表示:
26+
1. same(arg1, arg2) 该形式表示以arg2的形式和arg1相同,arg2支持的变量仅有:
27+
* snake_case 以蛇形的方式
28+
* pascal_case 以大驼峰命名法的形式
29+
* camel_case 以小驼峰命名法的形式
30+
31+
arg1支持的方式有:
32+
33+
* filename 表示和当前文件名相同,相同的方式不一定是全等,可以是以arg2的形式
34+
* first_param 表示和相关的调用函数的第一个参数相同,也是允许以arg2规定的形式作用
35+
* 字符串常量 表示和某个字符串常量相等例如 same('_M'),当arg1为字符串常量时,arg2参数无效
36+
37+
## enable_name_style_check
38+
39+
该选项默认为false,表示是否开启命名风格检查
40+
41+
## local_name_define_style
42+
43+
该选项表示local的名称定义列表中的名称应该符合什么样的命名规则,默认值是snake_case
44+
45+
## function_param_name_style
46+
47+
该选项表示函数定义时的参数命名规则默认值是snake_case
48+
49+
## function_name_define_style
50+
51+
该选项表示函数定义时的命名规则,此处所指的函数定义仅仅包含以下形式:
52+
* function fff() end
53+
* function ttt:ffff() end
54+
55+
选项默认值是 snake_case
56+
57+
## local_function_name_define_style
58+
59+
该选项表示local函数定义时的的命名规则,此处唯一支持形式是:local function fff() end
60+
61+
选项默认值是snake_case
62+
63+
## table_field_name_define_style
64+
65+
该选项表示表的field的命名规则,后面可能会演化分类,目前支持的形式是:
66+
67+
```lua
68+
local t = { aa = 1312}
69+
70+
t.bbb = 123
71+
```
72+
73+
默认值是是snake_case,但是所有元方法的名称不在规则限制内。
74+
75+
## global_variable_name_define_style
76+
77+
表示全局变量的名称定义风格默认值是 snake_case|upper_snake_case
78+
79+
## module_name_define_style
80+
81+
表示模块的名称定义风格,对模块变量的识别规则是:
82+
以在文件作用域中任意local定义的名称作为文件作用域中的return语句的第一个参数。
83+
84+
默认选项是 same('m')|same(filename, snake_case)
85+
86+
## require_module_name_style
87+
88+
表示模块的导入语句中定义的名称,语句的识别原则是:
89+
形如
90+
```lua
91+
local m = require "aaa.bbb.ccc"
92+
```
93+
的lua语句中的m,支持的函数目前有require和import
94+
95+
96+
97+
默认值是 same(first_param, snake_case)
98+
99+
## class_name_define_style
100+
101+
表示类定义的命名规则,类定义的识别原则是:
102+
形如
103+
```lua
104+
local c = class "c"
105+
```
106+
的lua语句中的c,支持的函数目前有Class和class
107+
108+
默认值是 same(filename, snake_case)

lua.template.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ max_line_length = 120
3939
insert_final_newline = true
4040

4141

42-
enable_name_style_check = true
42+
enable_name_style_check = false
4343
# the following is name style check rule
4444
# base option off/camel_case/snake_case/upper_snake_case/pascal_case/same(filename/first_param/'<const string>', snake_case/pascal_case/camel_case)
4545
# all option can use '|' represent or
@@ -55,4 +55,4 @@ table_field_name_define_style = snake_case
5555
global_variable_name_define_style = snake_case|upper_snake_case
5656
module_name_define_style = same('m')|same(filename, snake_case)
5757
require_module_name_style = same(first_param, snake_case)
58-
class_name_define_style = same(filename, snake_case)
58+
class_name_define_style = same(filename, snake_case)

0 commit comments

Comments
 (0)