Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

開発の際に参考になるelispコード、またはサイトを教えてください #21

Open
finap opened this issue Feb 18, 2013 · 6 comments
Labels

Comments

@finap
Copy link

finap commented Feb 18, 2013

elispを作る時に、参考になるソース、またはサイトがあれば教えていただけないでしょうか?

コードの場合、どの処理が参考になるかもあると嬉しいです。

@finap
Copy link
Author

finap commented Feb 18, 2013

ちなみに、自分がはじめて作った時に参考にしたのは、以下のサイトと書籍です。

書籍
•やさしいEmacs‐Lisp講座
•Emacs Lispテクニックバイブル

サイト
•Emacs Lisp プログラミング
http://www.bookshelf.jp/texi/elisp-intro/jp/emacs-lisp-intro.html#SEC_Top

@kiwanami
Copy link
Member

標準添付elispは読むべき価値があると思います。キーワードでgrepで適当に探って、info片手に読む感じです。ただ、昔のコードが残っていて冗長な表現があったり、他の言語よりも独自ワールドになりやすいようなので、一概にどれが参考になるかというのは難しいかも。

自分が読んだ中ではSLIMEのコードが素晴らしく良かったです。ただ、SLIME自体に馴染みがないと難しいかもしれません。

@syohex
Copy link
Member

syohex commented Feb 18, 2013

書籍については @finap さんが挙げられたものを読んで学習しました。

ソースの参照については、私の場合著名な人が書いたパッケージ、helmとか auto-complete
cloneして、参考にできる書き方がないか検索しています。標準パッケージは機能はひと通り揃って
いますが、書き方は古いので、この機能を実現するためにはどういうことをしないと
いけないのかって時に参考にします。

あと個人的にですが、major-modeの実装は、coffee-modeが参考になりました。
ひと通りに機能を実現している、かつ規模も大きくないためです。

でもまあ基本的にはドキュメントや infoを参照します。ドキュメントの閲覧には下記のツールを
使っています。

  • helm-c-apropos(helm標準. コマンド、関数、変数を helm intefaceで検索)
  • elisp-slime-navM-.でカーソル下の関数定義にジャンプ

あとは scratchバッファとか ielmで評価しつつ、作っていくという感じです。

@ongaeshi
Copy link

私もEmacs Lispテクニックバイブルに大分お世話になっています。

話題に挙ってた 標準添付elisp, SLIME, coffee-mode をそれぞれMilkodeで検索出来るようにしてみました。
ざっと読んでみたい時やコードへのポインタとしてどうぞ。 (個人サーバなのであんまり安定しないかも・・)

以下から検索サイトにジャンプ出来ます。

他にも読んでみたいソースとかあれば教えてください。
個人的にメジャーモードを作りたいと思っていたのでcoffee-modeのソースは読んでみようと思います。

@ongaeshi
Copy link

例えば package-list-packages 関数の使われている箇所を調べるには

'package-list-packages s:el' in emacs - Kodeworld

で検索出来ます。(elispは名前空間がフラットなので検索と相性いいです)

@finap
Copy link
Author

finap commented Feb 22, 2013

皆様、ありがとう御座います。
現状としては、リファレンス片手に目的の機能を探していくのが結局早そうですね。

@kiwanami さんが仰る通り、標準などの古参のelispでは古い書き方をやっていて、
現在では冗長になってしまう可能性があるので、
比較的新しめのhelmなどを参考にするのがいいかもしれませんね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants