generated from TechBooster/ReVIEW-Template
-
Notifications
You must be signed in to change notification settings - Fork 3
/
prh.yml
107 lines (93 loc) · 3.93 KB
/
prh.yml
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
version: 1
# 本ファイルは設定の仕方の見本であり、実用的な校正ルールではありません。
# もし、もっと充実した別のルールを使いたい時は以下のURLを参照してください。
# https://github.com/prh/rules
# おすすめは media/techbooster.yml です。
# 下記の説明を参考に、git submoduleとimportsを使って参照するのがよいでしょう。
# リポジトリの設定 git submodule add https://github.com/prh/rules.git prh-rules
# 別の設定ファイルを読み込み、mergeすることもできます。
imports:
- ./prh-rules/languages/ja/typo.yml
- ./prh-rules/terms/software.yml
- ./prh-rules/terms/trademark.yml
- ./prh-rules/media/techbooster.yml
- ./prh-rules/media/WEB+DB_PRESS.yml
# imports にはいくつかのオプションが指定できる
# - path: other-rules.yml
# 連鎖的なimportを禁止する
# disableImports: true
# importするルールで不都合なものは殺すことができる
# patternやexpectedに指定する文字列は --rules-yaml で得られるパース後の表現を使うこと
# ignoreRules:
# pattern: /a/ と等価
# - /a/
# - pattern: /a/
# - expected: /b/
rules:
# 大文字小文字全角半角の統一
- expected: Cookie
# 以下と等価 正規表現には強制でgフラグが付く
# - expected: Cookie
# pattern: "/[CcCc][OoOo][OoOo][KkKk][IiIi][EeEe]/g"
# options:
# wordBoundary: false
# specs: []
# 変換結果についてテストも書ける
- expected: jQuery
specs:
- from: jquery
to: jQuery
- from: JQUERY
to: jQuery
# 変換結果が期待通りではなかった場合、ルールのロードに失敗する つまり、ルールのテストが書ける
# - expected: JavaScript
# specs:
# - from: JAVASCRIPT
# to: JavaScprit # この場合はテスト側が間違ってる!
# Error: JavaScript spec failed. "JAVASCRIPT", expected "JavaScprit", but got "JavaScript", /[JjJj][AaAa][VvVv][AaAa][SsSs][CcCc][RrRr][IiIi][PpPp][TtTt]/g
# 表現の統一を図る
- expected: デフォルト
pattern: ディフォルト
# patternは複数記述可能 patterns としてもOK
- expected: ハードウェア
patterns:
- ハードウエアー # 正規表現に変換する都合上、より長いものを先に書いたほうがよい
- ハードウェアー
- ハードウエア
# patternには正規表現が利用可能
- expected: ($1)
pattern: /\(([^)]+)\)/
specs:
# 半角括弧を全角括弧へ
- from: (そのとおり)
to: (そのとおり)
# 否定戻り先読みが欲しいがJSにはない… regexpMustEmptyで、特定のキャプチャグループが空であることを指定して代用とする
- expected: ソフトウェア
pattern: /(日経)?ソフトウエア/
regexpMustEmpty: $1
specs:
# 普通に変換
- from: 広義のソフトウエア
to: 広義のソフトウェア
# 日経ソフトウエア(書名)は変換しない
- from: 日経ソフトウエア
to: 日経ソフトウエア
# 長音の統一には否定後読みを活用する そうしないと サーバー が サーバーー にされてしまったりする
- expected: サーバー
pattern: /サーバ(?!ー)/
specs:
- from: サーバ
to: サーバー
# 単語境界の区別
- expected: js
# pattern: "/\b[JjJj][SsSs]\b/g" # と等価 \b が前後に付与される
options:
wordBoundary: true
specs:
- from: foo JS bar
to: foo js bar
- from: foo altJS bar
to: foo altJS bar
# 日本語+単語境界の仕様は自分で調べてね…!
- from: 今日もJS祭り
to: 今日もjs祭り