[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] scratch/mheerdegen-preview 4f3d9bf 11/32: WIP [el-search] Add qui
From: |
Michael Heerdegen |
Subject: |
[elpa] scratch/mheerdegen-preview 4f3d9bf 11/32: WIP [el-search] Add quick help command |
Date: |
Sat, 20 Oct 2018 18:18:59 -0400 (EDT) |
branch: scratch/mheerdegen-preview
commit 4f3d9bf0a1e25128a3c2338c0bdd061ccd2f5d14
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>
WIP [el-search] Add quick help command
---
packages/el-search/el-search.el | 41 ++++++++++++++++++++++++++++++++++++++---
1 file changed, 38 insertions(+), 3 deletions(-)
diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 9728039..4faba21 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -43,6 +43,11 @@
;; later. Finally, it allows you to define your own kinds of search
;; patterns and your own multi-search commands.
;;
+;; The following text is an exhaustive introduction to this package.
+;; After having learned the basics, hitting C-? or ?
+;; (el-search-toggle-quick-help) should suffice to refresh your
+;; memory.
+;;
;;
;; Key bindings
;; ============
@@ -83,6 +88,11 @@
;; hit RET to exit, or hit C-g to abort and jump back to where you
;; started.
;;
+;; C-?, M-s e ? (el-search-toggle-quick-help)
+;;
+;; While an el-search is active, popup (or close) quick help
+;; window.
+;;
;; C-R, M-s e r (el-search-pattern-backward)
;; Search backward.
;;
@@ -415,8 +425,6 @@
;;
;; TODO:
;;
-;; - Add a help command that can be called while searching.
-;;
;; - Make searching work in comments, too? (->
;; `parse-sexp-ignore-comments'). Related: should the pattern
;; `symbol' also match strings that contain matches for a symbol so
@@ -579,6 +587,7 @@ from the prompt."
;; explicitly install the transient map themselves.
'(el-search-pattern
el-search-pattern-backward
+ el-search-toggle-quick-help
el-search-from-beginning
el-search-last-buffer-match
el-search-continue-in-next-buffer
@@ -1181,6 +1190,27 @@ be specified as fourth argument, and COUNT becomes the
fifth argument."
(funcall fail)
match-beg)))))))
+(defvar el-search-quick-help-buffer-name "*El-search help*" )
+(defvar el-search-quick-help "...
+...
+...")
+
+(defun el-search-close-quick-help-maybe ()
+ (when-let ((help-buffer (get-buffer el-search-quick-help-buffer-name))
+ (help-wins (get-buffer-window-list help-buffer)))
+ (mapc #'delete-window help-wins)
+ t))
+
+(defun el-search-toggle-quick-help ()
+ "Doc..."
+ (interactive)
+ (setq this-command 'el-search-pattern)
+ (unless (el-search-close-quick-help-maybe)
+ (with-current-buffer (get-buffer-create el-search-quick-help-buffer-name)
+ (erase-buffer)
+ (insert el-search-quick-help)
+ (display-buffer (current-buffer)))))
+
(defun el-search-forward (pattern &optional bound noerror count)
"Search for el-search PATTERN in current buffer from point.
Set point to the beginning of the occurrence found and return point.
@@ -1734,6 +1764,7 @@ in, in order, when called with no arguments."
;;;###autoload
(defun el-search-loop-over-bindings (function)
+ (defvar el-search-basic-transient-map) ;defined later
(cl-flet ((keybind (apply-partially #'funcall function)))
(keybind emacs-lisp-mode-map ?s #'el-search-pattern)
@@ -1763,6 +1794,8 @@ in, in order, when called with no arguments."
(keybind global-map ?l #'el-search-load-path)
(keybind global-map ?b #'el-search-buffers)
+ (keybind el-search-basic-transient-map ?? #'el-search-toggle-quick-help)
+
(defvar dired-mode-map)
(defvar ibuffer-mode-map)
@@ -1798,6 +1831,7 @@ any case."
(define-key transient-map [return] #'el-search-pause-search)
(define-key transient-map (kbd "RET") #'el-search-pause-search)
(define-key transient-map [(control ?g)] #'el-search-keyboard-quit)
+ (define-key transient-map [??] #'el-search-toggle-quick-help)
transient-map))
(defvar el-search-prefix-key-transient-map
@@ -2440,7 +2474,8 @@ local binding of `window-scroll-functions'."
(el-search-hl-remove)
(remove-hook 'post-command-hook 'el-search-hl-post-command-fun t)
(setq el-search--temp-buffer-flag nil)
- (el-search-kill-left-over-search-buffers)))))
+ (el-search-kill-left-over-search-buffers)
+ (el-search-close-quick-help-maybe)))))
(defun el-search--pending-search-p ()
(memq #'el-search-hl-post-command-fun post-command-hook))
- [elpa] scratch/mheerdegen-preview 1f46601 15/32: WIP: Additions to "Mb hints", (continued)
- [elpa] scratch/mheerdegen-preview 1f46601 15/32: WIP: Additions to "Mb hints", Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview a8483cd 22/32: WIP: [el-search] Fine tune separator for splicing replace, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 5bdc539 27/32: WIP: Include leading comments in occur defun context, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview f11f566 31/32: WIP: Small fix in el-search--changed-files-in-repo, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview fc2c159 29/32: WIP: Fix C-A and C-J after finished single-buffer search, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview d6a3158 01/32: WIP: [el-search] Fix nested match issues in *El Occur*, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 74cc15a 08/32: WIP: New command 'el-search-repository', Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview e43d95b 10/32: WIP [el-search] Implement 'el-search-keyboard-quit', Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 163a7c7 03/32: WIP: Add package "sscell", Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 216fd06 07/32: WIP: New file el-search/el-search-pp.el, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 4f3d9bf 11/32: WIP [el-search] Add quick help command,
Michael Heerdegen <=
- [elpa] scratch/mheerdegen-preview 5b994a5 17/32: WIP [el-search] Fix C-j with numeric arg in error case, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 54e3b67 16/32: WIP: Optimize caching, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 3aa418f 20/32: WIP: Improvements for change and changed, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 8c8e364 30/32: WIP: Small fix in 'el-search--reset-wrap-flag', Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 009dc4d 32/32: WIP: [el-search] Enhance doc of el-search-occur-mode, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 4ce7e1d 06/32: WIP: Add el-search-hi-lock.el, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview e4bf180 25/32: WIP: [el-search] Some minor tweaks, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview df185f6 24/32: WIP: Test: Make mouse clicks not abort the search, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview a1b1039 21/32: WIP: More colorful match count, Michael Heerdegen, 2018/10/20
- [elpa] scratch/mheerdegen-preview 654133c 26/32: WIP: Don't initially fold occur buffer, Michael Heerdegen, 2018/10/20