という訳で、やっと本題。 マイナーモードの練習と実益を兼ねて、はてな記法を入力支援する hatenahelper-mode を書いてみた。識者の御指導を期待して、↓に張ってみる。 もともとは hatena-mode を使って、はてなダイアリー日記を書く時に使った入力支援拡張の集積だが、hatena-mode とは独立に使うことが出来る。 xemacs とか meadow とかで試された方は、首尾不首尾にかかわらず御報告をいただけると助かります。 ※ご注意、本ソフトウエアは単体では、「はてな記法」等の入力を支援するだけです。はてな日記等への投稿には、hatena-mode 等が必要です。 tarball はここに置いてあります。 ;;; hatenahelper-mode.el --- はてなヘルパーモード ;; Copyright (C) 2006 ITSUMI ken-ichi ;; A
ドキュメントは info の elisp -> Modes -> Minor mode -> Easy-Mmode の項にあるが、僕には、これを読んでももうひとつピンとこなかった。ちゃんと使うには、前項のような基礎を理解した上で、ソースを読む必要がある。何をやってくれるかを手短にいうと 変数 -mode を宣言してバッファローカルにする 変数 -mode-map に初期設定済みキーマップを格納してくれる 変数 ○ ソースコード Sarge の emacs21.4 だったら↓にソースがある。これを読んではじめて フック廻りのことが分る。 /usr/share/emacs/21.4/lisp/emacs-lisp/easy-mmode.el ○サンプルプログラム 以下にテンプレート目的のサンプルコードを示す。併用することが多いので、ここで解説した easymenu マクロを使ったメニューのスケ
マイナーモードを作るには、通常 easy-mmode というマクロを使うのが便利であるが、マクロの動作を理解する為にも、easy-mmode を使わない時にどうするかを知っておいた方がいいだろう、ということで以下にメモ。 [モード名]-mode という変数を定義し、バッファーローカルにする この変数が、non-nil の時モードは on になり、そうでないとき off になる (defvar hatena-helper-mode nil "Mode variable for hatena helper minor mode.") (make-variable-buffer-local 'hatena-helper) [モード名]-mode というコマンドを定義する このコマンドの引数は、ひとつのオプショナル引数のみでなければならない コマンドが無引数で呼ばれたとき、トグル動作するように書く
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く