秀丸から textlint などで文章校正するにNo.39324
fzok4234 さん 21/11/04 12:14
 
毎度お世話になっております。

さて、最近ファイル内の自然言語 ( 要は日本語や英語 ) で記述した部分の表記ゆれ
や推奨できない
表現が気になってきました。例えば、
 ●同一プロジェクト内で
  ・「〜のとき」と「〜の時」と「〜の場合」
  ・「フォルダー」と「ディレクトリ」
  といった同義語の異表現が混在。
 ●同一プロジェクト内で
  ・「リポジトリ」と「レポジトリ」
  ・「フォルダ」と「フォルダー」
  といった同音の異表現が混在。
 ●同一プロジェクト内で「ですます調」と「である調」が混在。
 ●日本語の誤用。
  ・整数を「返却」する
  ・System.Exception を try-catch 文で「補足」する
  など。
 ●二重否定などの分かりにくい表現の使用。
 ●ら抜き、さ抜き、さ入れ表現の誤用。
 ●送り仮名の誤り。
 ●常用漢字外の漢字の使用。
といったものです。

いずれも正規表現での検索や置換といった単純な方法ではうまく解決できないため、
今まで一々目視で
確認する作業を行ってきましたが、当然かなりの負担を強いられるためさすがに限界
を感じています。
このため、本格的な文章校正エンジンである textlint や RedPen などに頼りたいと
思っています。

やりたいこととしては、
 ●問題のある個所を「検索文字列の強調」の強調表示を行う。
 ●新しいウィンドウ ( タブ ) またはアウトプット枠に問題の位置と詳細メッセー
ジを一覧出力する。
 ● .txt などの人間が読むためのファイルは全文を、ソースコードのファイルは
「コメント」や
  「文字定数」などで強調表示された箇所のみスキャンする。
 ●複数のファイルを Grep と同じようにワイルドカードとディレクトリパスを指定
したり、ファイル
  マネージャ枠で開かれたブックマークやプロジェクトの登録ファイルを選択して
指定してスキャン
  する。
といったところです。

しかしながら、秀丸エディタと textlint などとを連携させて文章校正を行う具体的
な方法が見つからず
大変困っています。マクロライブラリにも textlint 関連のものは存在しない状態で
す。

このため、なるべく大掛かりなマクロ記述をしないで textlint などを呼び出す方法
があればぜひご教授
よろしくお願いします。


[ ]
RE:39324 秀丸から textlint などで文章校No.39327
秀丸担当 さん 21/11/04 16:52
 

textlintなどについてあまり詳しくないので外しているかもしれませんが、やりたい
ことを全てするとしたら、それなりの凝ったマクロを作る必要があると思います。

大掛かりなことをしなくてやるとしたら、コマンドラインで呼びだしたり、見つかっ
た行にジャンプしたり、といったことで済ますといいかもしれません。

textlintをちょっと試してみたところでは、Windowsの実行ファイルとしてコマンド
ラインのものがあるかわからなかったのですが、node.jsだと[その他]→[プログラム
実行...]で「npx.cmd textlint %f」みたいにして実行できるようです。
詳細指定で標準出力を新規にして、出力はUTF-8のようで、エンコード指定をUTF-8に
します。
うまくタグジャンプに対応した出力になっていればいいのですが、行と桁のあるとこ
ろの行頭にファイル名が付くように、全置換などで整形する必要があると思います。

ソースコード内に書かれた特定の部分を対象にするのを簡単に済ますとしたら、色付
けの部分だけいったん別に抽出するといいかもしれません。
例えば、検索ダイアログで正規表現で「.+」にして、追加の条件をONにして、コメン
トであれば「コメント」「のみ」にします。
「すべて検索 - 範囲選択」で選択してコピーして、他の作業用のファイルにして保
存して、これをtextlintの対象にします。

でも見つかった問題との対応関係がわからないので、元のファイルは「すべて検索 -
 色付け」で色付けして、何番目の色付けかで知るといいと思ったのですが、何番目
かを知る方法が無いです。
何番目か知るとしたら以下のようなマクロしかなさそうでした。
#n=val(input("上から数えた検索の色付けの番号:",""));
if(#n!=0){
  disabledraw;
  gofiletop;
  while(#n>0){
    nextcolormarker 0x01,0,findmarker;
    #n=#n-1;
  }
}
endmacro;

もっといい方法があるかもしれないです。余計に手間になったらすみません。


[ ]
RE:39327 秀丸から textlint などで文章校No.39328
Iranoan さん 21/11/04 18:46
 
fzok4234 さん今日は Iranoan です
> textlintをちょっと試してみたところでは、Windowsの実行ファイルとしてコマン
>ドラインのものがあるかわからなかったのですが、node.jsだと[その他]→[プログ
>ラム実行...]で「npx.cmd textlint %f」みたいにして実行できるようです。
> 詳細指定で標準出力を新規にして、出力はUTF-8のようで、エンコード指定をUTF-8
>にします。
> うまくタグジャンプに対応した出力になっていればいいのですが、行と桁のあると
>ころの行頭にファイル名が付くように、全置換などで整形する必要があると思います。
こちらに関しては、今の私の環境は Windows でも秀丸でもありませんので、Web で
ググった範囲でですが
textlint --help
で実行してもらうとヘルプが見られるので、自分の都合に合わせてオプション指定し
てやると、手間が減らせると思います

ぱっと見た限り、
--format unix
を使うと良さそうです

ファイルでなく現在の編集状態なら
--stdin
も使えると思います

[ ]