カテゴリ:新規実装( 14 )
 | Top  | 
段落ごとインデントする機能


作ってみました。


まずこの機能自体の on/off をプロパティ indent-paragraph で指定します。


それから以前考えたように、段落最初の行の空白があまりに長すぎる場合、後続する行のインデントを単純に合わせてもみ難いので、プロパティ indent-paragraph-limit というのを 0.0 ~ 0.75 くらいで指定するようにして、空白文字列が折り返し幅に対してその幅以内の割合ならインデントする、というような感じにしてみます。


空白文字列というのは、タブか Unicode のプロパティが Zs な文字ということなのですが。これに追加の文字列を指定できるようにしたら便利といえば便利かな。



◎箇条書きみたいな感じに表示する
 ことができます。

のように空白列 + 任意の 1 文字までをインデント量とみなす感じ。必要でしょうか?


[PR]
by knife37 | 2005-09-22 21:23 | 新規実装  | Top  | 
今夜が山だ

コピーと貼り付けは、めどいのでやめました。


メニューからテーマの裏・表を切り替えられるようにしてみました。壁紙のフィルタが「明るく」か「暗く」であった場合、連動するようにしました。


だいたい萌ディタ側は動いてきたような。次はスクリプトをいろいろ直さなければいけません。。。




なんかむらむらと、スクリプトエンジンを別スレッドで動かしたくなってきました。


[PR]
by knife37 | 2005-09-06 21:02 | 新規実装  | Top  | 
書きまくり

デフォルトスタイルの解析部分を書いた。編集用のテーマクラスに必要なプロパティやメソッドをいろいろ書いた。デバッグ用にテーマの内部情報のダンプ処理を書いた。編集用のテーマをエディタ側のテーマに assign するところを書いた。スタイルの内部情報を外部に公開する形式に変換する処理を書いた。


次はテーマの更新に応答して、各字句解析器内に保持しているスタイル情報を更新する処理を書きます。




書きました。とりあえず設定したものが反映するようになった。


次は ini ファイルへの保存。




書きました。


次はコピーと貼り付け。


[PR]
by knife37 | 2005-09-05 21:26 | 新規実装  | Top  | 
印刷の画面をつくた

まだ外面だけで全然動きません。



[PR]
by knife37 | 2005-01-13 23:44 | 新規実装  | Top  | 
印刷を作り始めた

WinSpool な API(DocumentProperties())でプリンタの設定ダイアログを出してみると、ダイアログを閉じたところで必ず例外が発生するのにハマった。なんか、IDE から実行させてるとそうなるようです。exe 単体だと普通に動く。んーデバッグしにくいな。。。


[PR]
by knife37 | 2005-01-11 20:49 | 新規実装  | Top  | 
範囲内の置換を実装

というわけで、できてきました。


ええとですね、のんびりやってたので何を作ってたか忘れそうですが。。。「選択範囲内に限定して置換をする」という機能を作ってみました。



こんなふうに、範囲選択した状態で置換をしようとします。



置換のダイアログのオプションに「選択範囲内のみ」というのが増えているので、それをチェックします。で、実行。


ちなみにこのダイアログ、Enter を押すと「次を検索」ボタンを押したことになりますが、Shift+Enter を押すと「前を検索」ボタンを押したことになります。



置換を開始すると、検索の範囲が選択範囲内のみに制限されます。図でグレーになっている文字はアクセス禁止領域ということで、検索対象になりません。


図でいう metameta のように、検索文字列がアクセス禁止領域との端点をまたいでいる場合も、検索にヒットしません。



置換が終了すると、アクセス可能領域が選択範囲に戻ります。この辺の動作は WZEditor に似てます。




こういう機能(置換の機能が、置換範囲が選択範囲内か否かに影響されない)は、手持ちのエディタだと WZEditor と秀丸エディタが持っています。で、萌ディタのそれは WZEditor に近い動きになっていると思います。


ただ WZEditor 4.00Fe の場合、置換を終えると置換前のキャレット位置を復元してくれるのですが、このときカーソルキーを押すと意味のないスクロールをするのです。これでキャレットを見失うことが(わたしは)よくあるので地味に使いにくいです。。。


ということで、そこは合わせないようにしてみました。


[PR]
by knife37 | 2005-01-03 19:48 | 新規実装  | Top  | 
うほっ?

ふと、ナビゲータにバルーンなツールチップを出せるようにしたらおもしろいかも、と作ってみました。



なんかヤなナビゲータですが。。。



More
[PR]
by knife37 | 2004-12-20 17:13 | 新規実装  | Top  | 
インデント

ええと、選択範囲外が変更されるのは気にしないことにしました。


スクリプトからは App.Caret.Selection.Indent(); みたいな感じで呼び出します。ついでなので Selection オブジェクトに SelectWord()、SelectParagraph()、SelectAll() も追加。


インデントについてもいろいろなエディタを見比べてみると、特にインデント後の選択範囲とキャレットの扱いに様々な形があるみたいです。



  • 選択範囲は段落の先頭まで拡張する and/or 選択範囲は段落(または折り返し行)の末尾まで拡張する

  • 選択範囲はインデント前から変化しない(ただし、インデントした分だけ相対的にはずれる)


と、



  • キャレット位置は拡張された選択範囲の先頭に移動する

  • キャレット位置は拡張された選択範囲の末尾に移動する

  • キャレット位置はインデント前から変化しない(ただし、インデントした分だけ相対的にはずれる)

  • キャレット位置はインデント前からまったく変化しない


のいずれかの組み合わせになる感じ。


あと、インデントした領域について Undo したときに選択範囲を再現するかというと、再現しないエディタが多勢っぽいですが、萌ディタの場合は選択範囲への入力操作を Undo したときは選択範囲を再現するようにしているので、インデントについても同じような感じにしてみました。




次は置換。


[PR]
by knife37 | 2004-12-14 21:18 | 新規実装  | Top  | 
PHP でも補完

さて、最後に残った PHP ですが。実は PHP の拡張子クラスは萌ディタスレで作っていただいたものをちょっといじった程度で、わたしは PHP を使ったことがないのです。


これはよくないということで、AN HTTPDPHP を入れてみました(PHP5 だと cgi の実行に php.exe ではなく php-cgi.exe を使うようになったということにハマったというのはないしょ)。リファレンスはこのあたりを参照してみます。


それにしても膨大な組み込み関数、定数。




とりあえず php や javascript や vbscript や css を含んだ html ファイルとかで、各々の言語に応じた補完処理を呼び出せるようになった。




でもぼちぼち実使用してみると、



  • tab、shift+tab でインデント、アンインデント

  • 範囲内の置換


がないのが致命的です。このへんを作ってみます。インデント系はなかやとさんにスクリプトを作って戴いてますが、萌ディタ内で実装したほうがメモリ上の効率はよさそうなので一応。。。


[PR]
by knife37 | 2004-12-09 21:16 | 新規実装  | Top  | 
いよいよ雪?

朝起きたら雪が降ってたので狂喜乱舞してたら、午後になって晴れちゃった。


つまらないなり。




VBScript、C にも補完を組み込んでみました。コメントや文字列中の URL もクリッカブルになるようにしてみました。


とかやってたらマシンが落ちた。




URL の上にマウスカーソルがあるとき、その形も変わってくれるととてもわかりやすいわけですが。WM_MOUSEMOVE のたびにカーソル下の段落について字句解析しなおしたら重そうです。




右クリックのイベントは、やはり、やめにしました。


Enter 入力時の動作をちょっと調整。


キャレット行のガイドラインを細かくしてみました。


[PR]
by knife37 | 2004-12-06 23:14 | 新規実装  | Top  | 

 | 
S M T W T F S
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 31
検索
最新のコメント
Hi! Good stu..
by lacedkl at 10:19
i think abou..
by MaybridabanTy at 06:31
Thank you!
by Roy at 20:27
Thank you!
by Patrick at 20:26
Great work!
by Andy at 20:25
Thank you!
by Rex at 20:23
Great work!
by Maggie at 20:23
I love it: ..
by siljb at 15:51
Keep up t..
by reizomo at 15:40
http://0buyp..
by affomfobe at 02:56
最新のトラックバック
football nfl..
from football nfl t..
big penis
from big penis
lossless aud..
from lossless audio..
julianna ros..
from julianna rose ..
mind games
from mind games
game online ..
from game online po..
outer bank p..
from outer bank pet..
lingerie tee..
from lingerie teen ..
pisces chara..
from pisces charact..
wakefield co..
from wakefield coll..
フォロー中のブログ
ファン
記事ランキング
ブログジャンル
画像一覧