From e7657d6ba54ad5714657cff9be86ec416d342a4c Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sun, 28 Apr 2013 20:54:18 +0100 Subject: Migrate repository from mercurial without history --- emacs/elisp/eldoc-context.el | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 emacs/elisp/eldoc-context.el (limited to 'emacs/elisp/eldoc-context.el') diff --git a/emacs/elisp/eldoc-context.el b/emacs/elisp/eldoc-context.el new file mode 100644 index 0000000..df8797f --- /dev/null +++ b/emacs/elisp/eldoc-context.el @@ -0,0 +1,40 @@ +(provide 'eldoc-context) + +(defun rgr/toggle-context-help () + "Turn on or off the context help. +Note that if ON and you hide the help buffer then you need to +manually reshow it. A double toggle will make it reappear" + (interactive) + (with-current-buffer (help-buffer) + (unless (local-variable-p 'context-help) + (set (make-local-variable 'context-help) t)) + (if (setq context-help (not context-help)) + (progn + (if (not (get-buffer-window (help-buffer))) + (display-buffer (help-buffer))))) + (message "Context help %s" (if context-help "ON" "OFF")))) + +(defun rgr/context-help () + "Display function or variable at point in *Help* buffer if visible. +Default behaviour can be turned off by setting the buffer local +context-help to false" + (interactive) + (let ((rgr-symbol (symbol-at-point))) ; symbol-at-point http://www.emacswiki.org/cgi-bin/wiki/thingatpt%2B.el + (with-current-buffer (help-buffer) + (unless (local-variable-p 'context-help) + (set (make-local-variable 'context-help) t)) + (if (and context-help (get-buffer-window (help-buffer)) + rgr-symbol) + (if (fboundp rgr-symbol) + (describe-function rgr-symbol) + (if (boundp rgr-symbol) (describe-variable rgr-symbol))))))) + +(defadvice eldoc-print-current-symbol-info + (around eldoc-show-c-tag activate) + (cond + ((eq major-mode 'emacs-lisp-mode) (rgr/context-help) ad-do-it) + ((eq major-mode 'lisp-interaction-mode) (rgr/context-help) ad-do-it) + ((eq major-mode 'apropos-mode) (rgr/context-help) ad-do-it) + (t ad-do-it))) + +(global-set-key (kbd "C-c h") 'rgr/toggle-context-help) \ No newline at end of file -- cgit 1.4.1