Skip to content

Commit 6b38026

Browse files
committed
コード修飾の誤り検出CIを追加
1 parent 4b80aa7 commit 6b38026

File tree

201 files changed

+163
-253
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+163
-253
lines changed
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: code qualify check
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Set up Python
10+
uses: actions/setup-python@v1
11+
with:
12+
python-version: '3.x'
13+
- name: Install dependencies
14+
run: |
15+
python -m pip install --upgrade pip
16+
pip install requests
17+
- uses: actions/checkout@v2
18+
- name: check
19+
run: python3 .github/workflows/script/code_qualify_check.py
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import glob
2+
import re
3+
import os
4+
import sys
5+
6+
def check_exist_qualify_target(text: str, filename: str) -> bool:
7+
code = ""
8+
in_code_block = False
9+
found_error = False
10+
for line in text.split("\n"):
11+
is_code_block = line.strip().startswith("```")
12+
if is_code_block:
13+
in_code_block = not in_code_block
14+
continue
15+
16+
if in_code_block:
17+
code += line + "\n"
18+
continue
19+
20+
m = re.fullmatch(r'[\*-] (.*?)\[(link |color |italic)(.*?)\]', line)
21+
if m:
22+
if code and len(code) > 0:
23+
target = m.group(1)
24+
if not target in code: # FIXME: 単語検索にしたい
25+
print("{}: `{}` not found in code block.\n{}".format(filename, target, code))
26+
found_error = True
27+
else:
28+
code = ""
29+
return not found_error
30+
31+
if __name__ == '__main__':
32+
found_error = False
33+
current_dir = os.getcwd()
34+
outer_link_dict = dict()
35+
found_error = False
36+
for p in sorted(list(glob.glob("**/*.md", recursive=True))):
37+
dirname = os.path.dirname(p)
38+
with open(p) as f:
39+
text = f.read()
40+
41+
if not check_exist_qualify_target(text, p):
42+
found_error = True
43+
44+
if found_error:
45+
sys.exit(1)

lang/cpp17/type_deduction_for_class_templates.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ int main()
193193
* wp.lock()[link /reference/memory/weak_ptr/lock.md]
194194
* std::make_tuple[link /reference/tuple/make_tuple.md]
195195
* std::promise[link /reference/future/promise.md]
196-
* p.get_future()[link /reference/future/promise/get_future.md]
196+
* pro.get_future()[link /reference/future/promise/get_future.md]
197197
* std::future[link /reference/future/future.md]
198198

199199
#### 出力

reference/algorithm/ranges_equal.md

-4
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ namespace std::ranges {
4444
* indirectly_comparable[link /reference/iterator/indirectly_comparable.md]
4545
* input_range[link /reference/ranges/input_range.md]
4646
* iterator_t[link /reference/ranges/iterator_t.md]
47-
* invoke[link /reference/functional/invoke.md]
48-
* begin[link /reference/ranges/begin.md]
49-
* end[link /reference/ranges/end.md]
50-
* ref[link /reference/functional/ref.md]
5147
5248
## 概要
5349
2つの範囲を等値比較する。

reference/algorithm/ranges_fill_n.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main() {
4141
std::ranges::fill_n(std::ostream_iterator<int>(std::cout, ","), 10, 3);
4242
}
4343
```
44-
* std::fill_n[color ff0000]
44+
* std::ranges::fill_n[color ff0000]
4545

4646
### 出力
4747
```

reference/algorithm/ranges_find.md

-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ inline constexpr find_impl find;
104104
* ranges::equal_to[link /reference/functional/ranges_equal_to.md]
105105
* input_range[link /reference/ranges/input_range.md]
106106
* projected[link /reference/iterator/projected.md]
107-
* invoke[link /reference/functional/invoke.md]
108107
* begin[link /reference/ranges/begin.md]
109108
* end[link /reference/ranges/end.md]
110109
* ref[link /reference/functional/ref.md]

reference/algorithm/ranges_generate.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ int main() {
6969
}
7070
}
7171
```
72-
* std::generate[color ff0000]
72+
* std::ranges::generate[color ff0000]
7373

7474
### 出力
7575
```

reference/algorithm/ranges_generate_n.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ int main() {
5555
std::ranges::generate_n(std::ostream_iterator<int>(std::cout, ","), 10, [&n]{ auto t = n; n *= 2; return t; });
5656
}
5757
```
58-
* std::generate_n[color ff0000]
58+
* std::ranges::generate_n[color ff0000]
5959

6060
### 出力
6161
```

reference/algorithm/ranges_max_element.md

-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ namespace std::ranges {
3030
* indirect_strict_weak_order[link /reference/iterator/indirect_strict_weak_order.md]
3131
* projected[link /reference/iterator/projected.md]
3232
* ranges::less[link /reference/functional/ranges_less.md]
33-
* initializer_list[link /reference/initializer_list/initializer_list.md]
3433
* forward_range[link /reference/ranges/forward_range.md]
3534
* iterator_t[link /reference/ranges/iterator_t.md]
3635
* borrowed_iterator_t[link /reference/ranges/borrowed_iterator_t.md]

reference/algorithm/ranges_min_element.md

-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ namespace std::ranges {
3030
* indirect_strict_weak_order[link /reference/iterator/indirect_strict_weak_order.md]
3131
* projected[link /reference/iterator/projected.md]
3232
* ranges::less[link /reference/functional/ranges_less.md]
33-
* initializer_list[link /reference/initializer_list/initializer_list.md]
3433
* forward_range[link /reference/ranges/forward_range.md]
3534
* iterator_t[link /reference/ranges/iterator_t.md]
3635
* borrowed_iterator_t[link /reference/ranges/borrowed_iterator_t.md]

reference/algorithm/ranges_minmax_element.md

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ namespace std::ranges {
3131
* indirect_strict_weak_order[link /reference/iterator/indirect_strict_weak_order.md]
3232
* projected[link /reference/iterator/projected.md]
3333
* ranges::less[link /reference/functional/ranges_less.md]
34-
* initializer_list[link /reference/initializer_list/initializer_list.md]
3534
* forward_range[link /reference/ranges/forward_range.md]
3635
* iterator_t[link /reference/ranges/iterator_t.md]
3736
* borrowed_iterator_t[link /reference/ranges/borrowed_iterator_t.md]

reference/algorithm/ranges_mismatch.md

-6
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,9 @@ namespace std::ranges {
4646
* ranges::equal_to[link /reference/functional/ranges_equal_to.md]
4747
* identity[link /reference/functional/identity.md]
4848
* indirectly_comparable[link /reference/iterator/indirectly_comparable.md]
49-
* subrange[link /reference/ranges/subrange.md]
5049
* input_range[link /reference/ranges/input_range.md]
5150
* iterator_t[link /reference/ranges/iterator_t.md]
5251
* borrowed_iterator_t[link /reference/ranges/borrowed_iterator_t.md]
53-
* invoke[link /reference/functional/invoke.md]
54-
* begin[link /reference/ranges/begin.md]
55-
* end[link /reference/ranges/end.md]
56-
* ref[link /reference/functional/ref.md]
5752
5853
5954
## 概要
@@ -156,7 +151,6 @@ inline constexpr mismatch_impl mismatch;
156151
* ranges::equal_to[link /reference/functional/ranges_equal_to.md]
157152
* identity[link /reference/functional/identity.md]
158153
* indirectly_comparable[link /reference/iterator/indirectly_comparable.md]
159-
* subrange[link /reference/ranges/subrange.md]
160154
* input_range[link /reference/ranges/input_range.md]
161155
* iterator_t[link /reference/ranges/iterator_t.md]
162156
* borrowed_iterator_t[link /reference/ranges/borrowed_iterator_t.md]

reference/algorithm/ranges_move_backward.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ int main() {
9696
```
9797
* std::ranges::move_backward[color ff0000]
9898
* v.emplace_back[link /reference/vector/vector/emplace_back.md]
99-
* std::move[link move.md]
99+
* std::ranges::move[link ranges_move.md]
100100
* std::views::take[link /reference/ranges/take_view.md]
101101
102102
### 出力

reference/algorithm/ranges_prev_permutation.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ int main ()
9090
} while (std::ranges::prev_permutation(v).found);
9191
}
9292
```
93-
* std::prev_permutation[color ff0000]
93+
* std::ranges::prev_permutation[color ff0000]
9494
9595
### 出力
9696
```

reference/algorithm/ranges_remove_copy_if.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ int main() {
8383
std::ranges::remove_copy_if(v, std::ostream_iterator<int>(std::cout, ","), [](int x) { return x%2 != 0; });
8484
}
8585
```
86-
* std::remove_copy_if[color ff0000]
86+
* std::ranges::remove_copy_if[color ff0000]
8787

8888
### 出力
8989
```

reference/algorithm/ranges_rotate.md

-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ int main() {
6969
```
7070
* std::ranges::rotate[color ff0000]
7171
* str.begin()[link /reference/string/basic_string/begin.md]
72-
* str.end()[link /reference/string/basic_string/end.md]
7372

7473
#### 出力
7574
```
@@ -119,7 +118,6 @@ int main()
119118
* std::ranges::rotate[color ff0000]
120119
* std::ranges::copy[link ranges_copy.md]
121120
* seq.begin()[link /reference/vector/vector/begin.md]
122-
* seq.end[link /reference/vector/vector/end.md]
123121
* seq.assign[link /reference/vector/vector/assign.md]
124122
* std::swap[link /reference/utility/swap.md]
125123

reference/algorithm/ranges_rotate_copy.md

-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ int main() {
7474
```
7575
* std::ranges::rotate_copy[color ff0000]
7676
* str.begin()[link /reference/string/basic_string/begin.md]
77-
* str.end()[link /reference/string/basic_string/end.md]
7877

7978
### 出力
8079
```

reference/algorithm/ranges_set_difference.md

-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ int main()
110110
```
111111
* std::ranges::set_difference[color ff0000]
112112
* std::multiset[link /reference/set/multiset.md]
113-
* begin()[link /reference/set/set/begin.md]
114113
* end()[link /reference/set/set/end.md]
115114
* std::inserter[link /reference/iterator/inserter.md]
116115

reference/algorithm/ranges_set_symmetric_difference.md

-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ int main()
118118
```
119119
* std::ranges::set_symmetric_difference[color ff0000]
120120
* std::multiset[link /reference/set/multiset.md]
121-
* begin()[link /reference/set/set/begin.md]
122121
* end()[link /reference/set/set/end.md]
123122
* std::inserter[link /reference/iterator/inserter.md]
124123

reference/algorithm/ranges_shift_left.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ int main()
8787
std::cout << std::endl;
8888
}
8989
```
90-
* std::shift_left[color ff0000]
90+
* std::ranges::shift_left[color ff0000]
9191

9292
### 出力
9393
```

reference/algorithm/ranges_shuffle.md

-2
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,6 @@ int main() {
112112
}
113113
```
114114
* std::ranges::shuffle[color ff0000]
115-
* input.begin()[link /reference/string/basic_string/begin.md]
116-
* input.end()[link /reference/string/basic_string/end.md]
117115

118116
#### 出力例
119117
```

reference/algorithm/ranges_stable_sort.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ int main()
7777
std::cout << std::endl;
7878
}
7979
```
80-
* std::stable_sort[color ff0000]
80+
* std::ranges::stable_sort[color ff0000]
8181

8282
### 出力
8383
```

reference/algorithm/ranges_starts_with.md

-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ inline constexpr starts_with_impl starts_with;
111111
* iterator_t[link /reference/ranges/iterator_t.md]
112112
* move[link /reference/utility/move.md]
113113
* mismatch[link ranges_mismatch.md]
114-
* invoke[link /reference/functional/invoke.md]
115114
* begin[link /reference/ranges/begin.md]
116115
* end[link /reference/ranges/end.md]
117116
* ref[link /reference/functional/ref.md]

reference/algorithm/ranges_transform.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ int main() {
179179
std::vector<std::string> result;
180180

181181
// v1[n] の文字を v2[n] 回繰り返した文字列を返す
182-
std::ranges::transform(v1, v2, std::back_inserter(result), [](char a, int b) { return std::string(b, a); });
182+
std::ranges::transform(v1, v2, std::back_inserter(result), [](char a, int b) { return std::to_string(b, a); });
183183

184184
for (const std::string& s : result) {
185185
std::cout << s << std::endl;

reference/algorithm/transform.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ int main() {
136136

137137
// v1[n] の文字を v2[n] 回繰り返した文字列を返す
138138
std::transform(v1.begin(), v1.end(), v2.begin(), std::back_inserter(result),
139-
[](char a, int b) { return std::string(b, a); });
139+
[](char a, int b) { return std::to_string(b, a); });
140140

141141
std::for_each(result.begin(), result.end(),
142142
[](const std::string& s) { std::cout << s << std::endl; });

reference/atomic/atomic_ref/op_or_assign.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ int main()
4747
std::cout << std::bitset<4>(value).to_string() << std::endl;
4848
}
4949
```
50-
* x |= b;[color ff0000]
51-
* x.load()[link load.md]
50+
* x |= 0b1110;[color ff0000]
5251
* to_string()[link /reference/bitset/bitset/to_string.md]
5352

5453
#### 出力

reference/cfloat/dbl_epsilon.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ int main()
4040
std::cout << std::pow(FLT_RADIX, 1 - DBL_MANT_DIG) << '\n';
4141
}
4242
```
43-
* sts::setprecision[link /reference/iomanip/setprecision.md]
43+
* std::setprecision[link /reference/iomanip/setprecision.md]
4444
* DBL_EPSILON[color ff0000]
4545
* FLT_RADIX[link flt_radix.md]
4646
* DBL_DIG[link dbl_dig.md]

reference/cfloat/dbl_max.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main()
4141
std::cout << (1 - std::pow(FLT_RADIX, -DBL_MANT_DIG)) * std::pow(FLT_RADIX, DBL_MAX_EXP - 1) * FLT_RADIX << '\n';
4242
}
4343
```
44-
* sts::setprecision[link /reference/iomanip/setprecision.md]
44+
* std::setprecision[link /reference/iomanip/setprecision.md]
4545
* DBL_MAX[color ff0000]
4646
* FLT_RADIX[link flt_radix.md]
4747
* DBL_DIG[link dbl_dig.md]

reference/cfloat/dbl_min.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main()
4141
std::cout << std::pow(FLT_RADIX, DBL_MIN_EXP - 1) << '\n';
4242
}
4343
```
44-
* sts::setprecision[link /reference/iomanip/setprecision.md]
44+
* std::setprecision[link /reference/iomanip/setprecision.md]
4545
* DBL_MIN[color ff0000]
4646
* FLT_RADIX[link flt_radix.md]
4747
* DBL_DIG[link dbl_dig.md]

reference/cfloat/dbl_true_min.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ int main()
3636
}
3737
```
3838
* DBL_TRUE_MIN[color ff0000]
39-
* sts::setprecision[link /reference/iomanip/setprecision.md]
39+
* std::setprecision[link /reference/iomanip/setprecision.md]
4040
* DBL_DIG[link dbl_dig.md]
4141
* DBL_HAS_SUBNORM[link dbl_has_subnorm.md]
4242
* DBL_MIN[link dbl_min.md]

reference/cfloat/flt_epsilon.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ int main()
4040
std::cout << std::pow(FLT_RADIX, 1 - FLT_MANT_DIG) << '\n';
4141
}
4242
```
43-
* sts::setprecision[link /reference/iomanip/setprecision.md]
43+
* std::setprecision[link /reference/iomanip/setprecision.md]
4444
* FLT_EPSILON[color ff0000]
4545
* FLT_RADIX[link flt_radix.md]
4646
* FLT_DIG[link flt_dig.md]

reference/cfloat/flt_min.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main()
4141
std::cout << std::pow((float)FLT_RADIX, (float)(FLT_MIN_EXP - 1)) << '\n';
4242
}
4343
```
44-
* sts::setprecision[link /reference/iomanip/setprecision.md]
44+
* std::setprecision[link /reference/iomanip/setprecision.md]
4545
* FLT_MIN[color ff0000]
4646
* FLT_RADIX[link flt_radix.md]
4747
* FLT_DIG[link flt_dig.md]

reference/cfloat/flt_true_min.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ int main()
3636
}
3737
```
3838
* FLT_TRUE_MIN[color ff0000]
39-
* sts::setprecision[link /reference/iomanip/setprecision.md]
39+
* std::setprecision[link /reference/iomanip/setprecision.md]
4040
* FLT_DIG[link flt_dig.md]
4141
* FLT_HAS_SUBNORM[link flt_has_subnorm.md]
4242
* FLT_MIN[link flt_min.md]

reference/cfloat/ldbl_epsilon.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ int main()
4040
std::cout << std::pow(FLT_RADIX, 1 - LDBL_MANT_DIG) << '\n';
4141
}
4242
```
43-
* sts::setprecision[link /reference/iomanip/setprecision.md]
43+
* std::setprecision[link /reference/iomanip/setprecision.md]
4444
* LDBL_EPSILON[color ff0000]
4545
* FLT_RADIX[link flt_radix.md]
4646
* LDBL_DIG[link ldbl_dig.md]

reference/cfloat/ldbl_max.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main()
4141
std::cout << (1 - std::pow((long double)FLT_RADIX, -LDBL_MANT_DIG)) * std::pow((long double)FLT_RADIX, LDBL_MAX_EXP - 1) * FLT_RADIX << '\n';
4242
}
4343
```
44-
* sts::setprecision[link /reference/iomanip/setprecision.md]
44+
* std::setprecision[link /reference/iomanip/setprecision.md]
4545
* LDBL_MAX[color ff0000]
4646
* FLT_RADIX[link flt_radix.md]
4747
* LDBL_DIG[link ldbl_dig.md]

reference/cfloat/ldbl_max_exp.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ int main()
3939
std::cout << std::pow((long double)FLT_RADIX, LDBL_MAX_EXP) << '\n';
4040
}
4141
```
42-
* sts::setprecision[link /reference/iomanip/setprecision.md]
42+
* std::setprecision[link /reference/iomanip/setprecision.md]
4343
* LDBL_MAX_EXP[color ff0000]
4444
* FLT_RADIX[link flt_radix.md]
4545
* LDBL_DIG[link ldbl_dig.md]

reference/cfloat/ldbl_min.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main()
4141
std::cout << std::pow((long double)FLT_RADIX, LDBL_MIN_EXP - 1) << '\n';
4242
}
4343
```
44-
* sts::setprecision[link /reference/iomanip/setprecision.md]
44+
* std::setprecision[link /reference/iomanip/setprecision.md]
4545
* LDBL_MIN[color ff0000]
4646
* FLT_RADIX[link flt_radix.md]
4747
* LDBL_DIG[link ldbl_dig.md]

0 commit comments

Comments
 (0)