フェンリル

Developer's Blog

iOS のドキュメントを anything.el で絞り込む

こんにちは。Objective-C は Emacs で書く派の宮本です。Emacs ユーザーならドキュメントも、もちろん Emacs で読みますね。今までドキュメントの参照には xcode-document-viewer にお世話になっていました。この Emacs Lisp を使うと、キーワードで検索して、結果を anything で絞り込むことができます。Xcode でドキュメントを検索するものと同じ検索結果が得られるので、とても便利です。ただ、筆者はドキュメントのタイトルのみから検索することが多いので、そちらに特化した anything の情報源を勉強がてら書いてみました。

Docset を解析する

Apple のドキュメントは iOS も Mac OS X も docset という形でまとめられています。その中を見ていくと、library.json というファイルがあります。この JSON には 全てのドキュメントについてタイトルやファイルパス、リソースのタイプなどのメタデータがまとめられています。ウェブの iOS Reference Library もほとんど docset と同じ構造をしており、library.json をもとにドキュメントの一覧を表示しています。この JSON を解析すれば、docset からドキュメントのタイトルとファイルパスの一覧が簡単に取得できるので、それをもとに anything の情報源を作ります。

anything でドキュメントのタイトルから絞り込みをする

パスの通った所に anything-apple-docset.el をおいて、次のコードを実行していただければすぐに使えます。

(require 'anything-apple-docset)
;; 違うバッファで開きたければ
(setq anything-apple-docset-open-w3m-other-buffer t) 
;; docsetのフルパス
(setq anything-apple-docset-path
"/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiOS4_2.iOSLibrary.docset")
;; 初期化処理
(anything-apple-docset-init)
;; キーバインドはお好みで変更してください
(global-set-key (kbd "C-c d") 'anything-apple-docset)

Emacs でコマンド (anything-apple-docset) を実行すると、anything が起動して、ドキュメントのタイトル一覧が表示されます。候補から選択すると w3m でドキュメントを開いてくれます。デフォルトのブラウザで開くアクションも追加してあるので、普段お使いのブラウザで開くこともできます。

anything-apple-docset.el はドキュメントのタイトルからしか検索ができません。メソッド名や関数名で検索する場合は、最初に紹介した xcode-document-viewer をお使いください。私も両方使っています。あと、Emacs Lisp をほとんど書いたことが無いので、変なコードもあるかもしれません。ご自由に書き換えてお使いください。

Facebook コメント

コメント

forex demo2013年02月09日 3:58

あなたから偉大なもの、人。アイブ前に自分のものを読んで、あまりにも素晴らしいYoureの。私はホードがここに得たもの好き、何を言っていて、それを言う方法youreのが大好き。あなたはそれが楽しいし、まだそれがスマートに保つために管理すること。私はカントあなたから多くを読むために待つ。これは本当に素晴らしいブログです。

名前(必須)

メールアドレス(必須)

URL

スタイル用のタグが使えます

このコメント欄でのご質問、ご要望には、開発チームから回答できない場合があります。ご質問、ご要望は「User Community」内のフォーラムまでお寄せください。