GithubHelp home page GithubHelp logo

isearch-mb's People

Contributors

astoff avatar minad avatar wi11dey avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

isearch-mb's Issues

isearch-mode-map issue

Hi I use isearch with swiper with a command swiper-isearch-toggle.

Normally I set that with something like:

(define-key isearch-mode-map (kbd "C-o") #'swiper-isearch-toggle)
(define-key swiper-map (kbd "C-o") #'swiper-isearch-toggle)

But when I enable this package's mode it does not work.

Same applies to commands like C-l to center the candidate and so on. This last one I understand is intended to not work because is a buffer action instead of a minibuffer one... but I mention just to assert it is intended.

Avoid moving to the prompt.

Hi:

(this is just a detail, but as you requested for more bugs I add it).

When using the package if we use the arrows to move backward the prompt moves beyond the first search character. So over the I-search prompt. This is not a big issue, but the fix shouldn't be too complex.

Search start position

When putting the point at point-min, e.g., ;;; isearch-mb.el --- Alternative Isearch UI based on the minibuffer -*- lexical-binding: t; -*- and entering Alternative, then Alternative will be found and highlighted. When deleting it again and searching for isearch, the second Isearch is highlighted. However I think the search should actually go back to the starting point when changing the search string.

Performance issue when `isearch-mb-mode` is on

Reproduce steps:

  1. Run Emacs with emacs -q.
  2. Evaluate isearch-mb.el.
  3. Open a large (> 200 MB) text file using M-x find-file.
  4. With isearch-mb-mode is on, use C-s to search some pattern.
  5. Compare with the cursor movement and redisplaying with isearch-mb-mode is off and search again.

Environments:

  • Emacs version: GNU Emacs 27.2 (build 1, x86_64-apple-darwin20.3.0, Carbon Version 164 AppKit 2022.3) of 2021-04-02
  • isearch-mb version: master

Recenter issue

Hi:

Trying the package I am getting some issues that the buffer sometimes scrolls when finalizing the search. It does not follow an specific pattern for me. But it seems like emacs tries to do a recenter when finalizing isearch. Have you observed something like that?

Could input methods be made to work?

I'd like to use a Quail input method with isearch-mb. Currently, when I enter a regular isearch where the input method works as expected, the prompt reads Regexp I-search [\]:
(The display name of the input method is \, it's a custom one I've put together, I just wanted the display name to be short).
This same prompt text as regular isearch displays is visible for a split second after starting a search using isearch-mb, but then it changes to just Regexp I-search:.
Also, while in an isearch-mb search, pressing C-\ seems to do nothing, whereas it toggles the input method on and off in regular buffers and the minibuffer when it is being used for something other than isearch-mb.
Do you happen to have any idea what might be going on here? The only call made to read-from-minibuffer does specify t for INHERIT-INPUT-METHOD, so at first glance it seems like the code is doing the right thing, but I haven't spent too much time looking into this myself.

Needs a bit more care regarding recursive editing

When I have an isearch mb minibuffer active and start a recursive minibuffer, e.g., C-x b, the isearch-mb should be terminated or suspended. Currently this makes the recursive command dysfunctional.

One more idea - better mode line indicator

I have something like this in my config, which is similar to what isearch+ does. It only works so lala because of the minibuffer-message sit-for delays. Maybe there is also more information which could be shown. Do you think something like this is within the scope of isearch-mb?

(defun dm/isearch-indicator-remove ()
  (setq mode-line-misc-info (delete "ISEARCH " mode-line-misc-info)
        mode-line-misc-info (delete "Isearch " mode-line-misc-info)
        mode-line-misc-info (delete "R*SEARCH " mode-line-misc-info)
        mode-line-misc-info (delete "R*search " mode-line-misc-info)))

(defun dm/isearch-indicator-update ()
  (dm/isearch-indicator-remove)
  (push (concat (propertize (if isearch-case-fold-search
                                (if isearch-regexp "R*SEARCH" "ISEARCH")
                              (if isearch-regexp "R*search" "Isearch"))
                            'face 'isearch)
                " ")
        mode-line-misc-info))

(add-hook 'isearch-mode-end-hook #'dm/isearch-indicator-remove)
(add-hook 'isearch-update-post-hook #'dm/isearch-indicator-update)

When changing the search direction C-s/r must be pressed twice

When you want to change the search direction, the normal isearch changes the prompt and then requires you to press C-s/r again. Since Isearch-mb does not change the prompt (related to #7), having to press the C-s/r key twice feels awkward. Is there a way to avoid this?

Enter non-incremental search on empty submission.

Hello,

In normal Isearch, an empty submission activates one of the nonincremental-search-* commands. This is helpful for larger files.

Please consider adding this feature to Isearch MB.

Thank you.

ELPA?

Hi,

first of all thanks for this package. The README states that it is available from ELPA, but I cannot find it there.

Screenshot from 2021-05-17 16-17-56

Screenshot from 2021-05-17 16-18-50

Is it supposed to be available soon?

"Error running timer: (wrong-type-argument" when searching in the help buffer

Hi. I just run into this issue.

Steps to reproduce

emacs -Q

(package-initialize)
(isearch-mb-mode)
;; any other variable will do
(describe-variable 'emacs-version) 
(other-window 1)
;;; C-s

I get

Error running timer: (wrong-type-argument char-or-string-p nil)

If I C-s again, it works.

Emacs-version: 29.1.90 (custom built on Debian)
Isearch-mb version: 0.70

Wrong lazy count info when starting the search

The lazy count info is 0/total-count when starting a search session. Only after we call isearch-repeat-forward/backward, the current count is not zero.

This also happens when we isearch-repeat in the opposite direction for the first time.

Recipe for $ emacs -Q:

(require 'isearch-mb)
(setq isearch-lazy-count t)
;; Then search for some words that exist in the buffer, the current count is not 0.
(isearch-mb-mode)
;; Now search again. The current count is 0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.