5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

エディタ作ったよ!見てみて!

1 :エディタ作ってる人:01/12/14 01:43
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad03.tgz
コンソール上で動く、GRAPADという名前のエディタをつくっています。
僕自身初心者なので(UNIX歴半年)、まだまだ未熟ですが、これからもっと
いろいろな機能を付けていきたいと思っています。
cursesを使って、メニューやダイアログボックスも使えますから、難しい設定はいりません。

以下の環境でコンパイルと実行を確認しました。
VineLinux2.1.5のGnomeターミナル
VineLinux2.1.5のコンソール
RedHatLinux7.1のGnomeターミナル
FreeBSD(98)4.3のコンソール(ダイアログの枠線が化けます)

146 :名無しさん@お腹いっぱい。:02/12/01 16:36
初心者にgrapad使わせるのにdebパッケージでも作るかと思ったのだが、配色
強制なのか。
WindowsからUNIXにアクセスして使う、というライトUNIXユーザもけっこう多
いし、うーん……

あ、あとGTK+エディタだと、こんなのが出てたよ。

ttp://www.maid.org/tmaid/

Windows版もあり。

147 :名無しさん@お腹いっぱい。:02/12/04 19:18
GrapadXプレリリース2を公開しました。
UndoとRedo機能が付きました。クリップボードの使用が安定しました。
結構使えるようになってきましたよ。
GrapadX自身の制作も、GrapadXで行っています。

>>145
Cって多重定義できませんでしたっけ?
それに暗黙の変換ぐらいしてくれてもいいのにとか思ったりしてます。

>>146
grapadも近いうちに手を入れます。grapadxもそのつもりで作っていますから。
そのために内部で文字情報を保持しているchainというクラスは、
純粋なC++のみでライブラリに依存しないように作っています。
あとはユーザインターフェースをかぶせれば、GTKでなくとも
QTだろうがMFCだろうがCursesだろうが、なんにでも対応できます。

148 :名無しさん@お腹いっぱい。:02/12/04 19:29
結構下がってきたのでそろそろ上げますか

149 :名無しさん@お腹いっぱい。:02/12/04 22:05
うむ、楽しみだ。
俺自身はviもEmacsもむしろ好きなので使うことは無いだろうが、初心者にと
りあえず使ってなって言えるエディタがないからねえ。
キラーアプリの可能性すら秘めてるジャンルだけに、超期待。

150 :名無しさん@Vim%Chalice:02/12/04 22:26
>>149
viやemacsはわけわからんからun*xはクソ、とか言うヤシに
「grapad使えやゴルァ!」と言えるようになるといいなあ。

151 :名無しさん@お腹いっぱい。:02/12/05 02:09
vimでもEmacsでもメニューがついてるから、初心者でも問題ないとおもうが。

152 :名無しさん@お腹いっぱい。:02/12/05 02:15
>>151
でも、どちらにしてもある程度使い込まないと便利じゃない(むしろ不便)
というのは事実かと。

153 :名無しさん@お腹いっぱい。:02/12/05 02:37
vi系はモードの違いを意識できるようになるまでが大変だし、Emacsはエディ
タという枠を越えてるからな。
もし議論がしたいなら別スレでやってくれ。

154 :143:02/12/05 07:22
またも RedHat 7.3 でコンパイルエラー。
list.cpp の先頭で #include <stding.h> が必要です。
あと gxlist_find が bool 値を返さないという warning が出る。

C (C++) でプログラムを書くときは、この4行:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
はもうお約束だと思ったほうがいいよ。オレはいつもまず最初に入れてる。


155 :143:02/12/05 07:27
あと、バグ発見。
起動したあとなにか文字をタイプして、いったん undo して、またなにかタイプすると SEGV る。
以下、gdb の出力結果。crtper が正しく戻ってないようす。

GNU gdb Red Hat Linux (5.1.90CVS-5)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run
Starting program: /tmp/grapadx-pr2.0/gx

Program received signal SIGSEGV, Segmentation fault.
0x08054ed7 in CChain::SaveChanged (this=0x80ab370, inputtype=3, x=0, y=0, n=0xbfffe9c4) at chain.cpp:730
730 per[crtper].end->prev->next=new node;
(gdb) print per[crtper].end->prev->next
Cannot access memory at address 0x4
(gdb) print per[crtper].end->prev
Cannot access memory at address 0x4
(gdb) print per[crtper].end
$1 = (node *) 0x0
(gdb) print crtper
$2 = 199
(gdb)


156 :143:02/12/05 07:35
それからクリップボードがどうも X と連携してないみたいです。
Mozilla のように、X的なインターフェイス (選択した部分を真ん中ボタンではりつけ) と
Windows的なインターフェイス (明示的にコピー・ペーストを指示する) が
ミックスされてるとうれしいなあ。

あと、コメントの検出はいまのところ chain.cpp で決め打ちにされてるみたいだが、
設定ファイルで指定できるようにするといろんな言語に対応できて便利。


157 :1:02/12/06 00:34
>>143
すいません。またstring.h入れ忘れました。なんで自分の環境だとエラー出ないんだろう?
Undoはまだバグがありますね。もう少し見直してみます。
中ボタンで貼り付けは、いらないかなとか思っていたんですが、やっぱりいりますかね?
うーん、どうやってやるんだろう?ちょっと調べてみます。

158 :名無しさん@お腹いっぱい。:02/12/06 01:01
#include <cstdio>
#include <cstdlib>
#include <cstring>
こうだよな? やっぱ気持ち悪いべ。

159 :名無しさん@お腹いっぱい。:02/12/07 12:29
1のリンク先403 Forbiddenじゃないか?

160 :名無しさん@お腹いっぱい。:02/12/07 12:59
>>159

>>141を見よ

つうか、なんで sf.net とか使わんの?

161 :名無しさん@お腹いっぱい。:02/12/07 13:08
sfのやり方に沿ってやらなきゃいかんのが面倒だからじゃないの?
一度慣れてしまえばどうって事はないんだろうけど。

162 :名無しさん@お腹いっぱい。:02/12/07 14:01
>>157
-Wall付けとけ(ソースを見ずにパピコ

163 :名無しさん@お腹いっぱい。:02/12/07 14:04
>>160
サンクス。
でも展開してmakeしたらエラー沢山出たんで、嫌になって止めちまった。
cursesでどうやって日本語使うのか知りたかったんだが…

164 ::02/12/07 21:32
sfってsourceforgeの事ですよね?vectorのunix版みたいな感じなのかな・・・?
ちょっとのぞいてみましたが、なんだか面倒そうですね。

165 :名無しさん@お腹いっぱい。:02/12/08 00:43
もうすぐ1年
まったり良スレ
1応援さげ

166 :モナーフォントの作者:02/12/08 03:02
>>1
vectorみたいな使い方もできるけど、肝はcvsだと思う。
ようするに、あなたが指定したメンバーにソースを自由にいじらせる
(といっても履歴つきだから、後から戻そうと思えばもどせる) ことができる。

unixに慣れてないとsshやrsyncは面倒くさく感じるかもしれないけど、
geocitiesにシコシコftpでアップするよりはずっと自由度が高いし、
慣れるとメチャ楽。それと個人的にはバナー広告がでないのがうれしい。

167 :名無しさん@お腹いっぱい。:02/12/08 03:07
そう、nxtのように。

168 ::02/12/08 20:58
あー、ほんとだ、もう1年になるんですね。
でも途中でやめてた時期が長いから、実質2,3ヶ月ぐらいでしょうかね。
いまだにUNIXの使い方に慣れていないので、まずはUNIXに慣れる方が先かも。
特にエディタを作ってる以上、正規表現は絶対避けては通れませんし・・・

169 :名無しさん@お腹いっぱい。:02/12/08 23:41
ベクターは貸し倉庫で、SourceForge はアレだ
ツカサのワンワンオフィスってとこか。

170 :名無しさん@お腹いっぱい。:02/12/16 01:15
とりあえず CChain は std::list を使った方がいいんじゃないか
と言ってみるテスト

171 :1:02/12/22 15:52
std::listはつかったことないのでよくわからないのですが、
C++に標準で装備されてる双方向リストのことでしょうか。
リストのデータ構造についてはそれほど苦労していないので、自分でプログラミングするぶんには
今のままでいいんじゃないかと思っています。

今はundoをずっとやってるんですが、どうも元にもどす位置がずれてしまいます。
もうじき冬休みなので、そうしたら時間をかけてみなおしたいと思います。

172 :170:02/12/29 05:26
>>1
いや、ソース公開してるんだから独自方式より、皆に分かる方が
いいかなぁとか思ったりしたわけです。
まぁ「ソース公開してんだからテメェでやれ」と言われるとアレですが。

173 :山崎渉:03/01/15 13:15
(^^)

174 :名無しさん@お腹いっぱい。:03/01/24 20:11
ねえ、元気? 風邪引いてない?


175 :名無しさん@お腹いっぱい。:03/02/01 14:40
気長に待ち。
完成はサグラダ・ファミリアと一緒くらいか〜。

176 :厨房:03/03/25 07:25
grapadをForte C++でコンパイルしてみた。
1 makefileは使えない。(書き直した)
2.エラーと警告がでた。
dmake: 並列モードをデフォルトとして使用します。
.dmakerc ファイルの設定については、dmake(1) のマニュアルページを参照してください。
Blade --> 1 個のジョブ
CC -c menu.cc
Blade --> 2 個のジョブ
CC -c resistory.cc
Blade --> 2 個のジョブ
CC -c key.cc
Blade --> ジョブ出力
CC -c menu.cc
"menu.h", 行 53: 警告: id が menuitem::id を隠しています.
"liner.h", 行 23: エラー: "CLiner::Init(int, int, int, int)" は値を戻すことを期待されています.
"liner.h", 行 37: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"liner.h", 行 38: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"dialog.h", 行 47: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"dialog.h", 行 48: 警告: waddstr(_win_st*, char*) の呼び出し中の仮引数 2 で文字列リテラルを char* に変換しました.
"editor.h", 行 49: 警告: CDialog::Create(char*, int, int, int, int) の呼び出し中の仮引数 t で文字列リテラルを char* に変換しました.
"editor.h", 行 50: 警告: CDialog::AddStatic(int, int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.

続く

177 :厨房:03/03/25 07:26
続き

"editor.h", 行 51: 警告: CDialog::AddButton(int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.
"editor.h", 行 80: 警告: CDialog::Create(char*, int, int, int, int) の呼び出し中の仮引数 t で文字列リテラルを char* に変換しました.
"editor.h", 行 81: 警告: CDialog::AddStatic(int, int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.
"editor.h", 行 82: 警告: CDialog::AddButton(int, int, int, char*) の呼び出し中の仮引数 caption で文字列リテラルを char* に変換しました.
1 個のエラーと 11 個の警告が検出されました.
*** エラーコード 1
dmake: 致命的エラー: ターゲット `menu.o' の構築用コマンドが失敗しました。

あと、UNIXで動作確認してないのにUNIX用を名乗って、漏れみたいなのから電波照射されたりしてない?


178 :厨房:03/03/25 07:32
liner.hの"CLiner::Init(int, int, int, int)"
に戻り値として0を返すよう付け加えたらコンパイルは通ったが、
core吐いて落ちた。
以上



179 :名無しさん@お腹いっぱい。:03/03/25 22:16
ヘボ

180 :名無しさん@お腹いっぱい。:03/03/26 01:40
>>179
・・・そうか
コンパイルに上手・下手があったのか。
それはしらなんだな。

181 :名無しさん@お腹いっぱい。:03/03/26 01:56
>>178=180=181
editor.cppの448行目からの3行をコメントアウトしたら、
とりあえず動いた。


182 :山崎渉:03/04/17 12:38
(^^)

183 :山崎渉:03/04/20 05:53
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

184 :山崎渉:03/05/22 02:09
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

185 :名無しさん@お腹いっぱい。:03/06/06 17:47
>>1=>>171の冬休みはまだかーい?

186 :山崎 渉:03/07/15 11:35

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

187 :あぼーん:あぼーん
あぼーん

188 :あぼーん:あぼーん
あぼーん

189 :名無しさん@お腹いっぱい。:03/12/13 19:51
Grapadもうどこにもないの

190 :名無しさん@お腹いっぱい。:04/01/13 02:26
テキストフォーマットに標準の仕様ってありますか?
ここには改ページが FF って書いてあるけど、Form Feed (書式送り?)って
改ページと同じなの?

http://www.atmarkit.co.jp/icd/root/79/49634379.html

191 :名無しさん@お腹いっぱい。:04/01/16 08:13
>>190
man ascii


192 :190:04/01/17 17:36
うちのリッチテキストエディタでは目出度く ^L で改ページになりやした。
これで良いか。

193 :名無しさん@お腹いっぱい。:04/04/30 15:39
1はどこいった?

194 :名無しさん@お腹いっぱい。:04/04/30 17:01
ぬるぽ

195 :名無しさん@お腹いっぱい。:04/04/30 18:22
>>194 がっ

54 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)