[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 18286d5: [el-search] Improve my last commit "Add C-h help"
From: |
Michael Heerdegen |
Subject: |
[elpa] master 18286d5: [el-search] Improve my last commit "Add C-h help" |
Date: |
Sun, 6 Jan 2019 12:03:26 -0500 (EST) |
branch: master
commit 18286d5c344e34709caaaddebfdd0228eb9c3b5c
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>
[el-search] Improve my last commit "Add C-h help"
Also bump version to 1.9.1.
* packages/el-search/el-search.el
(el-search-help-list-bindings-verbose): Use 'with-help-window'.
(el-search-help-list-bindings--1): Make it work with
'with-help-window'.
Skip menu bindings in binding lists.
(el-search-help-list-bindings): Rewrite to make it work with new
'el-search-help-list-bindings--1' version.
---
packages/el-search/el-search.el | 139 ++++++++++++++++++++--------------------
1 file changed, 71 insertions(+), 68 deletions(-)
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 3bdd6cd..97b9552 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -7,7 +7,7 @@
;; Created: 29 Jul 2015
;; Keywords: lisp
;; Compatibility: GNU Emacs 25
-;; Version: 1.9.0
+;; Version: 1.9.1
;; Package-Requires: ((emacs "25") (stream "2.2.4") (cl-print "1.0"))
@@ -1966,85 +1966,88 @@ map until you finished el-searching."
(let ((display-buffer-overriding-action '(nil (inhibit-same-window . t))))
(el-search-help-for-help-internal)))
-(defun el-search-help-list-bindings--1 (buffer search-buffer &optional more)
- (with-current-buffer buffer
- (erase-buffer)
- (cl-flet* ((keys-string
- (lambda (cmd-name)
- (let* ((get-keys
- (lambda (&optional map)
- (with-current-buffer search-buffer
- (where-is-internal cmd-name (and map (list
map))))))
- (tmap (if el-search-use-transient-map
- el-search-prefix-key-transient-map
- el-search-basic-transient-map))
- (keys (nreverse (or (funcall get-keys tmap)
- (funcall get-keys)))))
- (if keys (mapconcat #'key-description keys ", ")
- "no key"))))
- (cmd-help
- (lambda (cmd-name)
- (let* ((maxl 34)
- (add-padding
- (lambda (s)
- (let ((sl (length s)))
- (concat (if (<= maxl sl) s
- (concat s " " (make-string (- maxl sl
1) ?.)))
- " ")))))
- (if more
- (concat
- "`" (symbol-name cmd-name) "'"
- " (" (keys-string cmd-name) ")\n"
- (when-let ((docstring (documentation cmd-name)))
- (string-match "\\(\\`.*$\\)" docstring)
- (concat (match-string 1 docstring) "\n"))
- "\n")
- (concat " "
- (funcall add-padding (symbol-name cmd-name))
- (keys-string cmd-name)
- "\n"))))))
- (insert
- "Bindings for controlling el-searches:\n\n"
- (cmd-help 'el-search-pattern)
- (cmd-help 'el-search-pattern-backward)
- (cmd-help 'el-search-help-list-bindings)
- (cmd-help 'el-search-help-list-bindings-verbose)
- (cmd-help 'el-search-pause-search)
- (cmd-help 'el-search-keyboard-quit)
- (cmd-help 'el-search-occur)
- (cmd-help 'el-search-jump-to-search-head)
- (cmd-help 'el-search-from-beginning)
- (cmd-help 'el-search-last-buffer-match)
- (cmd-help 'el-search-scroll-down)
- (cmd-help 'el-search-scroll-up)
- (cmd-help 'el-search-continue-in-next-buffer)
- (cmd-help 'el-search-skip-directory)
- (cmd-help 'el-search-to-register)
- (cmd-help 'el-search-query-replace)
- (if more "" (substitute-command-keys "
+(defun el-search-help-list-bindings--1 (&optional verbose)
+ (cl-flet* ((keys-string
+ (lambda (cmd-name)
+ (let* ((get-keys
+ (lambda (&optional map)
+ (seq-filter
+ (lambda (binding)
+ (pcase binding
+ ((seq 'menu-bar) nil)
+ (_ t)))
+ (where-is-internal cmd-name (and map (list map))))))
+ (tmap (if el-search-use-transient-map
+ el-search-prefix-key-transient-map
+ el-search-basic-transient-map))
+ (keys (nreverse (or (funcall get-keys tmap)
+ (funcall get-keys)))))
+ (if keys (mapconcat #'key-description keys ", ")
+ "no key"))))
+ (cmd-help
+ (lambda (cmd-name)
+ (let* ((maxl 34)
+ (add-padding
+ (lambda (s)
+ (let ((sl (length s)))
+ (concat (if (<= maxl sl) s
+ (concat s " " (make-string (- maxl sl 1)
?.)))
+ " ")))))
+ (princ (if verbose
+ (concat
+ "`" (symbol-name cmd-name) "'"
+ " (" (keys-string cmd-name) ")\n"
+ (when-let ((docstring (documentation cmd-name)))
+ (string-match "\\(\\`.*$\\)" docstring)
+ (concat (match-string 1 docstring) "\n"))
+ "\n")
+ (concat " "
+ (funcall add-padding (symbol-name cmd-name))
+ (keys-string cmd-name)
+ "\n")))))))
+ (princ "Bindings for controlling el-searches:\n\n")
+ (cmd-help 'el-search-pattern)
+ (cmd-help 'el-search-pattern-backward)
+ (cmd-help 'el-search-help-list-bindings)
+ (cmd-help 'el-search-help-list-bindings-verbose)
+ (cmd-help 'el-search-pause-search)
+ (cmd-help 'el-search-keyboard-quit)
+ (cmd-help 'el-search-occur)
+ (cmd-help 'el-search-jump-to-search-head)
+ (cmd-help 'el-search-from-beginning)
+ (cmd-help 'el-search-last-buffer-match)
+ (cmd-help 'el-search-scroll-down)
+ (cmd-help 'el-search-scroll-up)
+ (cmd-help 'el-search-continue-in-next-buffer)
+ (cmd-help 'el-search-skip-directory)
+ (cmd-help 'el-search-to-register)
+ (cmd-help 'el-search-query-replace)
+ (unless verbose (princ (substitute-command-keys "
Toggle visibility of this window with \
`\\<el-search-basic-transient-map>\\[el-search-help-list-bindings]'"))))
- (goto-char (point-min)))
- buffer)
+ standard-output)
(defun el-search-help-list-bindings ()
"Toggle quick help window."
(interactive)
(setq this-command 'el-search-pattern)
(unless (el-search-close-quick-help-maybe)
- (let* ((help-buffer (el-search-help-list-bindings--1
- (get-buffer-create el-search-quick-help-buffer-name)
- (current-buffer)))
- (help-window (display-buffer-pop-up-window help-buffer '())))
- (fit-window-to-buffer help-window)
- (with-current-buffer help-buffer (setq-local el-search-help-window
help-window)))))
+ (let ((help-buffer (get-buffer-create el-search-quick-help-buffer-name)))
+ (with-current-buffer help-buffer
+ (let ((inhibit-read-only t))
+ (erase-buffer)))
+ (let ((standard-output help-buffer))
+ (el-search-help-list-bindings--1))
+ (let ((help-window (display-buffer-pop-up-window help-buffer '())))
+ (fit-window-to-buffer help-window)
+ (with-current-buffer help-buffer
+ (setq-local el-search-help-window help-window))))))
(defun el-search-help-list-bindings-verbose ()
"List bindings and first lines of documentation."
(interactive)
- (temp-buffer-window-show
- (el-search-help-list-bindings--1
- (get-buffer-create "*Help*") (current-buffer) 'more)))
+ (with-help-window (help-buffer)
+ (el-search-help-list-bindings--1 'verbose)))
(defun el-search-help-list-patterns ()
(interactive)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 18286d5: [el-search] Improve my last commit "Add C-h help",
Michael Heerdegen <=