-
Notifications
You must be signed in to change notification settings - Fork 163
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
sakura.hhp で
sakura_core\sakura.hh` を参照するのをやめてコメントをカットした sakura.hh を使うようにする (python 版)
#930
sakura.hhp で
sakura_core\sakura.hh` を参照するのをやめてコメントをカットした sakura.hh を使うようにする (python 版)
#930
Conversation
メモ 方針がまだ決まってないので、ドキュメントは変更してません。 |
Locale Emulator で HHC.exe を日本語起動できそうなので保留中。 |
この PR はこのまま進めてもいい気がします。 また sakura.hh は UTF8 なので、ロケールを shift jis にしたところで python を必須にしたくないということであれば #929 に記載した別の言語を使う選択肢もあります |
↑ 誤植修正 |
Locale Emulatorの件とは別に考えても良いと思ってます。 「コメントをカットする」=「ASCIIにする」なんですね、要するに。 HHCがsjisしか扱えないとするとutf8も無理なわけで。 コメントだからと残しておくと、また行末記号を取りこぼす怪現象が起きそうな地雷ゾーンになりそうで怖いです:sob: Pythonの必須化については、既に必須みたいな感じになのでこだわるポイントじゃなさそうに思っています。必須化するならfind-toolに入れたいですが、後追いでいいんじゃまいかと思っとります。 |
draft pr を解除しました |
ドキュメント忘れてた |
ドキュメント追加しました。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
問題ないと思います。
python3にパスを通した状態で build-chm.bat
を実行し、
コメントが削られた help/sakura.hh
が生成されたのを確認しました。
行末に空白が残っていたのは見なかったことにする感じで 😄
|
||
# 引数で指定した文字列から改行コードを取り除く | ||
def clipEndOfLine(line): | ||
return line.rstrip('\r\n') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
関数名には突っ込まない方針がいいのかな?と思いつつ・・・。
ニュアンス的には trimかstripじゃないのかな、と。
return line.rstrip('\r\n') | ||
|
||
def clipCommet(line): | ||
return re.sub(r'//.*', r'', line) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
raw文字列。C++的にも LR"(//.*)"
と書けるようになってますね。
for line in fin: | ||
text = clipEndOfLine(line) | ||
text = clipCommet(text) | ||
fout.write(text + "\r\n") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ん?と思いましたが、生成された help/sakura.hh
の行末は正しく出力されていました。
|
||
if __name__ == '__main__': | ||
if len(sys.argv) < 3: | ||
print ("usage: " + os.path.basename(sys.argv[0]) + " <src file> <dst file>") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
あえて 2系&3系 両対応で書いてある雰囲気を感じました。
個人的には python3 専用でいいような気がしますが。
(#930 の不備修正) help\sakura\sakura.hh が存在しない環境で chm をビルドしたときにエラーメッセージが出るのを修正
…akura-hh sakura.hhp` で `sakura_core\sakura.hh` を参照するのをやめてコメントをカットした sakura.hh を使うようにする (python 版)
…ra_hh_in_advance (sakura-editor#930 の不備修正) help\sakura\sakura.hh が存在しない環境で chm をビルドしたときにエラーメッセージが出るのを修正
PR の目的
sakura.hhp
で
sakura_core\sakura.hh` を参照するのをやめてコメントをカットした sakura.hh を使うようにするカテゴリ
PR の背景
#929 の説明欄に詳説しているが、「 #807: HTML ヘルプの文字コードを UTF-8 BOM 付きに変換する 」
で sakura.hhp のコンパイルに失敗する問題を回避するため
PR のメリット
HTML ヘルプの文字コードを UTF-8 BOM 付きに変換しても CI でビルドできる。
PR のデメリット (トレードオフとかあれば)
HTML Help のビルドに python が必要になる。
PR の影響範囲
HTML Help のビルド
関連チケット
sakura.hhp
でsakura_core\sakura.hh
を参照するのをやめてコメントをカットした sakura.hh を使うようにする #929参考資料