nEditというテキストエディタを改造して、自分用のテキストエディタを
nEditというテキストエディタを改造して、自分用のテキストエディタを作ろうと考えているのですが…。
環境
OS:Windows XP
言語:C言語(bcc55)
http://www.shiftup.net/ (シフトアップネット)
というサイトの
http://www.shiftup.jpn.org/flash/game2/ (ツクアド2)
というコンテンツがあります。
子供でも簡単にブラウザ上でプログラミングができ、なお且つ簡単にゲームを公開できると言うコンテンツです。
ただ、その簡単さ故に大した機能もありません。
ファイルの分割ができない、関数と言う概念がない、マクロ定義もできない…。
そこで、ツクアド2用のテキストエディタを作成し、追加命令を作ろうと思います。
「ファイルを分割して管理し、結合する」
main.txt func0.txt , func1.txt , func2.txt
という4つのファイルがあったとして、
main.txtに
#include "func0.txt" (ツクアド2の言語使用ではセミコロンはコメント化なので;は使えない)
#include "func1.txt"
#include "func2.txt"
と記述しコンパイルすると、新たにウィンドウが開いて3つのファイルを結合後のファイルを表示する。
「#enum」
#enum {A,B,C}
と記述しコンパイルすると
A = 0
B = 1
C = 2
に変換する
などを実装したテキストエディタを作りたいです。
1からテキストエディタを作成するのにはあまりにも無知なのでオープンソースのnEditをダウンロードしてきました。
rcファイルに、コンパイル用のメニューを追加して、メッセージを受け取るところまでは作りました。
で、メッセージを受け取った後どうすればいいのかわからないんです。
正規表現を使って置換しようと思ったのですが、C言語って正規表現サポートしていないみたいです…。
そこでregex.hというライブラリを探してきて、使おうと思ったら、コンパイルエラーがでてしまいました。
どうやらstream_iteratorヘッダのtemplateという文が原因のようです。
で、よくソースを見てみるとC++のソースでしたorz
.cでコンパイルできるわけもないので、.cppにファイルを変換してコンパイル…(。
したら今度はnEdit.cが驚くほど大量のエラーを履きました(C++はCの上位互換程度にしか考えてませんでしたが上手くいきませんでした。。)
流石に他人が書いたコードをcpp用にデバッグするのは厳しいです。。
なんとかする方法はないでしょうか。
他にC言語で正規表現を使えるようにする方法はありますか?
それとも正規表現を使わなくても希望の動作が可能な方法はありますか?
お礼
ありがとうございます。早速DLして試してみました。 このソフトは付箋ファイルとしてアプリケーションに登録されていないと付箋ウインドウにならないのですね? 当方の使用目的としては、無数にある既存のテキストファイルを内容に応じて「これはここ、これはこのあたり」と言う具合に並べて同時に見比べながら編集を行います。ただ、作業するファイルは順次新しいものを次々に処理していかねばならず、登録型のアプリケーションでは逆に使いづらくなってしまいます。 また随時必要に応じて過去のファイルを再編集しなければならないものですから、一度ウインドウの大きさと位置を設定したファイルはその情報を覚えてくれると非常に有難いんです。 このソフトはちょっと用途が違うかも、です。教えていただいてまことに申し訳ないのですが・・・