Skip to content

Commit 9697aa8

Browse files
committed
写一点文档
1 parent 5168364 commit 9697aa8

File tree

2 files changed

+117
-6
lines changed

2 files changed

+117
-6
lines changed

README.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,16 @@
22

33
[English doc](README_EN.md)
44

5-
## BreakChange
6-
7-
整个项目被重写了, 文档以后再写
8-
95
## 项目介绍
106

11-
该项目是基于C++的lua代码解析\格式化\代码诊断算法库和语言服务实例
7+
该项目是基于C++实现的lua代码解析\格式化\代码诊断算法库和语言服务实例
128

139
该项目主要追求的是合理的格式化,多样的代码风格诊断
1410

1511
该项目除了提供语言服务实例,也提供独立的命令行工具CodeFormat,他能用于批量的代码格式化和代码风格检查。
1612
## Feature
1713

14+
* 支持lua5.1, lua5.2, lua5.3, lua5.4, luajit
1815
* 文档格式化
1916
* 范围格式化
2017
* 代码格式检查
@@ -27,7 +24,7 @@
2724

2825
## 文档
2926

30-
* [格式化行为介绍](docs/old_version_doc/format_action.md)
27+
* [格式化行为介绍](docs/format_action.md)
3128
* [如何配置格式化](docs/old_version_doc/format_config.md)
3229
* [代码诊断配置](docs/old_version_doc/diagnosis_config.md)
3330

docs/format_action.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# 格式化行为介绍
2+
3+
该格式化工具具有高度可配置,可支持简单扩展语法,风格多样,性能卓绝等特点。适用于格式化配置文件, 格式化大型代码库等。适合项目内统一代码风格,或者具有特别的喜好个人开发者。
4+
5+
格式化结果符合基本审美,格式化效果出众,格式化速度一骑绝尘。
6+
7+
## 基本格式化
8+
9+
代码的基本格式化主要是为符号两边增设基本的空白,为语句块实现正确的缩进,为不同语句之间设定合适的间距。
10+
11+
```lua
12+
local t=123 --local
13+
aaa,bbbb = 1123, 2342
14+
local f =function() end
15+
local d = {
16+
-- comment
17+
aa = 213, --comment
18+
};
19+
local e = a+b+c+d
20+
function fff(a,b,c) end
21+
function ff2()
22+
--[[
23+
long comment
24+
]]
25+
end
26+
```
27+
28+
会被格式化为:
29+
```lua
30+
local t = 123 --local
31+
aaa, bbbb = 1123, 2342
32+
local f = function()
33+
end
34+
local d = {
35+
-- comment
36+
aa = 213, --comment
37+
};
38+
local e = a + b + c + d
39+
function fff(a, b, c)
40+
end
41+
42+
function ff2()
43+
--[[
44+
long comment
45+
]]
46+
end
47+
```
48+
49+
## 对齐
50+
51+
代码对齐也是很重要的需求,连续赋值语句,连续的键值对表项,连续的数组类表都可以对齐
52+
53+
```lua
54+
local ttt = 123 --first
55+
cd = 345 --second
56+
57+
58+
local d = {
59+
aa =123,
60+
bbbb = 4353,
61+
eee = 131231,
62+
}
63+
64+
local c = {
65+
{ aaaaa, bbbb, ccc },
66+
{ 1, 2, 3 }
67+
}
68+
```
69+
70+
格式化后:
71+
72+
```lua
73+
local ttt = 123 --first
74+
cd = 345 --second
75+
76+
77+
local d = {
78+
aa = 123,
79+
bbbb = 4353,
80+
eee = 131231,
81+
}
82+
83+
local c = {
84+
{ aaaaa, bbbb, ccc },
85+
{ 1, 2, 3 }
86+
}
87+
```
88+
89+
## if语句对齐
90+
91+
lua没有switch语句,一般都是通过if/elseif做一个匹配列表,如果喜欢的话可以设置类似于switch-case的对齐方式。
92+
93+
```lua
94+
if aa.isDDDD()
95+
and bb == fwfwfw
96+
or hi == 123 then
97+
print(1313)
98+
elseif cc == 123
99+
or dd == 13131 and ddd == 123 then
100+
local ccc = 123
101+
end
102+
```
103+
104+
会被格式化为:
105+
```lua
106+
if aa.isDDDD()
107+
and bb == fwfwfw
108+
or hi == 123 then
109+
print(1313)
110+
elseif cc == 123
111+
or dd == 13131 and ddd == 123 then
112+
local ccc = 123
113+
end
114+
```

0 commit comments

Comments
 (0)