Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

辞書の項目ごとにオプションを設定できるようにする #8

Closed
azu opened this issue Dec 26, 2018 · 2 comments
Closed
Milestone

Comments

@azu
Copy link
Member

azu commented Dec 26, 2018

From #6 (comment)

辞書のtokenに対して名前をつけて、オプションを指定できるようにする。
いくつかのtokenに対してはデフォルトで許可リストをもつ。

  • 各辞書(tokenの集合)に対して id のような 名前をつける
  • ルールのオプションで、id に対して
    • その辞書を(disable、デフォルトfalse)有効/無効化できるようにする(アップデートが大変な場合も多そうなので、マイグレーション的にON/OFFできるように)
    • その辞書で例外(allow、デフォルト[] or ["ソフトウェア"]など)を指定できるようにする
      • オプションはJSONなので正規表現リテラルが使えないため、@textlint/regexp-string-matcherを使うと文字列で正規表現も扱える

Example

module.exports = [
    {
        id: "$1を実行",
        message: `"$1を実行"は冗長な表現です。"$1する"など簡潔な表現にすると文章が明瞭になります。`,
        url: "http://www.atmarkit.co.jp/ait/articles/1001/19/news106_2.html",
        tokens: [
            {
                "pos": "名詞",
                "pos_detail_1": "サ変接続",
                "_capture": "$1"
            },
            {
                "surface_form": "を",
                "pos": "助詞",
                "pos_detail_1": "格助詞",
                "pos_detail_2": "一般",
                "pos_detail_3": "*",
                "conjugated_type": "*",
                "conjugated_form": "*",
                "basic_form": "を",
                "reading": "ヲ",
                "pronunciation": "ヲ"
            },
            {
                "surface_form": "実行",
                "pos": "名詞",
                "pos_detail_1": "サ変接続",
                "pos_detail_2": "*",
                "pos_detail_3": "*",
                "conjugated_type": "*",
                "conjugated_form": "*",
                "basic_form": "実行",
                "reading": "ジッコウ",
                "pronunciation": "ジッコー"
            },
        ]
    }

]

.textlintrc:

{
    "rules": {
        "ja-no-redundant-expression": {
           "dictionary": {
              "$1を行う": {
                "disable": true
              },
              "$1を実行": {
                "allow": ["ソフトウェア"] // 含まれているなら無視
              }
           }
        }
    }
}
@azu
Copy link
Member Author

azu commented Dec 27, 2018

「実行」は漢字とひらがなだけをデフォルトの対象にすれば、比較的false positiveが減るんじゃないかなと思った。
カタカナと英数字の場合は許可する感じ。

プログラム、テスト

@azu
Copy link
Member Author

azu commented Jan 4, 2019

#15

カタカナと英数字の場合は許可する感じ。

デフォルトのallowsはこれ入れた

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant