emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/counsel aebf7b5022: Merge branch 'master' into external


From: Basil L. Contovounesios
Subject: [elpa] externals/counsel aebf7b5022: Merge branch 'master' into externals/counsel
Date: Sun, 11 Sep 2022 08:16:31 -0400 (EDT)

branch: externals/counsel
commit aebf7b50221ea33074b62b0679512d2868dcfb2f
Merge: e65cfaf9cf e9c0fb953d
Author: Basil L. Contovounesios <contovob@tcd.ie>
Commit: Basil L. Contovounesios <contovob@tcd.ie>

    Merge branch 'master' into externals/counsel
---
 counsel.el | 81 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 40 insertions(+), 41 deletions(-)

diff --git a/counsel.el b/counsel.el
index 329968976f..bd1c1b5bb3 100644
--- a/counsel.el
+++ b/counsel.el
@@ -354,13 +354,12 @@ Update the minibuffer with the amount of lines collected 
every
 
 ;;** `counsel-company'
 (defvar company-candidates)
-(defvar company-common)
-(defvar company-prefix)
 (declare-function company-abort "ext:company")
 (declare-function company-complete "ext:company")
 (declare-function company-mode "ext:company")
 (declare-function company-call-backend "ext:company")
 (declare-function company--clean-string "ext:company")
+(declare-function company--continue "ext:company")
 
 ;;;###autoload
 (defun counsel-company ()
@@ -369,25 +368,15 @@ Update the minibuffer with the amount of lines collected 
every
   (company-mode 1)
   (unless company-candidates
     (company-complete))
-  (let ((len (cond ((let (l)
-                      (and company-common
-                           (string= company-common
-                                    (buffer-substring
-                                     (- (point) (setq l (length 
company-common)))
-                                     (point)))
-                           l)))
-                   (company-prefix
-                    (length company-prefix)))))
-    (when len
-      (setq ivy-completion-beg (- (point) len))
-      (setq ivy-completion-end (point))
-      (ivy-read "Candidate: " company-candidates
-                :action #'ivy-completion-in-region-action
-                :caller 'counsel-company))))
+  (company--continue)
+  (when company-candidates
+    (ivy-read "Candidate: " company-candidates
+              :action 'company-finish
+              :caller 'counsel-company)))
 
 (ivy-configure 'counsel-company
   :display-transformer-fn #'counsel--company-display-transformer
-  :unwind-fn #'company-abort)
+  :unwind-fn (lambda() (unless ivy-exit (company-abort))))
 
 (defun counsel--company-display-transformer (s)
   (concat s (let ((annot (company-call-backend 'annotation s)))
@@ -1305,6 +1294,9 @@ Like `locate-dominating-file', but DIR defaults to
      "\0"
      t)))
 
+(defvar counsel-git-history nil
+  "History for `counsel-git'.")
+
 ;;;###autoload
 (defun counsel-git (&optional initial-input)
   "Find file in the current Git repository.
@@ -1315,6 +1307,7 @@ INITIAL-INPUT can be given as the initial minibuffer 
input."
     (ivy-read "Find file: " (counsel-git-cands default-directory)
               :initial-input initial-input
               :action #'counsel-git-action
+              :history 'counsel-git-history
               :caller 'counsel-git)))
 
 (ivy-configure 'counsel-git
@@ -4499,24 +4492,27 @@ mark, as per \\[universal-argument] \\[yank]."
   "Like `yank-pop', but insert the kill corresponding to S.
 Signal a `buffer-read-only' error if called from a read-only
 buffer position."
-  (with-ivy-window
-    (barf-if-buffer-read-only)
-    (setq yank-window-start (window-start))
-    (unless (eq last-command 'yank)
-      ;; Avoid unexpected deletions with `yank-handler' properties.
-      (setq yank-undo-function nil))
-    (condition-case nil
-        (let (;; Deceive `yank-pop'.
-              (last-command 'yank)
-              ;; Avoid unexpected additions to `kill-ring'.
-              interprogram-paste-function)
-          (yank-pop (counsel--yank-pop-position s)))
-      (error
-       ;; Support strings not present in the kill ring.
-       (insert s)))
-    (when (funcall (if counsel-yank-pop-after-point #'> #'<)
-                   (point) (mark t))
-      (exchange-point-and-mark t))))
+  (when (and (eq major-mode 'vterm-mode)
+             (fboundp 'vterm-insert))
+    (let ((inhibit-read-only t))
+      (vterm-insert s)))
+  (barf-if-buffer-read-only)
+  (setq yank-window-start (window-start))
+  (unless (eq last-command 'yank)
+    ;; Avoid unexpected deletions with `yank-handler' properties.
+    (setq yank-undo-function nil))
+  (condition-case nil
+      (let (;; Deceive `yank-pop'.
+            (last-command 'yank)
+            ;; Avoid unexpected additions to `kill-ring'.
+            interprogram-paste-function)
+        (yank-pop (counsel--yank-pop-position s)))
+    (error
+     ;; Support strings not present in the kill ring.
+     (insert s)))
+  (when (funcall (if counsel-yank-pop-after-point #'> #'<)
+                 (point) (mark t))
+    (exchange-point-and-mark t)))
 
 (defun counsel-yank-pop-action-remove (s)
   "Remove all occurrences of S from the kill ring."
@@ -4696,6 +4692,7 @@ S will be of the form \"[register]: content\"."
 (defvar imenu-auto-rescan-maxout)
 (declare-function imenu--subalist-p "imenu")
 (declare-function imenu--make-index-alist "imenu")
+(declare-function python-imenu-create-flat-index "python")
 
 (defun counsel--imenu-candidates ()
   (require 'imenu)
@@ -4705,9 +4702,12 @@ S will be of the form \"[register]: content\"."
                                      imenu-auto-rescan-maxout))
          (items (imenu--make-index-alist t))
          (items (delete (assoc "*Rescan*" items) items))
-         (items (if (eq major-mode 'emacs-lisp-mode)
-                    (counsel-imenu-categorize-functions items)
-                  items)))
+         (items (cond ((eq major-mode 'emacs-lisp-mode)
+                       (counsel-imenu-categorize-functions items))
+                      ((eq major-mode 'python-mode)
+                       (python-imenu-create-flat-index))
+                      (t
+                       items))))
     (counsel-imenu-get-candidates-from items)))
 
 (defun counsel-imenu-get-candidates-from (alist &optional prefix)
@@ -4747,8 +4747,7 @@ PREFIX is used to create the key."
       items)))
 
 (defun counsel-imenu-action (x)
-  (with-ivy-window
-    (imenu (cdr x))))
+  (imenu (cdr x)))
 
 (defvar counsel-imenu-history nil
   "History for `counsel-imenu'.")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]