-
Notifications
You must be signed in to change notification settings - Fork 18
/
1.1.2.js
47 lines (42 loc) · 1.39 KB
/
1.1.2.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// LICENSE : MIT
"use strict";
/*
1.1.2.見出し
本文が敬体であっても、見出しには常体や体言止めを使います。
一般向けのマニュアルでは、「~には」や「~とは」などの助詞で止める文形も使います。
見出しの文末には、句点(。)を付けません。
# Header
のみをサポート
Header
=======
は無視する
*/
import { isUserWrittenNode } from "./util/node-util";
function mixer(context) {
let { Syntax, RuleError, report, getSource, fixer } = context;
return {
[Syntax.Header](node) {
if (!isUserWrittenNode(node, context)) {
return;
}
let text = getSource(node);
// Headerの末尾には。をつけない
let matchReg = /。(\s*?)$/;
let index = text.search(matchReg);
if (index !== -1) {
report(
node,
new RuleError("見出しの文末には、句点(。)を付けません。", {
index: index,
fix: fixer.removeRange([index, index + 1])
})
);
}
// TODO: いずれの場合も、すべての見出しを通して複数の文体をできるだけ混在させないことが重要です。
}
};
}
module.exports = {
linter: mixer,
fixer: mixer
};