= !SourceForge.jp monkey.el Wiki =
エディターemacsに、「プログラムをプロジェクト単位で管理する機能」を追加する。[[BR]]
プロジェクトを表示するファイラー、関数一覧、関数定義へのジャンプ等の機能をlispで実装します。対応するプログラム言語は、Emacs-Lisp、C言語、C++、Perl、Java、PHP、Ruby、Visual Basicを予定します。
[[BR]]
[[BR]]
[[ReleaseList]]
==== なにができるのか ====
* プロジェクトごとにルートディレクトリをブックマークしておけます
* プロジェクト内のファイルを閲覧するファイラーになります
* ファイラーで閲覧中のファイルに飛べます
* ファイル内の関数の一覧が見れます
* 関数一覧から、各関数へ飛べます
* 関数の内容を確かめたいときに、関数が定義された箇所へ飛べます
==== なにが問題なのか ====
* 関数一覧
* Meadowではspeedbarがとても便利ですが、php5に対応していなかったので、自分で作りました。
* 関数ジャンプ
* linuxの場合emacsを導入すると関数ジャンプの為にetagsが使えますが、エディターの機能だけで実現したいと思いました。
* 普段使うものをひとつにまとめてみました
==== インストール方法 ====
http://sourceforge.jp/projects/monkey/releases/ から最新のmonkeyをダウンロードして、解凍して得たフォルダごとロードパスの通ったところへ置きます.
==== 設定方法 ====
monkey/monkey-config.elの以下を自分の環境に合わせて編集します
{{{ code elisp
(defvar emacs-bin-file-path "c:/meadow/bin/Meadow.exe" ; emacs | Meadow のバイナリのパス
"emacs binary path on your environment.")
(defvar monkey-installed-path "c:/meadow/site-lisp/monkey/" ; ←は解凍して得たmonkeyフォルダをc:/meadow/site-lispに置いた場合
"installed path for monkey package.")
}}}
以下を .emacsに追加します
{{{ code elisp
;; And add to your .emacs file
(require 'monkey)
;; Recomend to define global-map as below
(define-key global-map "\C-cp" 'monkey-project) ; call each programing project
(define-key global-map "\C-cj" 'monkey-jumper) ; jump to function definition
(define-key global-map "\C-cb" 'monkey-jumper-jump-to-back) ; back to privious point
(define-key global-map "\C-cf" 'monkey-describe-one-file) ; describe one file as list of class , functions
}}}
==== 詳しい使い方 ====
1. C-cp でミニバッファにプロジェクト名の入力プロンプトが出ます。
* 任意のプロジェクト名を入力してエンターキーを押すと別ウィンドウにプロジェクトルートのツリーが表示されます
2. ツリー内にいるときは以下の操作ができます
* RET `monkey-describe-my-project-read' move to directory or open file
* space `monkey-describe-my-project-read' move to directory or open file or show function list
* "n" `next-line' move to next line
* "p" `previous-line' move to previous line
* "q" `monkey-frame-quit' quit monkey-project-mode
* "b" `monkey-builder' update MTAG (function lists file)
* "\C-d\C-f" `monkey-make-directory' make new directory
* "\C-d\C-d" `monkey-delete-directory' delete directory
* "\C-x\C-f" `monkey-find-file' make new file
* "\C-x\C-c" `monkey-copy-file' duplicate file to another
* "\C-x\C-r" `monkey-rename-file' rename file name to another
* "\C-x\C-d" `monkey-delete-file' delete file
3. 編集中のファイルでカーソルが関数名の上にあるときC-cjで関数定義に飛びます
* 関数定義に飛んだ後で、C-cbで元の場所に戻ります
4. C-cfで、編集中のファイル内の関数一覧が表示されます
==== サンプル画像 ====
[[Thumb(プロジェクト内のあるファイルの関数一覧を見たところ.png, size=240x240, caption=あるファイルの関数一覧を見たところ, float=left)]]
[[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]][[BR]]
==== コメント ====
[[LineComment(rows=2)]]
* リリース 0.1.6.2 マイナーチェンジ[[BR]]-- [id:talltale talltale] (2008-09-20 15:02:29 JST)
* リリース 0.1.6.1 マイナーチェンジ[[BR]]-- [id:talltale talltale] (2008-09-20 14:44:52 JST)
* リリース 0.1.6 新規プロジェクト作成機能の修正[[BR]]プロジェクトルートに存在しないディレクトリを指定した場合は、ディレクトリを再帰的に作るようにしました。[[BR]]-- [id:talltale talltale] (2008-09-14 09:43 JST)
* リリース 0.1.5.1 バグ修正[[BR]]-- [id:talltale talltale] (2008-09-14 07:20 JST)
* リリース 0.1.5 関数一覧を単独で呼び出す機能の追加[[BR]]今開いているファイルの関数一覧を見たいんだよ。プロジェクトなんか関係ないんだよ。という気持ちにある程度こたえられるようにしました。[[BR]]-- [id:talltale talltale] (2008-09-14 07:15 JST)
* リリース 0.1.4 タグファイルの作成を別プロセスで行う実装の追加[[BR]]タグファイルMTAGの作成中も編集作業等を平行して行えるようになりました[[BR]]-- [id:talltale talltale] (2008-08-11 07:53 JST)
* リリース 0.1.3 ファイル内関数一覧にfont face色を追加[[BR]]-- [id:talltale talltale] (2008-08-09 06:50 JST)
* リリース 0.1.2 プロジェクトツリー内でのディレクトリ操作関数とファイル操作関数の追加[[BR]]-- [id:talltale talltale] (2008-08-03 10:59 JST)
* リリース 0.1.1 初版リリース[[BR]]-- [id:talltale talltale] (2008-07-23 11:35 JST)