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

allow to use punctuation as line terminator #1

Open
takahashim opened this issue Jul 22, 2016 · 6 comments
Open

allow to use punctuation as line terminator #1

takahashim opened this issue Jul 22, 2016 · 6 comments

Comments

@takahashim
Copy link

多少緩い書き方になりますが、

そのような場合でも、

* 手法A
* 手法B
* 手法C

などの手法を使用することで回避できます。

というように、「、」で終わる行を許容したいです。

exceptionMarkRegExpを/[!?!?\))」』、,]/みたいにするのと、オプションで選べるようにするのはどちらがよいでしょうか。

@azu
Copy link
Member

azu commented Jul 22, 2016

で終わるのを潰したいのが、一つの目的なのでオプションで選べるようにする形ですかね。

{ periodMark: ["。", "、"] }
// periodMarks もチェックしてあげると丁寧

的な複数おける方法と

{ periodMark: "。", allowTouten : true }

みたいな方法がありますね。
どちらが直感的ですかね?
(複数periodMarkの場合は、fixを諦めたほうが安全そうな気はしますね)

@azu
Copy link
Member

azu commented Jul 22, 2016

allowTouten の方がno-mixedの趣旨に合ってる気がしてきました。
今は、デフォルトで感嘆符と疑問符もallowしていますが、これもオプションに倒すことができそうなので。
(無限に文末に置く記号の種類ががあるとちょっと扱いにくいオプションになりそうですが、そこまで種類は多くないと思っています)

@takahashim
Copy link
Author

そうですね、"、"はどう見てもperiod markではないので、allowTouten的な指定の方が望ましいと思います。

他の記号としては、"…"を許したい場合があります。また翻訳文では":"も許したい場合がありそうです。なので、allowToutenよりはallowCharとかallowSymbolとかの方が良さそうです。

@azu
Copy link
Member

azu commented Jul 22, 2016

{ allowSymbol: ["…", ":"] }

このようなイメージですかね?

この場合、利用者が任意の文字を書けてしまうので allowSymbol はおかしいですね。
allowChar または 単に allow ですかね。

1文字以上の文字列指定した場合、今の実装だとおかしくなると思います。
その場合は例外を投げて諦めるか、lastIndexOfを使って終端マッチに変更するみたいな実装が必要ですね。

@takahashim
Copy link
Author

なるほど、では { allow: ["、", ":", ":"] }みたいな形でしょうか。
1文字以上の場合は例外で良さそうです。

@azu
Copy link
Member

azu commented Jul 22, 2016

なるほど、では { allow: ["、", ":", ":"] }みたいな形でしょうか。

はい。

1文字以上の場合は例外で良さそうです。

例外メッセージはユーザーがわかる形にしておくと良さそうです。


https://github.com/azu/textlint-rule-prh/blob/master/src/prh-rule.js#L41-L51

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

2 participants