Bluefish 関連/Outputbox で日本語を使う

Bluefish 関連/(過去)Outputbox で日本語を使う

2025年12月29日

Outputbox とは

メニューの 起動 → Outputbox... からコマンドを選択して実行し、
その結果を Bluefish ウィンドウの下側に表示する機能です。

対象ファイル名、行番号、メッセージに分割してくれるので読みやすくなっています。
またクリックすると、ファイルの該当箇所に飛びます。
プログラミング言語の統合開発環境を使い慣れた方なら、すぐにイメージは掴めると思います。

 

Outputbox でHTML lint を実行したところ

[Outputbox でHTML lint を実行したところ]

上の画像が使用例です。石野 恵一郎さん の Another HTML-lint(ダウンロード版) で、このファイルの HTML 準拠をチェックしました。
赤丸で囲んだ部分が実行結果です。

 

日本語を使うためには

次の 2つの手順が必要です。

    1. Outputbox の設定で、コマンドの出力を UTF-8 にする
    2. プログラムにパッチを当てる(安定版のみ)

 


Outputbox での設定

メニューの 編集 → 環境設定 から開くウィンドウの左側で、出力パーサ のタブを選択します。
各項目の意味は、次の通りです。

名前
起動→Outputbox メニューで表示される名前を指定します

 

パターン
コマンドの出力結果を構文解析するための、正規表現パターンを入力します。

 

ファイル名パターン#
パターンの中の、何番目がファイル名を表すのかを数字で指定します。なければ -1 にします。

 

行パターン#
パターンの中の、何番目が行番号を表すのかを数字で指定します。なければ -1 にします。

 

出力パターン#
パターンの中の、何番目がメッセージを表すのかを数字で指定します。なければ -1 にします。

 

コマンド
メッセージを出力するためのコマンドラインを指定します。出力が UTF-8 でない場合は、
| nkf -w を追加するなど、出力が UTF-8 になるようにしてください。
ここで使用されている nkf は漢字コードを変換するためのフィルタです。

 

出力をすべて表示しない
このチェックボックスをチェックすると、パターンに従っていない出力行は、表示されません。
結果のまとめなどが最後に表示される場合、必要なければチェックしてください。

 

設定例

上の画像を取り込むのに使用した、
Another HTML-lint を使用するための設定例を書いておきます。

 

名前
Another HTML-lint

 

パターン
([a-zA-Z0-9/_.-]+)\(([0-9]+)\): ([0-9]+): (.+)

 

ファイル名パターン#
1

 

行パターン#
2

 

出力パターン#
4

 

コマンド
htmllint '%s' | nkf -w

ここで使用されている %s は、現在編集対象となっているファイルを表します。
その他の %付き指定子については、環境設定 → 起動プログラムの設定 タブで表示される、
ユーティリティとフィルタ 欄の脚注を見てください。


プログラムにパッチを当てる

文中に個別のファイルへのリンク(リンク切れ)が残っていますが、ココログが po ファイルのアップロードに対応していないため、別の場所に格納することを検討中です。 github とか?

安定版(1.0系列) では、そのままでは Outputbox で日本語が使えません。
この問題を修正するためのパッチを用意しました。以下の手順で適用してください。

autoconf が使える場合

このパッチ を使ってください。
configure.ac,
bluefish.h,
outputbox.c を変更します。

ダウンロードして outputbox.diff という名前で保存したら、

$ cd bluefish-1.0.5 (bluefish のソースを展開したディレクトリへ移動)
$ patch -p1 < outputbox.diff
$ autoconf
$ ./configure
$ make

でビルドします。

 

autoconf が使えない場合

上のパッチに加えて、
このパッチも 使ってください。こちらは、configure に対するパッチです。

ダウンロードして outputboxc.diff という名前で保存したら、


$ cd bluefish-1.0.5 (bluefish のソースを展開したディレクトリへ移動)
$ patch -p1 < outputbox.diff
$ patch -p1 < outputboxc.diff
$ ./configure
$ make

でビルドします。

 

安定版の Outputbox で日本語が使えない理由

要は、regex が日本語に対応していないため、です。
コマンドからの出力を正規表現に従って解析するところで、日本語をうまく処理できないようです。

私のパッチでは、同じ API を持つ pcreposix に入れ替えることで、対応しています。
開発版(CVS)では、outputbox 処理に regex を使用していないので、この問題は発生しません。

 

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

2026年6月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
無料ブログはココログ