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

SOFT HYPHENを削除する? #735

Closed
hotwatermorning opened this issue Jan 27, 2020 · 8 comments
Closed

SOFT HYPHENを削除する? #735

hotwatermorning opened this issue Jan 27, 2020 · 8 comments

Comments

@hotwatermorning
Copy link
Member

バッククオートで囲まれたクラスや関数の名前で、アンダースコアの直後に SOFT HYPHEN (\u+00AD) が含まれている箇所がいくつかあります。

個人的にはこれはあまり必要ではなくて、一括で取り除いてしまってもいいかなと思いますが、どうでしょう?

補足

SOFT HYPHEN は、単語を行末で折り返す必要が生じたときに、折り返す行の最後にハイフンを補うことを指示するための記号です。

SOFT HYPHEN があると、エディタによっては原稿中のクラス名や関数名が正しく検索できない問題があります。
(例えば、 vim で reference/memory/make_shared.md b/reference/memory/make_shared.md 中の shared_ptr を検索すると、 SOFT HYPHEN が含まれた shared_ptr の文字列は検索対象になりません)

また、クラスや関数の名前は、(それが非常に長い場合は名前の途中で折り返したいこともあるかもですが、)通常の長さであれば名前全体を次の行に折り返すようにして、名前の途中で折り返さないほうが見やすいと思うので、通常は名前の途中に SOFT HYPHEN を入れる必要はない気がします。

参照

#601

@onihusube
Copy link
Member

おそらく意図的に入れているものではなくて、一部のブラウザでコピペするときに_やハイフンの後に勝手に入ってるだけだと思います。
なので、消してしまっていいかと

@hotwatermorning
Copy link
Member Author

ゼロ幅スペース (\u200b) が変なふうに含まれている箇所もあるので、それも合わせて修正します。

@yumetodo
Copy link
Member

というか経緯みるに今後もうっかりやらかしそうなので、チェックスクリプトを書いていっそCIに掛けるとかしてもいいかもしれません。

@hotwatermorning
Copy link
Member Author

@yumetodo おっと。とりあえず手動で消して push しちゃいました。

うっかりやらかすこと考えると、自動でやる仕組み整備しておいたほうが良さそうですね。

@yumetodo
Copy link
Member

ag -l "\xAD" | xargs sed s/\xAD//gで自動化できないかと思ったんですが、なんかうまく行かない

@hotwatermorning
Copy link
Member Author

僕のところだと sed に直接文字を指定するのがうまくできなかったので、次のようにして一度変数に対象の文字を入れてから sed で変換しました。

TARGET_CHAR=$'\u200b'

# mac 環境なので homebrew で入れた gnu 版 sed である gsed を使っている。
find . -name "*.md" -print0 | xargs -0 gsed -i "s/$TARGET_CHAR//g"

@yumetodo
Copy link
Member

rg -t md '[\u00ad\u200b]'のほうが超高速に検査できることがわかった。

置換は手動でやるとして、検査するだけのCIの設定組もうと思います。Github Actions 作る権限あったかな・・・

@faithandbrave
Copy link
Member

見つけたら or CIに引っかかったら消すという方向で。

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

No branches or pull requests

4 participants