From 7778781072f91c4603b4e0516c64ff3a5c76c298 Mon Sep 17 00:00:00 2001 From: Daniel Pfeiffer Date: Sat, 17 Jul 2004 08:10:28 +0000 Subject: [PATCH] (which-func-keymap): New var. (which-func-face): New face. (which-func-format): Use them. --- lisp/ChangeLog | 6 ++++++ lisp/progmodes/which-func.el | 28 +++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6b2d3eb4145..c45bd6987b9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2004-07-14 Daniel Pfeiffer + + * progmodes/which-func.el (which-func-keymap): New var. + (which-func-face): New face. + (which-func-format): Use them. + 2004-07-16 Stephan Stahl (tiny change) * buff-menu.el (list-buffers-noselect): Append the buffer's diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el index fef159d850f..87df0769314 100644 --- a/lisp/progmodes/which-func.el +++ b/lisp/progmodes/which-func.el @@ -99,7 +99,33 @@ Zero means compute the Imenu menu regardless of size." :group 'which-func :type 'integer) -(defcustom which-func-format '("[" which-func-current "]") +(defvar which-func-keymap + (let ((map (make-sparse-keymap))) + (define-key map [mode-line mouse-1] 'beginning-of-defun) + (define-key map [mode-line mouse-2] + (lambda () + (interactive) + (if (eq (point-min) 1) + (narrow-to-defun) + (widen)))) + (define-key map [mode-line mouse-3] 'end-of-defun) + map) + "Keymap to display on mode line which-func.") + +(defface which-func-face + '((t (:inherit font-lock-function-name-face))) + "Face used to highlight mode line function names. +Defaults to `font-lock-function-name-face' if font-lock is loaded." + :group 'which-func) + +(defcustom which-func-format + `("[" + (:propertize which-func-current + local-map ,which-func-keymap + face which-func-face + ;;mouse-face highlight ; currently not evaluated :-( + help-echo "mouse-1: go to beginning, mouse-2: toggle rest visibility, mouse-3: go to end") + "]") "Format for displaying the function in the mode line." :group 'which-func :type 'sexp) -- 2.39.2