- define-word 20150709.1223(in MELPA)
- display the definition of word at point.
概要
define-word.el は、オンライン英英辞典 https://wordnik.com/ の
Emacsインターフェースを提供する新入りelispです。
どちらも単語の意味をエコーエリアに表示するものです。
M-x define-word-at-point はカーソル位置・regionの単語、
M-x define-word はミニバッファから入力された単語です。
Fig1: bufferの意味を表示
https://wordnik.com/words/buffer と比べてみてください。
表示される数は変数 define-word-limit (デフォルト:10) で変更できますが、
フレームの高さにも依存します。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてdefine-wordを使う方は
以下のコマンドを実行します。
M-x package-install define-word
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name define-word
コードを読んでみると
コードは50行程度と実に短いです。
本体は define-word 関数にあり、
url-retrieve 関数を呼び出しているだけです。
この関数は非同期にダウンロードするものであり、
第2引数はダウンロード後に実行されるコールバック関数です。
そこではダウンロードされた内容のバッファをカレントバッファとし、
HTMLを正規表現で解析して情報を抽出し、表示していることがわかります。
elispで書かれた クローラー のサンプルとしてほどよい難易度です。
この程度のものならばurl-retrieveでもいいですが、
本格的なものは request.el(レビュー) を使う方が賢明です。
また、define-wordという名前から、
将来的には他のサイトに対応するかもしれません。
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。