【xyzzy】lispの関数定義にジャンプ

ファイル名: -

 

;selection してから F12のケース↓

(defun find-functions ()
  (interactive)
  (let (word (np (point)) (new-point))
	(if (pre-selection-p)
	  (selection-start-end (start end)
		(setq word (buffer-substring start end)))
	  (setq word (buffer-substring (progn (skip-syntax-spec-backward "w_")(point))
			(progn (skip-syntax-spec-forward "w_")(point)))))

	;todo: other mode
  (save-excursion
	(goto-char (point-min))
	(when (scan-buffer (format nil "(defun[ \t]+~A" word) :regexp t)
	  (setq new-point(point))))
	(when new-point (goto-char new-point))))

(global-set-key #\F12 'find-functions)

 

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

149 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です