top  Index  Search  Changes  RSS  Login

ReferenceBrowser

ReferenceBrowserPrototype - 叩き台


ReferenceList (2005-02-13 02:40:43)


なんでも (2005-02-11 21:18:32)

  • 2005-02-10 (木) 16:05:23 あのですね : 一覧であるファイルにカーソル移動するとそのファイルがリファーしているファイル(1〜N枚)が次のペインに表示され、更にそこであるファイルを選ぶとそのファイルがリファーしているファイルが更に次のペインに表示され・・・というようなSamlltalkもどきの一覧は可能ですか?
  • 2005-02-10 (木) 16:08:49 あのですね : 上のSmalltalkもどきの逆:一覧であるファイルにカーソル移動するとそのファイルをリファーしているファイルが・・・・というのも可能ですか?リンクの融通無碍さは好きだけど、ときどき絡み合ったメモをツリー上で展望したいとおもったりするもので・・・
  • 2005-02-10 (木) 23:44:39 名無しさん : LinuxZaurusEBtみたいなイメージ?
  • 2005-02-10 (木) 23:44:57 名無しさん : 「リファーしているファイル」って, howm の場合は何だと思えばいいですかねえ? >>>が指してる先, ではないですよね…
  • 2005-02-11 (金) 03:24:31 あのですね : いえ、まったくそのとおりで、>>>の指している先だけです。EBtはどうしてもツリーは一本だと思うけど、howmなら一本に限定されないと思うので、便利だろうな、頭の整理にもなるだろうな、と!
  • 2005-02-11 (金) 03:31:40 あのですね : howmで>>>を多用すれば、ファイル間のリンクは多量になり、ファイルツリーが複数重なった状態になるわけで、それを一本ずつ取り上げて見ることができるのは、推理小説の謎解きのように面白いはず。でも多量のgrepが必要で時間がかかってしまうでしょうか?

イメージがわかってないから, とりあえず叩き台.

自分自身は goto よりも come-from をメインに使ってて, あんまり御利益ないけど…

(defun my-howm-links ()
  "カレントバッファ内の goto リンクを一覧.
ただし, goto リンク上で呼んだら, リンク先ファイル内の goto リンクを一覧.
(後者は, 今のところ, ファイル名への goto リンクだけが対象)"
  (interactive)
  (let* ((target (save-excursion
                   (and (re-search-backward howm-ref-regexp
                                            (line-beginning-position) t)
                        (looking-at howm-ref-regexp) ;; to pick whole form
                        (match-string-no-properties howm-ref-regexp-pos))))
         (f (and target (expand-file-name target))))
    (if (and f (file-regular-p f))
        (my-howm-links-from-this-link f)
      (my-howm-links-in-current-buffer))))

(defun my-howm-links-from-this-link (f)
  (with-temp-buffer
    (insert-file-contents f)
    (my-howm-links-in-current-buffer)))

(defun my-howm-links-in-current-buffer ()
  (let ((targets nil))
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward howm-ref-regexp nil t)
        (setq targets (cons (match-string-no-properties howm-ref-regexp-pos)
                            targets))))
    (if (null targets)
        (error "No links.")
      (progn
        (pop-to-buffer (generate-new-buffer "*links*"))
        (text-mode)
        (mapcar (lambda (f)
                  (insert (format howm-template-file-format f) "\n"))
                (reverse targets))
        (goto-char (point-min))
        (howm-mode 1)
        (setq buffer-read-only t)
        (set-buffer-modified-p nil)))))

  • 2005-02-11 (金) 21:27:47 名無しさん : 「Samlltalkもどきの」っていうのが??? Squeak でも試せます?
  • 2005-02-11 (金) 21:34:34 名無しさん : EBt も, ツリーっぽく表示してみせてるだけで, 実際はぜんぜんネットワークなんじゃなかったでしたっけ?
  • 2005-02-12 (土) 10:58:27 あのですね : うはー、素早いですね。感謝感激。こういう感じなんです。で、私の理解が正しいかどうかわからないけど、これが、一覧の中から呼び出せて、その結果が一覧表の第2ウインドゥにファイル名で表示されるといいなというのが、わがままな望みだったわけです。
  • 2005-02-12 (土) 10:59:56 あのですね : そして、今度は第2ウインドウのどこかのファイル名の上で呼び出すと、今度はそれのgoto先が第3のウインドゥに、というふうに。
  • 2005-02-12 (土) 11:07:11 あのですね : EBtについてはちょっと試した程度でよく知りませんでした(ぺこり^2)。そうなんですか。Smalltalk風と書いたのは、上のような一覧表示での利用を考えていて、Smalltalkのクラス・インスタンス・メソッドの表が横にウィンドウが3〜4つ並ぶのを思い出していただけで、Squeakで使うとか大それたことを考えているわけではありません。SqueakもSWikiをZaurusで使えるようにしているのだけど、ちょっと重いかな。。
  • 2005-02-12 (土) 11:10:14 あのですね : gotoだけでなくcome-fromでも同じことができると便利ですよね。要するにdependencyの表示みたいなイメージでした。例として
  • 2005-02-12 (土) 11:12:54 あのですね : No linksのときは、第2ウィンドウは空になる。第一でlinkのあるファイル上で呼んだときだけ、第2ウィンドウにGOTO先ファイル名が(1〜N枚)表示される。こんなんで、わがままな希望のイメージ伝わりましたでしょうか?
  • 2005-02-12 (土) 11:18:18 あのですね : その一覧の第3ウインドゥはファイルの中身そのものが表示されている。で、もし、2段階以上リンクをたどっていく場合には、現在の第1ウインドウの中身は現在の第2ウインドウの中身になって、更にその第2(今は第1)ウィンドウのファイル名で呼び出すと、そのGOTO先が第2ウィンドウに表示される。第2ウィンドウのリストの最初のファイル名の中身が第3ウィンドウに表示される。くどいですね・・^^)
  • 2005-02-12 (土) 11:20:29 あのですね : で、その途中で、GOTO表示関数でなくcome-from関係関数を呼び出すと、上のような移動が逆方向に起きる。また、くどいでした^^;
  • 2005-02-12 (土) 11:27:07 あのですね : よーするに、今のシステムだと、次のリンクへたどるには実際のファイルに入ってからでないと駄目かと思うのです(誤解?)が、それをファイルに行かずにたどれるような機能が一覧表にあったら、ということでした。
  • 2005-02-12 (土) 11:35:02 あのですね : ファイル内には複数のGOTOやCOME-FROMがあるでしょうけど、そのどれをたどるかは一旦無視して、ファイル間の関係だけになるとは思うのですが、全体像が把握できればいいな、というところです。取り上げていただいてありがとうございます!!
  • 2005-02-12 (土) 12:22:59 あのですね : 追伸: 上のように順次移動していけるなら第3ウィンドウはなくてもいいですね。

Squeak の System browser

  • 2005-02-12 (土) 16:11:10 名無しさん : あ, いえ, えと… > Squeak. (1) Smalltalk って使ったことがない. (2) なので, 「Samlltalkもどきの」と言われてもわからない. 実物を試せればイメージわくんだろうけど. (3) Squeak なら手元で手軽に試せる. (4) というわけで, 「Samlltalkの一覧」を Squeak で試せるんだったら, やり方を教えてください. …というつもりでした. class browser みたいなやつのことかな?
  • 2005-02-12 (土) 16:11:39 名無しさん : LinuxZaurus ならポケット Squeak マシンにもなるんですね. いいなあ. マウス嫌いで Squeak には住みつかなかったんだけど, PDA なら遊びがいありそう.
  • 2005-02-12 (土) 22:32:39 あのですね : そうそう、class browserとか呼んでましたっけ。順にリファレンスしているファイル(クラスやインスタンスの意味で)をたどっていけるやつ。あのシステムって一見型にはまってて窮屈そうなのですが、意外にわかりやすいと感じる面も。今回、勝手な希望を述べさせていただいたのもそういう面の一つです。Squeakマシンになるし、そんなに遅くはないので、手のひらのWEBサーバにしても、そんなにひどくないみたいです。遊びとしては楽しいです。デスクトップからZaurusのHPにアクセスするのはなかなか奇妙でいいです。もっとも、デスクトップの方のXサーバでZaurus使っている感じでしょうか。SqueakもSmalltalkだからブラウザは同じです。
  • 2005-02-12 (土) 22:34:38 あのですね : ブラウザの説明は言葉ではやはり上手く伝えられないかもしれません。上ので精一杯かな。。ぜひ、Squeakwo
  • 2005-02-12 (土) 22:37:52 あのですね : ブラウザの説明は言葉ではやはり上手く伝えられないかもしれません。上ので精一杯かな。。ぜひ、Squeakをお試しください。NihongoSqueakの最初のわかりやすそうな画面にはブラウザはないけれど、マウスの耳を右左しているとそのうち出てくるはずです。
  • 2005-02-12 (土) 22:39:32 あのですね : あ、マウス嫌いでしたね。すみません(気持ちはわかります--Emacs使う人)。
  • 2005-02-13 (日) 00:17:06 名無しさん : マウスの耳ってどこでしょう? ^^;
  • 2005-02-13 (日) 01:23:33 あのですね : クリックすると何かしてくれる場所ですってば^^)右クリックだったかで画面左上に出るファイル・アイコンをクリックする→デスクトップ・メニューを選ぶ→ワールド→開く→browser(b 
  • 2005-02-13 (日) 01:24:32 あのですね : で、出てくるのがSystem browserです。と思った・・・
  • 2005-02-13 (日) 01:36:40 あのですね : Ctrl右クリックでないと駄目なバージョンもあるかもしれません。なんだかんだやってるとどこかでポップアップ・メニューの中に「開く」があって、それを選ぶとSystem Browserになると思います。って、もうきっとたどりついちゃっていると思いますが。
  • 2005-02-13 (日) 01:49:59 あのですね : 上手く表示してくれるかわからないけど、こんなの:
  • 2005-02-13 (日) 01:51:48 あのですね : だめでした。。。
------------------------------------------------------------------
| aaaa ■         |jjjj           |ssss            |vvvv         |
| bbbb            |kkkk           |tttt            |wwww         |
| cccc            |llll           |uuuu            |             |
| dddd            |mmmm   ■      |                |             |
| eeee            |nnnn           |                |             |
| ffff            |oooo           |                |             |
| gggg            |pppp           |                |             |
------------------------------------------------------------------
| file(?)contents                                                |
  • 2005-02-13 (日) 01:55:15 名無しさん : ふむふむ. なんか一覧があって, クリックすると, その項目の内容が表示される. しかも同時に, 「関連項目」がまた別のペインで一覧表示される. ってわけですね.
  • 2005-02-13 (日) 01:57:17 あのですね : HTMLだからかスペースが死んじゃうので上手くいきませんでした。想像でスペースいれてください。そういうことです。その同時に関連項目が別のペインで、というところが欲しいなという部分です。
  • 2005-02-13 (日) 01:59:56 あのですね : howmの一覧でもカーソル移動させるとファイルの中身がそんな感じで順次表示されますよね。それを中身ではなくてファイル名(あるいはタイトル)で表示していき、最後にRETでも叩くとファイルの中身という具合です。
  • 2005-02-13 (日) 02:01:54 あのですね : System Browserみたいに上4ペイン、下1ペインというのは面倒そうだから、上2〜3ペインでまねられないかな、と。
  • 2005-02-13 (日) 02:13:18 あのですね : すみません、上の----------------辺りのゴミ、消去してください。でした。
  • 2005-02-13 (日) 02:38:56 名無しさん : 編集しますから, ちょっと書き込まないでください.


  • 2005-02-13 (日) 02:48:36 名無しさん : 編集完了 :-)
  • 2005-02-13 (日) 04:58:38 名無しさん : howm のメモが作るネットワークって, 二部グラフになるところがおもしろいと思っています. メモどうしが直接つながるんじゃなく, メモからキーワードへ, キーワードからまたメモへ, っていう. これを自在に眺め回れる browser ができたら楽しそうです.
  • 2005-02-13 (日) 07:26:17 あのですね : どうもでした!そうですね、キーワードこみのブラウザになれば言うこと無しです。名前もreference browserと決まったようだし、きっともうできあがってたりして(^^)期待の目。
  • 2005-02-14 (月) 10:16:22 あのですね : 凄いですねぇ、黄金の四分割^^)  で、come-fromを表示するらしいところまではわかったのですが、やり方が悪いのかcome-fromが少ないのか、いつもうまく表示されるわけでもないらしい。そのために、せっかくのかっこいい4分割の使い方がイマイチわかっていない私です。だい4象限がファイル内容だというのはわかりますが、2,3象限が生かせない。。。
  • 2005-02-14 (月) 10:17:10 あほですね : あほですね、なのかもしれませんがご容赦ください and ご教示ください。
  • 2005-02-14 (月) 10:19:57 あのですね : <<<の上でRETたたかないとnilになる?
  • 2005-02-14 (月) 10:21:15 あのですね : というのが、あっと気づいて試してみたファースト・インプレッションです。いずれにせよ早いのにびっくり(^^)
  • 2005-02-14 (月) 23:31:19 名無しさん : しまった. テスト版の howm でしか動かない ^^;
  • 2005-02-15 (火) 00:28:31 aあのですね : むむむ^^;
(Please LogIn to post comments.)

Last modified:2008/03/09 14:11:05
Keyword(s):
References:[ReferenceBrowserPrototype] [ReferenceList]