From 4f18ead28d967928b3efd8c86362715eab5c7bd5 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Thu, 18 Feb 2021 22:41:22 -0600 Subject: [PATCH] Fixed the issue with swiper --- elpa/swiper-0.13.0/swiper-pkg.el | 2 - elpa/swiper-0.13.1.signed | 1 + elpa/swiper-0.13.1/.dir-locals.el | 14 + elpa/swiper-0.13.1/ChangeLog | 5518 +++++++++++++++++ .../swiper-autoloads.el | 4 + elpa/swiper-0.13.1/swiper-pkg.el | 2 + .../swiper.el | 6 +- 7 files changed, 5541 insertions(+), 6 deletions(-) delete mode 100755 elpa/swiper-0.13.0/swiper-pkg.el create mode 100644 elpa/swiper-0.13.1.signed create mode 100644 elpa/swiper-0.13.1/.dir-locals.el create mode 100644 elpa/swiper-0.13.1/ChangeLog rename elpa/{swiper-0.13.0 => swiper-0.13.1}/swiper-autoloads.el (95%) mode change 100755 => 100644 create mode 100644 elpa/swiper-0.13.1/swiper-pkg.el rename elpa/{swiper-0.13.0 => swiper-0.13.1}/swiper.el (99%) mode change 100755 => 100644 diff --git a/elpa/swiper-0.13.0/swiper-pkg.el b/elpa/swiper-0.13.0/swiper-pkg.el deleted file mode 100755 index 367c8fc..0000000 --- a/elpa/swiper-0.13.0/swiper-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; Generated package description from /data/data/com.termux/files/home/.emacs.d/elpa/swiper-0.13.0/swiper.el -*- no-byte-compile: t -*- -(define-package "swiper" "0.13.0" "Isearch with an overview. Oh, man!" '((emacs "24.5") (ivy "0.13.0")) :commit "cd634c6f51458f81898ecf2821ac3169cb65a1eb" :keywords '("matching") :authors '(("Oleh Krehel" . "ohwoeowho@gmail.com")) :maintainer '("Oleh Krehel" . "ohwoeowho@gmail.com") :url "https://github.com/abo-abo/swiper") diff --git a/elpa/swiper-0.13.1.signed b/elpa/swiper-0.13.1.signed new file mode 100644 index 0000000..8631705 --- /dev/null +++ b/elpa/swiper-0.13.1.signed @@ -0,0 +1 @@ +Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) (trust undefined) created at 2020-12-03T04:05:02-0600 using RSA \ No newline at end of file diff --git a/elpa/swiper-0.13.1/.dir-locals.el b/elpa/swiper-0.13.1/.dir-locals.el new file mode 100644 index 0000000..3d5e818 --- /dev/null +++ b/elpa/swiper-0.13.1/.dir-locals.el @@ -0,0 +1,14 @@ +;;; Directory Local Variables +;;; For more information see (info "(emacs) Directory Variables") + +((nil + (bug-reference-bug-regexp . "#\\(?2:[[:digit:]]+\\)") + (bug-reference-url-format . "https://github.com/abo-abo/swiper/issues/%s") + (copyright-names-regexp . "Free Software Foundation, Inc\\.") + (sentence-end-double-space . t)) + (emacs-lisp-mode + (indent-tabs-mode . nil) + (outline-regexp . ";;[;*]+[\s\t]+") + ;; extra config here: https://github.com/abo-abo/oremacs/blob/github/modes/ora-elisp-style-guide.el + ;; (lisp-indent-function . common-lisp-indent-function) + )) diff --git a/elpa/swiper-0.13.1/ChangeLog b/elpa/swiper-0.13.1/ChangeLog new file mode 100644 index 0000000..98f1f40 --- /dev/null +++ b/elpa/swiper-0.13.1/ChangeLog @@ -0,0 +1,5518 @@ +2020-11-29 Oleh Krehel + + Rename swiper -> ivy + +2015-12-07 Oleh Krehel + + doc/ivy.org: Add "Variable Index" node + +2015-12-07 Oleh Krehel + + doc/ivy.texi: Re-export using adjusted texinfo exporter + + * doc/ivy.org: Add defopt/endopt macros. Change `ivy-wrap' and + `ivy-height' to defopt. + +2015-12-07 Oleh Krehel + + swiper.el: Bump version to 0.7.0 + +2015-12-07 Oleh Krehel + + doc/Changelog.org: Update up to 706349f + +2015-12-07 Oleh Krehel + + ivy.el (ivy-completing-read): Use completing-read-default for tmm + + Fixes #316 + +2015-12-07 Oleh Krehel + + counsel.el (counsel-tmm): New command + + * counsel.el (counsel-tmm-prompt): New defun. + (tmm-km-list): Define this variable here, since `tmm-get-keymap' + modifies a global variable (yuck!). + + Re #316 + +2015-12-07 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Add vc-dir-mode + + Re #19 + +2015-12-04 Oleh Krehel + + Use :caller for ivy-re-builders-alist + + * counsel.el (counsel-M-x): Add :caller. + + * ivy.el (ivy--reset-state): Use :caller. + +2015-12-04 Oleh Krehel + + swiper.el (swiper--update-input-ivy): Add a work-around for "M-j" + + When `ivy-yank-word' is called, don't move to the line of the current + candidate. We're already there anyway. And not moving helps when there + are multiple occurrences of the current input on the current line. + + Fixes #314 + +2015-12-02 Oleh Krehel + + ivy.el: Structure all faces into ivy-faces custom group + +2015-11-29 Oleh Krehel + + Fix due to visual-line-mode weirdness + + * swiper.el (swiper--candidates): Under a specific random condition, + (line-move 1) from the beginning of line doesn't move to the beginning + of the next visual line. + + This change fixes it, but will result in an even slower startup when + `visual-line-mode' is active. + + Fixes #313 + +2015-11-29 Oleh Krehel + + swiper.el: Use show-all if outline-show-all isn't there + + Fixes #312 + +2015-11-29 Oleh Krehel + + Fix ivy-resume issue caused by the recursive calls change + + * ivy.el (ivy-read): recursive-ivy-last is only set if there's an active + minibuffer window. If this check isn't made, it causes the previous + `ivy-last' to be reset after the current one, so `ivy-resume' would + resume not the last command. + +2015-11-29 Oleh Krehel + + Fix the preselect for (swiper "one") again + + * ivy.el (ivy--reset-state): Take into account :preselect being integer. + This means that it's void once the candidates are filtered over + :initial-input. + + Fixes #292 + +2015-11-27 Oleh Krehel + + Fix the issue caused by recursive swiper calls + + * swiper.el (swiper--ivy): Look at the return result of `ivy-read'; + looking at `ivy-exit' no longer works. + + Fixes #311 + +2015-11-27 Oleh Krehel + + Remove 'field text property for twittering-mode + + * swiper.el (swiper--candidates): Update. + (swiper-font-lock-ensure): Add `twittering-mode'. + + Fixes #310 + +2015-11-27 Oleh Krehel + + Enable recursive swiper calls + + * ivy.el (ivy-read): Don't need to be in the minibuffer to do a + recursive store/restore. + + (ivy--reset-state): Avoid nil string while testing. + + Fixes #309 + +2015-11-27 Oleh Krehel + + doc/Changelog.org: Update up to 2bec99d + +2015-11-27 Oleh Krehel + + Fixes on the previous docstring edits + +2015-11-27 sjLambda + + Edit documentation strings in ivy.el + + Fixes #308 + +2015-11-26 Oleh Krehel + + Ease production of functions like ivy-format-function-default + + * ivy.el (ivy--format-function-generic): New defun. + (ivy-format-function-default): + (ivy-format-function-arrow): + (ivy-format-function-line): Use `ivy--format-function-generic'. + + * counsel.el (counsel--M-x-transformer): Add an extra space to simplify + the logic. + + Re #307 + +2015-11-26 Stephen Whipple + + Convert ivy formatting functions to dotted pairs. + + `ivy-format-function' now expects to operate on dotted pairs + representing (stub . extra), where `stub' is the original candidate and + `extra' is any extra information that has been added by counsel or other + libraries. + + The format function can differentiate between the original stub and + extra information and choose how to display the result to the user. + +2015-11-25 Stephen Whipple + + Update ivy format functions. + + `ivy-format-function' now accessible via Customize system. + + `ivy-format-function-default' and `ivy-format-function-arrow' + simplified. + + New format `ivy-format-function-line' added. + + `counsel-M-x' restores `ivy-format-function' before executing command. + + Fixes #306 + +2015-11-25 Oleh Krehel + + Add counsel-grep + + * ivy.el (ivy--reset-state): Don't push preselect onto collection for + :dynamic-collection. + (ivy-recompute-index-swiper-async): New defun. It's useful for + re-anchoring on collections produced async processes. The major + difference from `ivy-recompute-index-swiper' is using `equal' instead of + `eq'. + + * counsel.el (counsel--async-sentinel): Add index recomputing logic. + When `ivy--old-cands' are null, recompute the index according to + :preselect, otherwise try `ivy--recompute-index'. + (counsel-grep): New command. Very similar to `swiper', except calls an + external process for each key update. Should be much faster for very + large files, both for startup and for matching. For smaller files, it's + less convenient. + (counsel-grep-function): New defun. + (counsel-grep-action): New defun. + + Fixes #299 + +2015-11-24 Oleh Krehel + + Ivy-resume should restore the buffer for swiper + + * ivy.el (ivy-resume): Update. + + Fixes #302 + +2015-11-24 Oleh Krehel + + Fix broken candidate index in ivy-resume + + * ivy.el (ivy--reset-state): When given initial-input, call + `ivy--preselect-index' on candidates filtered by initial-input. This + is important for `ivy-resume'. + +2015-11-24 Samuel Loury + + Warn the user about the behavior of ivy--regex-ignore-order + + Fixes #296 Fixes #305 + +2015-11-24 Oleh Krehel + + Minor fixes to ivy.org and export to ivy.texi + + Fixes #304 + +2015-11-24 sjLambda + + ivy.org manual edits + +2015-11-24 kovrik + + Fix `counsel-ag` on Windows + +2015-11-22 Oleh Krehel + + swiper.el (swiper--action): push-mark only if exited the minibuffer + + "C-M-n" and "C-M-p" will no longer push mark and annoy with messages. + +2015-11-22 Oleh Krehel + + Perform string-match in the original buffer + + * ivy.el (ivy--exhibit): Wrap in `with-current-buffer' + `ivy-state-buffer'. + (ivy-recompute-index-swiper): Reset to the candidate at the current line + number, in case the previous regex resulted in 0 candidates. + + Fixes #298 + +2015-11-21 Oleh Krehel + + swiper.el (swiper--candidates): Require outline + + Fixes #297 + +2015-11-20 Oleh Krehel + + Fix the preselect for (swiper "one") + + * ivy.el (ivy--reset-state): Ignore INITIAL-INPUT on the first + step. Then all `ivy--filter' on the second step. + (ivy--preselect-index): Change arglist. No longer takes INITIAL-INPUT. + (ivy--recompute-index): Update the call to `ivy--preselect-index'. + + Fixes #292 + +2015-11-19 Oleh Krehel + + ivy.el (ivy-alt-done): Split into smaller defuns + + * ivy.el (ivy--directory-done): New defun. + (ivy-alt-done): Forward to `ivy--directory-done'. + +2015-11-19 Oleh Krehel + + ivy.el (ivy-alt-done): Refactor + + Collect all `ivy--directory' branches into a single `cond'. + +2015-11-19 Oleh Krehel + + Allow access to TRAMP from "// C-j" + + * ivy.el (ivy-alt-done): Match not only `ivy-text' but also + `ivy--current' for TRAMP regex. + + Re #285 + +2015-11-18 Stephen Whipple + + Improve ivy TRAMP support + +2015-11-18 Oleh Krehel + + ivy.el (ivy-completing-read): Fix off by one + + Re #295 + +2015-11-18 Oleh Krehel + + Switch to using ivy-exit-with-action + + * ivy.el (ivy-exit-with-action): Add a missing quote. + (ivy--cd-maybe): Use `ivy-exit-with-action'. + + * counsel.el (counsel-find-symbol): + (counsel--info-lookup-symbol): + (counsel-git-grep-query-replace): Use `ivy-exit-with-action'. + + * swiper.el (swiper-query-replace): + (swiper-mc): Use `ivy-exit-with-action'. + + The previous approach was overwriting the action list, so when + `ivy-resume' was called, only a single action was present. The new + approach doesn't have this bug. + + So now it's possible to e.g. `counsel-describe-function' -> "M-o d" -> + `ivy-resume' -> "M-o o" -> `ivy-resume' -> "M-o i". + +2015-11-18 Samuel Loury + + Make ivy-completing-read handle history as cons + + The ivy-read function assumes that history is a symbol, hence + ivy-completing-read now makes sure that a symbol is given to ivy-read. + + Moreover, it makes sure that the value of initial-input is coherent with + the value of the HISTPOS part of the history variable if it exists. + + Fixes #295 + +2015-11-17 Oleh Krehel + + swiper.el: Modify the behavior with org-mode and visual-line-mode + + * swiper.el (swiper--candidates): Set `swiper-use-visual-line' even for + `org-mode'. In that case, reveal all text to prevent `line-move' + weirdness. + (swiper--ivy): Use `swiper-use-visual-line'. + + Re #291 Re #227 + +2015-11-16 Oleh Krehel + + README.md: Add more bindings + +2015-11-16 Oleh Krehel + + Add precise preselect for swiper with visual-line-mode + + * swiper.el (swiper--ivy): Use `count-screen-lines' to calculate the + visual line number. + + Fixes #291 + +2015-11-16 Oleh Krehel + + Intermediate fix for :preselect with visual-line-mode + + * swiper.el (swiper--ivy): Use `beginning-of-visual-line' and + `end-of-visual-line'. This should fix the preselect problem for + non-duplicate buffer lines. + + For duplicate buffer lines, a `visual-line-number-at-pos' function is + necessary. I don't currently know how to implement such a function in an + efficient way. The naive implementation could be pretty inefficient, + comparable to doubling `swiper' startup time with `visual-line-mode'. + + Re #291 + +2015-11-15 Oleh Krehel + + Fix swiper preselect issue with similar or identical lines + + * ivy.el (ivy--preselect-index): Allow PRESELECT to be an integer. + + * swiper.el (swiper--anchor): + (swiper--len): Remove unused defvar. + (swiper--init): Update. + (swiper--ivy): Set PRESELECT to `line-number-at-pos'. + + Fixes #290 + +2015-11-14 Oleh Krehel + + swiper.el (swiper-all): New command to swiper all file buffers + + * swiper.el (swiper--candidates): Add NUMBERS-WIDTH arg. It could be + done better by calculating the line count of each buffer and then + getting the max of that, but this way is faster, since the collections + are traversed only once. + (swiper-multi): Update. + (swiper-all): New command. This is like `swiper-multi' where the buffer + list is pre-selected to be all file visiting buffers. + (swiper--multi-candidates): New defun. + (swiper-multi-action-1): Use `swiper--multi-candidates'. + (swiper-multi-action-2): Update - the line number is in the 'display + property of the first char. + + Re #234 + +2015-11-14 Oleh Krehel + + swiper.el (swiper--candidates): Replace "\t" with " " + + This will allow the minibuffer strings to align nicer for + `swiper-multi'. + +2015-11-14 Oleh Krehel + + ivy.el (ivy--truncate-string): New defun + + * ivy.el (ivy-format-function-default): Use `ivy--truncate-string'. + +2015-11-14 Oleh Krehel + + counsel.el (counsel-locate): Add INTIAL-INPUT arg + + Fixes #289 + +2015-11-13 Oleh Krehel + + ivy.el (ivy--sort-files-by-date): Fix due to destructive cl-sort + +2015-11-13 Oleh Krehel + + Allow to sort files by last modification time. + + * ivy.el (ivy--sort-files-by-date): New defun. + + Example of use: + + (add-to-list + 'ivy-sort-matches-functions-alist + '(read-file-name-internal . ivy--sort-files-by-date)) + + This will result in e.g. `find-file' or `counsel-find-file' sorting + files by last modification time. + + Fixes #213 + +2015-11-13 Oleh Krehel + + Allow user-specified matched candidate sorting + + * ivy.el (ivy-prefix-sort): Remove defcustom. + (ivy--filter): Forward sorting of matched candidates to `ivy--sort'. + (ivy-sort-matches-functions-alist): New defcustom. + (ivy--sort): New defun. + + Fixes #269 Fixes #265 + +2015-11-13 Oleh Krehel + + ivy.el (ivy-prefix-sort): New defcustom, off by default for now + + * ivy.el (ivy--filter): When `ivy-prefix-sort' is non-nil, additionally + sort the matching candidates with `ivy--prefix-sort'. + (ivy--prefix-sort): New defun. + + Fixes #265 + +2015-11-13 Oleh Krehel + + ivy.el (ivy-sort-functions-alist): Update doc + + Mention `ivy-sort-max-size'. + +2015-11-13 Oleh Krehel + + swiper.el: Add support for evil-jumper/backward + + * swiper.el (evil-jumper--set-jump): Declare. + (swiper--init): When `evil-jumper-mode' is on, call + `evil-jumper--set-jump'. + + * ivy.el (counsel-git-grep-cmd): Declare to silence the byte compiler. + + Fixes #268 + +2015-11-13 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Add eww-mode + +2015-11-12 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Add occur-mode + +2015-11-11 Oleh Krehel + + ivy.el (ivy-occur): Give full counsel-git-grep cands + + This means that the " | head -n 200" speed-up isn't used and full + candidates are returned. + +2015-11-11 Oleh Krehel + + ivy.el (ivy-occur-mode-map): Bind "q" to quit-window + +2015-11-11 Oleh Krehel + + Allow counsel-git-grep -> ivy-occur -> wgrep + + * ivy.el (ivy-exit-with-action): New defun. + (ivy-occur-action): Remove defvar. It's part of `ivy-occur-last' now. + (ivy-occur-last): Update doc. + (ivy-occur-map): Rename to `ivy-occur-mode-map'. + (ivy-occur-mode): New major mode. + (ivy-occur): When the caller is `counsel-git-grep', enter `grep-mode'; + otherwise enter the new `ivy-occur-mode'. For `wgrep' to work, two + things are changed: candidates need to start on the 5th line, and + candidates need to be prefixed with "./". + (ivy-occur-read-action): New command, bound to "a". + (ivy-occur-dispatch): New command, bound to "o". + (ivy-occur-press): Update to work with `grep-mode'. + (ivy-occur-grep-mode-map): New defvar. + (ivy-occur-grep-mode): New major mode. Basically, it's grep-mode with + "C-x C-q" bound to `wgrep-change-to-wgrep-mode'. + +2015-11-11 Oleh Krehel + + ivy.el (ivy-dispatching-done): Don't set action permanently + +2015-11-11 Oleh Krehel + + counsel.el (counsel--find-symbol): Silence byte compiler + +2015-11-11 Oleh Krehel + + swiper.el (swiper-toggle-face-matching): Add and bind to "C-c C-f" + + * swiper.el (swiper-map): Bind `swiper-toggle-face-matching' to + "C-c C-f". + (swiper-invocation-face): New defvar. + (swiper--ivy): Set `swiper-invocation-face'. + (swiper-toggle-face-matching): Toggle `ivy-state-matcher' between nil + (the initial value) and 'swiper--face-matcher. + (swiper--face-matcher): New defun. In addition to filtering CANDIDATES + by having them match REGEXP, also ensure that every match has + `swiper-invocation-face'. + + Example of usage: + + 1. Move point to a variable with e.g. `font-lock-keyword-face' and "C-s" + . + + 2. Use "C-c C-f" to filter the candidates further by selecting only the + ones that have `font-lock-keyword-face'. Note that "M-q" + (`swiper-query-replace') is also affected by the filtering. + + 3. Use "C-c C-f" to toggle the filtering off. + + Fixes #288 + +2015-11-10 Oleh Krehel + + ivy.el (ivy-alt-done): Ensure the trailing slash for directories + + * ivy.el (ivy-alt-done): Update. + +2015-11-06 Oleh Krehel + + counsel.el (counsel-M-x): Show current-prefix-arg in the prompt + + * counsel.el (counsel--M-x-prompt): New defun. + (counsel-M-x): Update. + + Fixes #287 + +2015-11-06 Oleh Krehel + + doc/ivy.org: Start writing a manual + +2015-11-05 Stephen Whipple + + Fix directory validity check + + Directory validity check should be based on `ivy-text` and + `ivy--directory` rather than only `ivy-text`. + + Fixes #283 Fixes #284 + +2015-11-05 Oleh Krehel + + Add a better ivy-occur pulse to swiper and counsel-git-grep + + * ivy.el (ivy-occur-press): Bind `ivy-exit' to 'done, so that + `swiper--add-overlays' called by ACTION don't do anything. + Call another `swiper--add-overlays' for swiper and counsel-git-grep, + limited to the current line. Call `swiper--cleanup' with a delay of 1 + second. + +2015-11-05 Oleh Krehel + + swiper.el (swiper--add-overlays): Take extra WND arg + +2015-11-05 Oleh Krehel + + counsel.el (counsel-git-grep-query-replace): Should exit minibuffer + +2015-11-05 Oleh Krehel + + Input "/sudo::" goes to current directory instead of root's home + + * ivy.el (ivy-alt-done): Update. + + Re #283 + +2015-11-05 Oleh Krehel + + Fix /ssh: and /sudo:: broken in 71695df + + * ivy.el (ivy-alt-done): `file-directory-p' errors when given "/ssh:" or + "/sudo::". + + Re #283 + +2015-11-05 Oleh Krehel + + Rebind ivy-occur to "C-c C-o" and "C-o u" + + * ivy.el (ivy-minibuffer-map): Update. + + * ivy-hydra.el (hydra-ivy): Update. + + Wouldn't want to violate the "C-c LETTER" convention. + +2015-11-04 Oleh Krehel + + counsel.el (counsel-M-x): Add "definition" action + +2015-11-04 Oleh Krehel + + ivy.el (ivy-occur-press): Extend with-ivy-window + + ivy-occur-action should be called in (ivy--get-window ivy-last). + + This means, for purposes of e.g. `counsel-find-symbol' or + `lispy--action-jump` that if *ivy-occur* is the only window, it will be + re-used. But if the user wants *ivy-occur* not to get buried, then + having at least 2 windows solves that problem. + +2015-11-04 Oleh Krehel + + ivy.el (ivy-minibuffer-map): Bind "C-M-a" to ivy-read-action + +2015-11-04 Oleh Krehel + + counsel.el (counsel-rhythmbox): Add :caller + + This results in more descriptive *ivy-occur* buffers. + +2015-11-04 Oleh Krehel + + ivy.el (ivy-occur-press): Work with counsel-rhythmbox + + > (cdr (assoc str coll)) + + Special behavior for `counsel-rhythmbox'. Maybe not taking `cdr' is the + right thing, but that's how Helm and `helm-rhythmbox-play-song' works. + +2015-11-04 mike + + fix 1-too-far scrolling issue + + Functions `ivy-scroll-up-command' and `ivy-scroll-down-command' would + scroll 1 unit too far. So one item in the list would be skipped and + never seen for each scroll. + +2015-11-04 Oleh Krehel + + Pulse after ivy-occur-press + + * ivy.el (ivy-state): New field TEXT. + (ivy-occur): Add `ivy-text' to the name of the buffer. Also store + `ivy-text' in `ivy-occur-last'. Might be needed in the future for a more + specific pulse. + (ivy-occur-press): Pulse the selected line. + +2015-11-03 Oleh Krehel + + Make ivy work with enable-recursive-minibuffers + + * ivy.el (ivy-read): Fix the doc of DYNAMIC-COLLECTION. Store the old + `ivy-last' in case `ivy-read' is called while inside the minibuffer. + Restore it after `ivy-call'. + +2015-11-03 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude debbugs-gnu-mode + +2015-11-03 Oleh Krehel + + ivy.el (ivy-occur): Add and bind to "C-c o" + + * ivy.el (ivy-minibuffer-map): Update. + (ivy-occur-action): + (ivy-occur-last): + (ivy-occur-map): New defvar. + (ivy-occur): New command. + (ivy-occur-click): New command bound to mouse click. + (ivy-occur-press): New command bound to "RET" press. + + `ivy-occur' allows to store the current completion session for further + use. An unlimited amount of these sessions can be used, each in its own + buffer. + +2015-11-03 Oleh Krehel + + ivy.el (with-ivy-window): Ensure window is live + + * ivy.el (ivy--get-window): New defun. + +2015-11-03 Oleh Krehel + + ivy.el (ivy-state): Add a new field BUFFER + + * ivy.el (ivy-resume): Update. + (ivy-read): Update. + + * swiper.el (swiper--action): Use `ivy-state-buffer'. + +2015-11-03 Oleh Krehel + + swiper.el (swiper-mc): Update + +2015-11-02 Oleh Krehel + + Highlight modified file buffers with 'ivy-modified-buffer face + + * ivy.el (ivy-modified-buffer): New face, blank by default. + (ivy--format): When the collection is 'internal-complete-buffer, + highlight unsaved file visiting buffers with 'ivy-modified-buffer. + + Fixes #280 + + Example custom setting for 'ivy-modified-buffer: + + (custom-set-faces + '(ivy-modified-buffer ((t (:background "#ff7777"))))) + +2015-11-01 Oleh Krehel + + ivy.el (ffap): Move require + +2015-10-31 Oleh Krehel + + counsel.el (counsel-git-grep-query-replace): Add and bind to "M-q" + + * counsel.el (counsel-git-grep-map): Bind "M-q" to + `counsel-git-grep-query-replace'. + (counsel-git-grep-query-replace): New command. Perform `query-replace' + on all matches of git-grep in all buffers. + +2015-10-31 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude eems-stream-mode + + Re #19 + +2015-10-30 Oleh Krehel + + "C-x C-f M-n" can call ffap-url-fetcher when at URL + + * ivy.el (ivy--cd-maybe): Check if the input is a valid URL. If so, exit + immediately by calling (funcall ffap-url-fetcher url). Otherwise, do the + usual `ivy--cd' thing. + +2015-10-30 Oleh Krehel + + ivy.el: "M-n" should prefer url at point to symbol at point + + * ivy.el (ivy--reset-state): Update. + +2015-10-30 Oleh Krehel + + counsel.el (counsel--find-symbol): Resolve name clash better + + * counsel.el (counsel--find-symbol): When the symbol is both bound and + fbound, prefer the fbound one, unless the :caller is + `counsel-describe-variable'. + (counsel-describe-variable): Declare :caller. + (counsel-describe-function): Declare :caller. + + One example is going to the definition of `isearch-forward' (also with + `counsel-M-x'). + +2015-10-30 Oleh Krehel + + Improve the preselect index in ivy-resume + + * ivy.el (ivy--recompute-index): Don't change the ivy--index that was + set in `ivy--reset-state' by `ivy-resume'. + + With this, it's possible to e.g. " f", enter "for", navigate to + "format" and press "C-g". Calling `ivy-resume' will point to "format" + still. + +2015-10-30 Oleh Krehel + + Use a specific blending method for dark themes + + * colir.el (colir-blend): Use 'colir-compose-soft-light for dark themes. + + Fixes #278 + +2015-10-28 Oleh Krehel + + Rename and move the minibuffer faces + + * swiper.el (swiper-minibuffer-match-face-1): + (swiper-minibuffer-match-face-2): + (swiper-minibuffer-match-face-3): + (swiper-minibuffer-match-face-4): Transform into obsolete aliases. + + * ivy.el (ivy-minibuffer-match-face-1): + (ivy-minibuffer-match-face-2): + (ivy-minibuffer-match-face-3): + (ivy-minibuffer-match-face-4): New renamed faces. + (ivy-minibuffer-faces): Rename from `swiper-minibuffer-faces'. + + Fixes #276 + +2015-10-24 Oleh Krehel + + counsel.el (counsel-git): Update default-directory + +2015-10-23 Oleh Krehel + + ivy-immediate-done should use ivy--directory + + * ivy.el (ivy-immediate-done): When completing file names, expand the + file name properly. + + Fixes #275 + +2015-10-23 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Amend exception list + + Re #19 + +2015-10-22 Oleh Krehel + + ivy.el (ivy-alt-done): Fix up last commit + +2015-10-22 Oleh Krehel + + "C-j" should not stop completion for a pasted file path + + * ivy.el (ivy-alt-done): If you paste a file path, it won't match + anything in the current directory. Previously, "C-j" would open dired + for that path. Now, "C-j" will switch to the pasted directory and + continue completion. + + This behavior conforms to `ido-find-file'. + +2015-10-22 Oleh Krehel + + Fix pasting file paths on Windows + + * ivy.el (ivy--exhibit): Update. + + Fixes #272 + +2015-10-22 Stephen Whipple + + Fix Custom menus + + Custom menus for `ivy-virtual-abbreviate' and `ivy-sort-functions-alist' + now display a better user interface. + + Fixes #274 + +2015-10-20 Oleh Krehel + + Add a test for the perfect match logic + + Re #270 + +2015-10-20 Oleh Krehel + + Bring back the lost perfect match logic + + * ivy.el (ivy--recompute-index): Don't defer the perfect match logic to + `ivy-index-functions-alist'. + (ivy-recompute-index-swiper): Simplify. + + Once again, if the minibuffer text becomes `equal' to one of the + candidates, that candidate will be selected. + + Fixes #270 + +2015-10-20 Oleh Krehel + + ivy.el (ivy-resume): Pass caller + + Fixes #245 + +2015-10-19 Oleh Krehel + + ivy.el (ivy-partial): Fix for fuzzy completion + + Postfix doesn't always work if the completion is fuzzy, so check if + `string-match' succeeds. + + Fixes #266 + +2015-10-19 Oleh Krehel + + Fix the count in user-specified counsel-git-grep + + * counsel.el (counsel--gg-count): Generate the count command from + `counsel-git-grep-cmd' by replacing "--full-name" with "-c". + + Re #244 + +2015-10-18 Oleh Krehel + + ivy.el (ivy-sort-functions-alist): Upgrade to defcustom + + Add the proper :type. + +2015-10-17 Oleh Krehel + + ivy.el (ivy-extra-directories): Improve :type + +2015-10-16 Jon Miller + + counsel.el (counsel-ag): Add initial-directory + + Support alternative initial directory which helps other packages call + this function with their unique starting directory. + +2015-10-16 Oleh Krehel + + Don't re-anchor to matching old candidate if flx is on + + * ivy.el (ivy--recompute-index): If `flx' is in position to select the + "best" candidate, don't re-anchor to the still-matching previous + candidate. + + Fixes #263 + +2015-10-15 Oleh Krehel + + Add feedback for long-running async processes + + * counsel.el (counsel--async-time): New defvar. + (counsel--async-filter): New defun. + (counsel--async-command): Use `counsel--async-filter'. + + Each time 0.5s pass after the last input, if the external process hasn't + finished yet, update minibuffer with the amount of candidates collected + so far. This is useful to see that long running commands like + `counsel-locate' or `counsel-ag' (when in a very large directory) aren't + stuck. + +2015-10-14 Oleh Krehel + + ivy-test.el (swiper--re-builder): Update + + Due to last commit + +2015-10-14 Oleh Krehel + + swiper.el (swiper--re-builder): Fix "^a" -> "^" case + + Fixes #262 + +2015-10-14 Oleh Krehel + + Adjust the swiper regexp builder for the display change + + * swiper.el (swiper--re-builder): Update. The old re-builder was for + when the line numbers were part of the candidates. Now the line + numbers are the text properties of the candidates. + + Fixes #262 + +2015-10-14 Oleh Krehel + + Try to fix the previous commit + + * ivy.el (ivy--exhibit): Update. + + Sometimes the cursor randomly moves to the start of the read-only prompt + and it's impossible to move it. + +2015-10-14 Oleh Krehel + + Fix "C-x h" selection and "C-b" bug + + * ivy.el (ivy--exhibit): Add another `constrain-to-field'. + + This ensures that the point doesn't cross into the prompt text. + Previously, there was a bug that pressing "C-b" once more when already + at the start of the input set `ivy-text' to "", i.e. ignoring the + minibuffer input. + +2015-10-14 Oleh Krehel + + Fix window selection in counsel-locate + + * counsel.el (counsel-locate): Use `with-ivy-window'. + +2015-10-14 Oleh Krehel + + swiper.el (swiper-mc): Add and bind to "C-7" + + * swiper.el (swiper-map): Update. + (swiper-mc): New command. + (swiper--ivy): Use :action. + (swiper--action): Update arglist. + +2015-10-10 Oleh Krehel + + ivy.el (ivy-case-fold-search): New defvar + + * ivy.el (ivy--reset-state): Set `ivy-case-fold-search' to 'auto. + (ivy-toggle-case-fold): New command. + (ivy--filter): Use `ivy-case-fold-search' to determine + `case-fold-search'. + + * ivy-hydra.el (hydra-ivy): Bind "C" to `ivy-toggle-case-fold'. + + Fixes #259 + +2015-10-10 Oleh Krehel + + ivy-count-format must be an empty string instead of nil + + Using an empty string is easier. No longer needed to check for nil when + using `string-match', `concat' etc. + + * doc/Changelog.org: Update. + + * ivy.el (ivy-count-format): Update doc and customize type. + (ivy--reset-state): Error if `ivy-count-format' nil is encountered. + + Fixes #257 Re #188 + +2015-10-09 Oleh Krehel + + Fix the count when git-grep for "->foo" + + * counsel.el: For some reason, "-" gets interpreted in a bad way. + Escaping it as "\-" makes it work fine. + +2015-10-09 Oleh Krehel + + ivy.el (ivy--recompute-index): Fixup + + Fixes #258 + +2015-10-09 Oleh Krehel + + Don't reset the match to first if the current one still works + + * ivy.el (ivy--recompute-index): If the old match is still located in + the current matches after the change in input, keep it selected. + + * ivy-test.el (ivy-read): Add test. + + Fixes #258 + +2015-10-09 Oleh Krehel + + ivy.el (ivy-virtual-abbreviate): New defcustom + + * ivy.el (ivy--virtual-buffers): Update. + + Fixes #255 + +2015-10-08 Oleh Krehel + + ivy-hydra.el (hydra-ivy): Make the docstring a rectangle + +2015-10-08 Oleh Krehel + + Move setq ivy--index to ivy--recompute-index + + * ivy.el (ivy--recompute-index): Move the setq statement here, so that + the customization functions have less internal variables to deal with. + (ivy-recompute-index-swiper): Update. + (ivy-recompute-index-zero): Update. + + Re #253 + +2015-10-08 Oleh Krehel + + ivy.el (ivy-index-functions-alist): New variable + + * ivy.el (ivy-state): Add `caller' field. + (ivy-read): Add `caller' keyword arg; update docstring. Use + `ivy--recompute-index'. + (ivy--recompute-index): New defun, dispatch according to `caller' and + `ivy-index-functions-alist'. + (ivy-recompute-index-swiper): New defun. + (ivy-recompute-index-zero): New defun. + + Fixes #253 + +2015-10-08 Oleh Krehel + + swiper.el: Add a lot of avy declares + +2015-10-08 Oleh Krehel + + ivy.el (ivy-dispatching-call): Add and bind to "C-M-o" + + * ivy.el (ivy-minibuffer-map): Update. + (ivy-read-action): New command. + (ivy-dispatching-done): Update. + + * ivy-hydra.el (hydra-ivy): Bind `ivy-read-action' to "a". + + Re #254 + +2015-10-07 Oleh Krehel + + Fix preselect for input "^" + + * ivy.el (ivy--filter): Update. + + Notably, e.g. `counsel-describe-variable' should properly preselect + variable at point. + +2015-10-07 Oleh Krehel + + ivy.el (ivy-last): Update docstring + +2015-10-07 Oleh Krehel + + ivy.el (ivy-use-virtual-buffers): Update docstring + +2015-10-07 Oleh Krehel + + Default ivy-display-style to 'fancy for Emacs>=24.5 + + * ivy.el (ivy-display-style): Update. + +2015-10-07 Oleh Krehel + + ivy.el (ivy-count-format): Extend customize choices + +2015-10-07 Oleh Krehel + + Fix ivy-state-preselect for file name completion + + * ivy.el (ivy--preselect-index): Add a check for null preselect. + (ivy--filter): Use `ivy--preselect-index' instead of `cl-position'. The + reason is that the collection contains e.g "foo/" while the preselect is + "foo". + +2015-10-07 Oleh Krehel + + Fix "M-o k" when switching buffers + + * ivy.el (ivy-call): Check if (active-minibuffer-window) is non-nil + before switching. + +2015-10-07 Oleh Krehel + + Adjust ivy-state-preselect for file name completion + + * ivy.el (ivy--reset-state): Since `ivy--index' is now recomputed more, + `ivy-state-preselect' needs to be in the collection properly, so that + `ivy--index' is set to preselect whenever the input is empty. + +2015-10-07 Oleh Krehel + + ivy.el (ivy--filter): Fix typo + + Re #253 + +2015-10-06 Oleh Krehel + + ivy.el (ivy--filter): Anchor only for swiper + + * ivy-test.el (ivy-read): Add tests. Except for `swiper', when the input + changes `ivy-index' should usually be 0. + + Fixes #231 + +2015-10-06 Oleh Krehel + + ivy.el (ivy--insert-prompt): Use newlines instead of truncation + + When the prompt string is longer than window-width, insert newlines + appropriately so that the whole prompt fits in the window without + scrolling. Finally, when prompt+entered text would be larger than + window-width, reformat the prompt so that entered text starts on a + newline. When completing file names, move the whole path to a new line + in that case. + + Fixes #252 + +2015-10-06 Oleh Krehel + + Support hash tables in ivy-read + + * ivy.el (ivy--reset-state): `all-completions' also works fine for hash + tables, so start using it. + + Hash tables as collections are rare. One example is "C-c C-w" in *rcirc* + (`rcirc-cmd-whois'). + +2015-10-06 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude help-mode + + Fixes #248 + +2015-10-05 Oleh Krehel + + Fix up visual-line-mode limitation logic + + * swiper.el (swiper-use-visual-line): New defvar. + (swiper--candidates): + (swiper--update-input-ivy): + (swiper--action): Update. + + Re #227 + +2015-10-04 Oleh Krehel + + swiper.el (swiper--candidates): Avoid line-move for large buffers + + Re #227 + +2015-10-04 PythonNut + + swiper-avy: show avy hints in minibuffer as well + +2015-10-03 Oleh Krehel + + Fix "End of buffer" for swiper and visual-line-mode + + Fixes #247 + +2015-10-03 Oleh Krehel + + Customize ivy-avy and fix compile warnings + + * ivy.el (ivy-avy): Require avy. Allow the user to customize `avy-keys', + `avy-background' and `avy-style' (but prefer 'pre to 'at-full, since + it doesn't obscure any letters). Don't issue an extra `ivy-call'. + + Fixes #246 + +2015-10-03 PythonNut + + Implement ivy-avy + +2015-10-02 Oleh Krehel + + counsel.el (counsel--gg-count): Fix for "'" in query + + Since "'" is used for quoting in bash, it needs to be replaced with "''" + . + +2015-10-02 Oleh Krehel + + Use forward-line instead of line-move if possible + + * swiper.el (swiper--candidates): + (swiper--update-input-ivy): + (swiper--action): `line-move' is much slower than `forward-line'. Use it + only if `visual-line-mode' is on. + +2015-10-02 Oleh Krehel + + counsel.el (counsel--gg-candidates): Use counsel-git-grep-cmd + +2015-10-02 Oleh Krehel + + Fix counsel-git-grep not updating to 0 candidates + + * counsel.el (counsel--gg-candidates): `ivy--all-candidates' should not + be nil in order for `ivy--exhibit' to update the minibuffer. + +2015-10-02 Oleh Krehel + + Make swiper compatible with visual-line-mode + + * swiper.el (swiper--candidates): Use `end-of-visual-line' and + `line-move' appropriately. + (swiper--update-input-ivy): + (swiper--action): Use `line-move' instead of `forward-line'. + (swiper--add-overlays): Update. + + Fixes #227 + +2015-10-02 Oleh Krehel + + ivy.el (ivy-resume): Don't regexp-quote preselect + + `ivy--preselect-index' uses `cl-position' before trying to match regex, + so the string needs to be as is. + + Fixes #245 + +2015-10-02 Oleh Krehel + + ivy-hydra.el: Bind "t" to toggle-truncate-lines + + * ivy.el (ivy-format-function-default): When `truncate-lines' is non-nil + don't truncate with "...". + + Use "C-o t" when you complete very long lines and want to see them + whole. + + Fixes #214 + +2015-10-02 Oleh Krehel + + ivy.el (ivy--reset-state): Less strict on :preselect + +2015-10-02 Oleh Krehel + + Specify shell command for counsel-git-grep with prefix arg + + * counsel.el (counsel-git-grep-cmd): New defvar. + (counsel-git-grep-function): Use `counsel-git-grep-cmd'. + (counsel-git-grep-cmd-history): New defvar. + (counsel-git-grep): Update signature. When called with a prefix arg, + prompt for a command reading from and recording to + `counsel-git-grep-cmd-history'. + + Remember to use "M-i" to insert the current candidate into the + minibuffer. + + Fixes #244 + +2015-09-30 Oleh Krehel + + ivy.el (ivy-yank-word): Add only one space each time + + The previous behavior got in trouble with consecutive spaces. + +2015-09-30 Oleh Krehel + + ivy.el (ivy--regex-fuzzy): Add minibuffer highlighting + + * ivy-test.el (ivy--regex-fuzzy): Update test. + + Re #207 + +2015-09-30 Oleh Krehel + + Add flx sorting + + * ivy.el (ivy--flx-cache): New defvar. + (ivy--filter): Since flx is costly, move the caching to an earlier + point. This means immediate return for when the input hasn't changed, + i.e. for "C-n" or "C-p". When flx is installed, and + (eq ivy--regex-function 'ivy--regex-fuzzy) for current function (through + `ivy-re-builders-alist'), then sort the final candidates with + `ivy--flx-sort'. + (ivy--flx-sort): New defun. In the worst case when some error pops up + return the same list. In the best case sort the `cands' that all match + `name' by closeness to `name'. + + How to use: 1. Have flx installed - (require 'flx) should succeed. 2. + Configure `ivy-re-builders-alist' appropriately to use + `ivy--regex-fuzzy', for example: + + (setq ivy-re-builders-alist + '((t . ivy--regex-fuzzy))) + + Fixes #207 + +2015-09-30 Oleh Krehel + + ivy.el (ivy-call): "C-M-n" should not leave the minibuffer + + Make sure that the minibuffer window remains selected as long as the + completion hasn't finished. For example, " f" to call + `counsel-describe-function' input + "forward" and spam "C-M-n" to read the doc for each function that starts + with "forward". The *Help* window popup would move the window focus, but + this change moves it back to the minibuffer. + +2015-09-30 Oleh Krehel + + Improve "C-g" out of a long-running async process + + * counsel.el (counsel-delete-process): New defun. + (counsel-locate): + (counsel-ag): Use `counsel-delete-process' as :unwind. + +2015-09-30 Oleh Krehel + + ivy.el (ivy--insert-prompt): Improve truncation + + Re #240 + +2015-09-29 Oleh Krehel + + counsel.el (counsel-M-x): Don't rely on package-installed-p + + * counsel.el (counsel-M-x): Use `require' instead. `package-installed-p' + may fail if package wasn't initialized. + +2015-09-29 Oleh Krehel + + counsel.el (counsel-ag-function): Improve for fancy faces + + Set `ivy--old-re' in order for fancy `ivy-display-style' to work. + +2015-09-29 Oleh Krehel + + counsel.el (counsel--find-symbol): Allow to jump back with pop-tag-mark + + Using "C-." in: + + - counsel-describe-function + - counsel-describe-variable + - counsel-load-library + + will change the current buffer. The buffer and point can be restored + with "M-*" (`pop-tag-mark'). + + I also recommend this binding: + + (global-set-key (kbd "M-,") 'pop-tag-mark) + +2015-09-29 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Add mu4e + + Re #19 + +2015-09-26 Oleh Krehel + + ivy.el (ivy--insert-prompt): Avoid negative length error + +2015-09-26 Oleh Krehel + + Truncate minibuffer prompts longer than window-width + + * ivy.el (ivy--insert-prompt): When the prompt string is longer than the + window width, truncate it to window width minus 26 chars. + + Fixes #240 + +2015-09-26 Oleh Krehel + + Make ivy-display-style more compatible with 24.3 + + * ivy.el (ivy--format-minibuffer-line): Use + `font-lock-append-text-property' instead of + `add-face-text-property'. It's not optimal, since the new face needs + to be put in front, but at least it doesn't error out. + +2015-09-26 Oleh Krehel + + ivy.el (ivy--resize-minibuffer-to-fit): Make compatible with 24.3 + + Fixes #220 + +2015-09-25 Oleh Krehel + + swiper.el (swiper--ivy): Remove obsolete version check + +2015-09-22 Julien Wietrich + + Fix minibuffer collapse in text mode emacs + + In graphic mode : resize-mini-windows is temporarily set to nil, the + only value which does not collapse the minibuffer. + + In text mode : if resize-mini-windows is nil, it is temporarily set to + 'grow-only (default emacs value). + + This prevent the minibuffer collapse in both graphic and text mode. + + In text mode it respects the user settings if it is already set to + 'grow-only or t. + + Fix #237 in text mode emacs too. + +2015-09-22 Oleh Krehel + + swiper.el (swiper--ivy): Use minibuffer-allow-text-properties + + Using `minibuffer-allow-text-properties' makes Emacs not strip the text + properties from the result of `read-from-minibuffer'. This is better + because a function call result is used instead of a global var to pass + this info. + +2015-09-19 Julien Wietrich + + Revert multiple frames workaround + + Since SHA:d8d7ed45f07b52ab63eca444f0e6fa03747fab9e workaround + SHA:435f2b6edfe3ab517c9eda56c6351f0bcfdf3845 is no longer required. + +2015-09-19 Julien Wietrich + + Fix minibuffer collapses to one line + + It happens since commit SHA:d374afea36df19b5d6b654adc6018b25d6c1d8f2 + when resize-mini-windows is set to true. + + It also happens when resize-mini-windows is set to 'grow-only (default) + and multiple frames are open. + (Although SHA:435f2b6edfe3ab517c9eda56c6351f0bcfdf3845 work around it) + + Temporarily bind `resize-mini-windows' to nil before calling + `read-from-minibuffer'. + + Fix #237 and #229 + + It might fix #77 although this need to be checked as I cannot reproduce + it. + +2015-09-18 PythonNut + + Add autoloads to some important functions + +2015-09-18 Oleh Krehel + + ivy.el (ivy-switch-buffer): Make "M-o r" rename buffer + + * ivy.el (ivy--rename-buffer-action): New defun. + + Fixes #233 + +2015-09-18 Oleh Krehel + + Make "" and "" behave as in fundamental-mode + + Fixes #232 + +2015-09-15 Oleh Krehel + + Add work-around for minibuffer not re-sizing for many frames + + * ivy.el (ivy--minibuffer-setup): When `truncate-lines' is set, it works + fine for one graphic frame, but not for two (unknown why); add a + work-around. + + Fixes #229 + +2015-09-13 Oleh Krehel + + counsel.el (counsel-yank-pop): Add autoload + +2015-09-12 Oleh Krehel + + ivy.el (ivy-format-function-default): Fix boundp bug + + Fixes #225 + +2015-09-12 Oleh Krehel + + counsel.el (counsel-yank-pop-truncate): Add group + +2015-09-12 Oleh Krehel + + swiper.el (swiper--ivy): Fix compiler warning + +2015-09-11 Oleh Krehel + + counsel.el (counsel-yank-pop): New command + + * counsel.el (counsel-yank-pop-truncate): New defcustom. Choose whether + to truncate strings over 4 lines. + (counsel-yank-pop-action): New defun. + + Fixes #218 + +2015-09-11 Oleh Krehel + + Make line numbers in swiper into display properties + + * swiper.el (swiper--candidates): Each candidate is now a single space + plus the original string. The display property of the single space + holds the line number. This means that it's no longer possible to + match line numbers in queries. Also, the preselect of the current line + is slightly worse (in case there are two identical lines in a buffer). + (swiper--ivy): Update the preselect to not include the line number. + Also, call `ivy--action' on `ivy-current' instead of `res', because + `res' doesn't have the string property that points to the line number. + (swiper--update-input-ivy): Update. + (swiper--action): Update. + + Fixes #224 + +2015-09-11 Oleh Krehel + + Set truncate-lines in the minibuffer + + * ivy.el (ivy--minibuffer-setup): Update. + (ivy-format-function-default): Check `truncate-lines'. Check if + `fringe-mode' is bound. + + Fixes #223 + +2015-09-10 Oleh Krehel + + ivy.el (ivy--resize-minibuffer-to-fit): Make compatible with 24.3 + + Re #220 + +2015-09-10 Oleh Krehel + + ivy.el (ivy-format-function-default): Handle fringe-mode 0 + + Fixes #219 + +2015-09-09 Oleh Krehel + + counsel.el (counsel-unicode-char): Add own history + + Also make "C-M-n", "C-M-p", and `ivy-resume' work properly. + +2015-09-08 Oleh Krehel + + Fix up the "foo ! bar" matching and highlighting + + * ivy.el (ivy--filter): When regex returned is a list, use only the + first string part. + + * swiper.el (swiper--update-input-ivy): When regex returned is a list, + use only the first string part. + +2015-09-08 Oleh Krehel + + Move swiper-minibuffer-faces to ivy.el + + Fixes #217 + +2015-09-07 Oleh Krehel + + Declare some SLIME functions + + * counsel.el (slime-symbol-start-pos): + (slime-symbol-end-pos): + (slime-contextual-completions): Declare. + +2015-09-07 Oleh Krehel + + counsel.el (counsel-git-grep-function): Fix up + + Set `ivy--old-re' for the benefit of fancy minibuffer faces. + +2015-09-07 Oleh Krehel + + Make the minibuffer faces look nicer + + * ivy.el (ivy-current-match): Update background and add white + foreground for light themes. Update background and add black + foreground for dark themes. + (ivy--add-face): If a face has an explicit foreground, add it ahead, + with no blending. Blend the background as usual. + + * swiper.el (swiper-minibuffer-match-face-1): + (swiper-minibuffer-match-face-2): Update the background for light + themes. + (swiper-minibuffer-match-face-4): Update the background for dark themes. + +2015-09-06 Oleh Krehel + + Add default values for minibuffer faces + + * swiper.el (swiper-minibuffer-match-face-1): + (swiper-minibuffer-match-face-2): + (swiper-minibuffer-match-face-3): + (swiper-minibuffer-match-face-4): Update. + + Re #215 + +2015-09-04 Oleh Krehel + + ivy.el (ivy--format-minibuffer-line): Fix nil regexp + +2015-09-04 Oleh Krehel + + Make ivy-current blend correctly for fancy minibuffer + + * ivy.el (ivy--format-minibuffer-line): Stop setting :height - it messes + with blending. Also, the minibuffer height issue was fixed in an + earlier pull request. + + (ivy--format): Call `ivy--add-face' on modified string, not on the + original one. + +2015-09-04 Oleh Krehel + + ivy.el (ivy--format-minibuffer-line): Use add-face-text-property + +2015-09-04 Oleh Krehel + + Add extra faces for minibuffer highlighting + + * swiper.el (swiper-minibuffer-match-face-1): + (swiper-minibuffer-match-face-2): + (swiper-minibuffer-match-face-3): + (swiper-minibuffer-match-face-4): New defface. + (swiper-minibuffer-faces): New defvar. + + * ivy.el (ivy--format-minibuffer-line): New defun. + (ivy--format): Use `ivy--format-minibuffer-line'. + +2015-09-03 Oleh Krehel + + ivy.el (ivy-display-style): New defcustom + + * ivy.el (ivy--format): Add additional highlighting for the minibuffer, + similar to `swiper', when `ivy-display-style' is set to 'fancy. + + Fixes #212 + +2015-08-31 Oleh Krehel + + counsel.el (counsel-cl): New command + + * counsel.el (counsel--el-action): Add `with-ivy-window' wrapper. + +2015-08-25 Oleh Krehel + + counsel.el (counsel--py-action): Work with "C-M-n" + + * counsel.el (counsel--py-action): Include the inserted parens in to + bounds, so that "C-M-n", "C-M-p" and `ivy-resume' work. + +2015-08-25 Oleh Krehel + + counsel.el (counsel-jedi): New command + + * counsel.el (counsel--py-action): New defun. + + Add a few declares as well. + +2015-08-21 Oleh Krehel + + Add swiper-multi command + + * swiper.el (swiper-multi-buffers): New defvar. + (swiper-multi-candidates): New defvar. + (swiper-multi-prompt): New defun. + (swiper-multi-action-1): New defun. + (swiper-multi-action-2): New defun. + + Fixes #182. + + Basic usage tips for selecting multiple buffers: + + - Use "C-M-m" (`ivy-call') to add or remove one more buffer without + exiting. + - Use "C-m" (`ivy-done') to add one last buffer. + - Or use "C-M-j" (`ivy-immediate-done') to finish without adding more + buffers. + - Hold "C-M-n" (`ivy-next-line-and-call') to add a lot of buffers at + once. + +2015-08-20 Oleh Krehel + + counsel.el (counsel-org-tag): Now works in agenda + + * counsel.el (counsel-org--set-tags): New defun. + (counsel-org-tag-action): Update. + + When on an agenda item, add/remove tags for that item. + + When any agenda items are marked with "m", add selected tags to all + items, with no duplicates. + + Fixed the bug of setting tags to "::" sometimes. Fixed "C-M-j" not + exiting. + + Fixes #200 + +2015-08-18 Felix Lange + + ivy: enlarge the minibuffer window if the candiate list doesn't fit + + Fixes #161 Fixes #198 + +2015-08-18 Oleh Krehel + + Set line-spacing to 0 in the minibuffer + + * ivy.el (ivy--minibuffer-setup): Update. + + Fixes #198 + +2015-08-14 Oleh Krehel + + ivy.el (ivy-kill-ring-save): Add and bind to "M-w" + + Fixes #197 + +2015-08-12 Oleh Krehel + + ivy.el (ivy-completing-read): Fix up last commit + + Check if string before using `string-match'. + +2015-08-12 Oleh Krehel + + When initial input contains a plus, escape it + + * ivy.el (ivy-completing-read): Escape the plus in the initial input, + for it to not be interpreted like a regex. + + Fixes #195 + +2015-08-12 Tassilo Horn + + Fix #126 again. + + After #126 has been solved, the regexp has been changed to + + "\\`[`']?\\(.*\\)'?\\'" + + where the trailing ' is optional ("'?"). However, the preceeding + "\\(.*\\)" group will already capture the trailing ' because .* is + greedy. Now I've replaced it with the non-greedy .*? which makes it + work again. + +2015-08-07 Oleh Krehel + + Fix :dynamic-collection not being sorted + + * ivy.el (ivy--sort-maybe): New defun. If the current completion has + sorting enabled, try to find the sorting function either in :sort or + `ivy-sort-functions-alist'. + (ivy--exhibit): Use `ivy--sort-maybe'. + + * counsel.el (counsel--async-sentinel): Use `ivy--sort-maybe'. + +2015-08-07 Oleh Krehel + + counsel-locate should use '' for the regex + + * counsel.el (counsel-unquote-regex-parens): New defun. + (counsel-locate-function): Update. + (counsel-ag-function): Update. + + Fixes #194 + +2015-08-07 Chunyang Xu + + (counsel-locate): Support OS X + + - OS X "open" is the equivalent to "xdg-open" + - OS X "locate" doesn't support "--regex" + +2015-08-06 Tassilo Horn + + (counsel-locate): Allow customizing locate options + +2015-08-05 Oleh Krehel + + Fix up ivy-recentf and ivy-switch-buffer window-wise + + * ivy.el (ivy--switch-buffer-action): + (ivy-recentf): Use `with-ivy-window'. + +2015-08-05 Oleh Krehel + + doc/Changelog.org: Add + +2015-08-05 Oleh Krehel + + counsel.el (counsel-find-file): Fix window focus issue + + "C-M-n" should work fine now. + +2015-08-03 Oleh Krehel + + Preselect perfect matches with a leading ^ + + * ivy.el (ivy--filter): When e.g. "filter" is in the collection, + "^filter" input should always select it, even if other candidates + match. + +2015-08-01 Chunyang Xu + + Allow ivy-count-format to be set as nil + +2015-07-30 Oleh Krehel + + Add with-ivy-window macro + + * ivy.el (with-ivy-window): New macro. + (ivy-yank-word): Update. + + * swiper.el (swiper--window): Remove defvar. + (swiper-query-replace): + (swiper-avy): + (swiper-recenter-top-bottom): + (swiper--init): + (swiper--update-input-ivy): + (swiper--add-overlays): Update. + + * counsel.el (counsel-git-grep-recenter): + (counsel-git-grep-action): + (counsel-M-x): Update. + (org-agenda-set-tags): Add a declare. + +2015-07-30 Oleh Krehel + + Bind "C-M-j" to ivy-immediate-done + + * ivy.el (ivy-minibuffer-map): Update. + + `ivy-immediate-done' will return with the current minibuffer input, even + if the input matches a candidate. + + It was possible so far to call it with "C-u C-j". + + Fixes #183 + +2015-07-28 Oleh Krehel + + counsel.el (counsel-org-tag-agenda): New command + + * counsel.el (counsel-org-tag-agenda): It's just a flet wrapper around + `org-agenda-set-tags', changing `org-set-tags' to `counsel-org-tag'. + (counsel-org-tag-action): Don't use `with-selected-window', since + `org-agenda-set-tags' will change the buffer for us. + + Re #177 + +2015-07-28 Oleh Krehel + + counsel.el (org-bound-and-true-p): Use bound-and-true-p + +2015-07-28 Oleh Krehel + + Add a few more Org declarations + + Re #179 + +2015-07-28 Oleh Krehel + + counsel.el (org-last-tags-completion-table): Declare + + Re #179 + +2015-07-28 Oleh Krehel + + counsel.el (org-setting-tags): Declare dynamic var + + Re #179 + +2015-07-28 Oleh Krehel + + swiper.el (swiper-from-isearch): New command + + Fixes #180 + +2015-07-28 Oleh Krehel + + counsel.el (org-bound-and-true-p): Update declare + +2015-07-27 Erik Hetzner + + Use recoll -t instead of recollq + +2015-07-27 Oleh Krehel + + counsel.el (counsel-org-tag): Delete dups + + The issue of duplicates arises from this setting (off by default): + + (setq org-complete-tags-always-offer-all-agenda-tags t) + + Re #177 + +2015-07-27 Oleh Krehel + + counsel.el (counsel-recoll): Simplify + +2015-07-27 Oleh Krehel + + counsel.el (counsel-org-tag): No need to be at heading + + * counsel.el (counsel-org-tag): When not at heading, move there. Save + excursion. + +2015-07-27 Oleh Krehel + + counsel.el (counsel-recoll): New command + + * counsel.el (counsel-recoll-function): New function. + +2015-07-27 Oleh Krehel + + counsel.el (counsel-ag): New command + + * counsel.el (counsel-ag-function): New defun. + (counsel-git-grep): Update prompt. + + Going from sync to async now is as simple as: + + - add :dynamic-collection t + - replace `shell-command-to-string' with `counsel--async-command' + +2015-07-27 Oleh Krehel + + Update :dynamic-collection to be a boolean + + * ivy.el (ivy--exhibit): Always use `ivy-state-collection', instead of + possibly `ivy-state-dynamic-collection'. The collection function may + return nil if it's async and doesn't want to update the minibuffer on + exit (to update it later in the sentinel). + + * counsel.el (counsel-more-chars): New defun. + (counsel-git-grep-function): Use `counsel-more-chars'; in the async + case, return nil. + (counsel-git-grep): Update :dynamic-collection to a boolean. + (counsel--gg-sentinel): + (counsel--async-sentinel): Update to set the candidates to "Error" + instead of message "Error" - a lot less distracting this way. + (counsel-locate-function): Use `counsel-more-chars'; return "Working", + since it takes a few seconds to complete a single locate query. + (counsel-locate): Update. + +2015-07-27 Oleh Krehel + + ivy.el (ivy--exhibit): Check if in post-command-hook + + * ivy.el (ivy--exhibit): A situation can occur when an async command + calls `ivy--exhibit' in the sentinel. It causes problems when the + minibuffer has already exited with "C-g". + +2015-07-27 Oleh Krehel + + Simplify counsel-git-grep logic + + * ivy.el (ivy--exhibit): Remove the condition on (eq ivy--full-length + -1). + + * counsel.el (counsel-git-grep-function): Simplify. + (counsel-gg-state): New defvar. Use this instead of + (setq ivy--full-length -1). + (counsel--gg-candidates): Set `counsel-gg-state' to -2. There are two + async processes to wait for until `ivy--exhibit' can be called: + - get the candidate count + - get the candidates Each of the async processes will increase the + number, and call + `ivy--exhibit' if the number reaches 0. + (counsel--gg-sentinel): Update. + (counsel--gg-count): Update. + +2015-07-27 Oleh Krehel + + Fix "DEL" generating a "Quit" sometimes for counsel-git-grep + + * ivy.el (ivy-backward-kill-word): It seems that `backward-kill-word' is + too elaborate; falling back to something simpler fixed the problem. + +2015-07-26 Oleh Krehel + + Allow "M-o j" to switch to virtual buffers in other window + + * ivy.el (ivy--switch-buffer-other-window-action): New defun. + (ivy-set-actions): Use `ivy--switch-buffer-other-window-action' instead + of `switch-to-buffer-other-window'. + +2015-07-24 Oleh Krehel + + counsel.el (counsel-org-change-tags): Improve removing tags + +2015-07-24 Oleh Krehel + + Fixup counsel-org-tag + + * counsel.el (counsel-org-tag-action): Add :: + (counsel-org-tag): Set `org-last-tags-completion-table', otherwise + `org-tags-completion-function' doesn't work. + +2015-07-24 Oleh Krehel + + counsel.el (counsel-org-tag): Replace org-set-tags + + * counsel.el (counsel-org-tags): New defvar. + (counsel-org-change-tags): New defun, adapted from part of + `org-set-tags'. + (counsel-org-tag-action): New defun. + (counsel-org-tag-prompt): New defun. + (counsel-org-tag): New command. + + **Using counsel-org-tag** + + - The prompt is auto-updated to the currently selected tags. + - Selecting one of the already selected tags removes it from selection. + + The best shortcut for selecting/removing multiple tags is "C-M-m" (or + "g" when the "C-o" hydra is active). + + Re #177 Re #91 + +2015-07-24 Oleh Krehel + + ivy.el (ivy-call): Remove with-selected-window + + * counsel.el (counsel-git-grep-action): Add with-selected-window. + + * ivy.el (ivy-dispatching-done): Remove trailing ": ". + (ivy-switch-buffer): Add extra action "j" calls + `switch-to-buffer-other-window'. The change `ivy-dispatching-done' had + to be done because of this. + +2015-07-24 Oleh Krehel + + Add actions for counsel-describe-function + +2015-07-24 Oleh Krehel + + Add actions for counsel-describe-variable + +2015-07-23 Oleh Krehel + + ivy.el (ivy-dispatching-done): Add a trailing newline + +2015-07-23 Oleh Krehel + + ivy.el (ivy-dispatching-done): Display the candidate + +2015-07-23 Oleh Krehel + + Allow "C-g" to interrupt ivy-dispatching-done + + * ivy.el (ivy-dispatching-done): Update. + +2015-07-23 Oleh Krehel + + ivy.el (ivy--preselect-index): Add matcher to arglist + + * ivy.el (ivy--reset-state): Call `ivy--preselect-index' with matcher. + (ivy--preselect-index): In case there's a special matcher set, it + affects the candidate list, therefore it affects the preselect index. + + Fixes #165 + +2015-07-23 Oleh Krehel + + ivy.el (ivy-dispatching-done): New command on "M-o" + + * ivy.el (ivy-minibuffer-map): Bind "M-o" to `ivy-dispatching-done'. + (ivy-action-name): Update, all actions are now in hydra's format - key + binding, command, hint. + (ivy-read): The default action is bound to "o" in the dispatch. + (ivy-switch-buffer): Update to new action format. + + * counsel.el (counsel-locate): + (counsel-rhythmbox): Update to new action format. + + The new interface allows to do whatever you want with the selected + candidate with a very short key binding. + + The old interface with "C-o w/s" still works, but: + + - it gives a lot more info than necessary for only selecting action + - doesn't scale well with the number of actions: for 10 actions you + would cycle "w/s" a lot. + + Example with `ivy-switch-buffer': + + - switch to selected buffer: "C-m" + - kill selected buffer: "M-o k"; you get a hint right after "M-o". + + When there is only one action, "M-o" will forward to "C-m". + +2015-07-22 Oleh Krehel + + ivy.el (ivy-call): Add selected-window work-around for M-x + + * ivy.el (ivy-call): For some commands that depend on the buffer, like + `counsel-git-grep' the action needs to be performed in + `ivy-state-window'. However, this results in wrong window for M-x calc. + Add a workaround until I figure out why this happens. + + Fixes #176 + +2015-07-21 Oleh Krehel + + ivy-hydra.el: Add featurep for hydra + + Fixes #174 + +2015-07-21 Oleh Krehel + + counsel.el (counsel-variable-list): Add + + * counsel.el (counsel-describe-variable): Use `counsel-variable-list'. + +2015-07-21 Oleh Krehel + + swiper.el: Update avy--goto -> avy-action-goto + +2015-07-14 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Ignore Man-mode + +2015-07-13 Oleh Krehel + + ivy.el (ivy-call): Bind to "C-M-m" or "M-RET" + + "C-M-m" is close to "C-M-n" and "C-M-p", just as "M-RET" is close to + "RET". Previously, the only binding was "C-o g". + +2015-07-13 Oleh Krehel + + ivy.el (ivy-count-format): Improve docstring + + * ivy.el (ivy-minibuffer-grow): + (ivy-toggle-calling): + (ivy-sort-functions-alist): Checkdoc. + +2015-07-11 Erik Hetzner + + Allow % in prompt string + + - quote % when passing prompt from ivy-completing-read to ivy-read + - add documentation in ivy-read that all % should be quoted + +2015-07-10 Oleh Krehel + + counsel.el (counsel-rhythmbox-history): Add + + * counsel.el (counsel-rhythmbox): Update. + +2015-07-09 Oleh Krehel + + ivy.el (ivy-read): Improve ivy-set-actions interaction + + * ivy.el (ivy-read): When the base action is already a list, merge it + with the one obtained from `ivy-set-actions'. + +2015-07-09 Oleh Krehel + + Add counsel-rhythmbox + + * counsel.el (counsel-completion-beg): + (counsel-completion-end): Move declarations before first use. + (dired-jump): Declare. + (counsel-rhythmbox-enqueue-song): New defun. + (counsel-rhythmbox): New command. Requires `helm-rhythmbox' package, and + Rhythmbox, obviously. + + * ivy.el (ivy-call): Make interactive. Add special handling for the case + when the collection is an alist. In that case, call the action not + with the collection item, but with the cdr of said item. A bit weird, + but that's the way Helm does it, and doing it in the same way means + the action functions are cross-compatible. + + * ivy-hydra.el (hydra-ivy): Bind "g" to call the current action on + current candidate without exiting. + + Now it's possible to make a query to Rhythmbox, "C-o" and navigate to a + song with "j" and "k". Try the song with "g". Or use "s" once and then + enqueue different songs with e.g. "jjgjjjgjgkkg". + +2015-07-07 Oleh Krehel + + ivy.el (ivy--regex): Improve for trailing backslash + + When there's a single trailing backslash, which would result in a bad + regex, ignore it. + +2015-07-06 Oleh Krehel + + Add a new interface to customize additional exit points + + * ivy.el (ivy--actions-list): New defvar. Store the exit points per + command. + (ivy-set-actions): New defun. Use this to set the extra exit points for + each command. + (ivy-read): Account for `ivy--actions-list'. + (ivy-switch-buffer): Set extra action to kill the buffer. Update the + call to `ivy-read'. + + * counsel.el (counsel-locate): Use the single action in the function and + customize the rest via `ivy-set-actions'. + + Re #164 + +2015-07-06 Oleh Krehel + + counsel.el (counsel-locate-history): Add + +2015-07-02 Oleh Krehel + + Update index formatting logic + + * ivy.el (ivy--reset-state): Update. + (ivy--insert-prompt): Simplify. + + If you want to see both the index and the length of the candidates, + instead of just the length, it can be done like this: + + (setq ivy-count-format "%d/%d ") + + Each "%d" is replaced appropriately due to the total length of the + candidates. For instance, this one can result in "%4d/%-4d M-x ". + + Re #167 + +2015-07-01 Oleh Krehel + + Allow to see the candidate index via ivy-count-format + + * ivy.el (ivy--insert-prompt): Update. + + To use this feature, use something like this: + + (setq ivy-count-format "(%d/%d)") + + Basically two number specifiers instead of the usual one. The problem + with this approach is that the prompt length will change as you scroll + e.g. from 9 to 10, which is uncomfortable. + + Fixes #167 + +2015-07-01 Oleh Krehel + + ivy.el (ivy--reset-state): Fixup + + Re #165 + +2015-07-01 Oleh Krehel + + ivy.el (ivy-read): Don't put empty string on history + +2015-07-01 Oleh Krehel + + Bind case-fold-search to t when the input is all lower-case + + * ivy.el (ivy--filter): Update. + + * ivy-test.el (ivy--filter): Add test. + + - input "the" matches both "the" and "The". + - input "The" matches only "The". + + Fixes #166 + +2015-07-01 Oleh Krehel + + ivy.el (ivy--reset-state): Fixup + +2015-07-01 Oleh Krehel + + Make ffap work again + + * ivy.el (ivy--reset-state): When completing files, consider the case + when the directory of PRESELECT isn't `default-directory'. + + Fixes #165 + +2015-06-30 Oleh Krehel + + ivy.el (ivy-switch-buffer): Add a multi-action interface + + While in "C-o": + + - Use "s" to make "C-m", "C-j", "C-M-n" and "C-M-p" kill + - Use "w" to switch back to normal. + + Re #164 + +2015-06-30 Oleh Krehel + + Add a multi-action interface for counsel-locate + + * ivy-hydra.el (hydra-ivy): Display the current action and allow to + scroll the action list with "w" and "s". + + * ivy.el (ivy--get-action): New defun, a getter for the action function, + since it can also be a list now. + (ivy--actionp): New defun, checks for the action list. + (ivy-next-action): New command, scrolls to the next action in the list. + (ivy-prev-action): New command, scrolls to the previous action in the + list. + (ivy-action-name): New defun. + (ivy-call): Use `ivy--get-action'. + (ivy-read): Use `ivy--get-action'. + +2015-06-30 Oleh Krehel + + Fixup the last two commits + + * counsel.el (counsel-find-file): Update. + + * ivy.el (ivy--buffer-list): Update. + + Re #164 + +2015-06-30 Oleh Krehel + + Add a custom keymap for counsel-find-file + + * counsel.el (counsel-find-file-map): New defvar. + + Re #164 + +2015-06-30 Oleh Krehel + + Add a custom keymap for ivy-switch-buffer + + * ivy.el (ivy-switch-buffer-map): New defvar. + + Re #164 + +2015-06-30 Oleh Krehel + + ivy.el (ivy-restrict-to-matches): Add and bind to "S-SPC" + +2015-06-30 Oleh Krehel + + Make counsel-locate use a process + + * counsel.el (counsel-locate-function): Update. + (counsel--async-command): New defun. + (counsel--async-sentinel): New defun. + (counsel-locate): Switch to :action, thus allowing "C-M-n" and + `ivy-resume'. + + * swiper.el: Bump version. + +2015-06-29 Oleh Krehel + + ivy-hydra.el (hydra-ivy): Bind "C-o" to be a toggle + + It makes sense for "C-o" to be a toggle, instead of just going one way. + +2015-06-29 Oleh Krehel + + Make counsel-el work with "C-M-n" and "C-M-p" + + * counsel.el (counsel-el): Use the whole obarray if no initial input is + given. Filter out only function when appropriate. + (counsel-completion-beg): New defvar. + (counsel-completion-end): New defvar. + (counsel--el-action): New defun. + + * ivy.el (ivy--reset-state): Set `ivy--full-length' to nil. + +2015-06-26 Oleh Krehel + + Fix the initial input bug introduced with "C-r" + + * ivy.el (ivy-read): Use (ivy-state-initial-input ivy-last). + (ivy--reset-state): Set (ivy-state-initial-input ivy-last). + + Fixes #162 + +2015-06-25 Oleh Krehel + + counsel.el (counsel-find-file): Use `file-name-history' + + * counsel.el (package-installed-p): Declare. + +2015-06-25 Oleh Krehel + + counsel.el (counsel-git-grep-history): New defvar + + * counsel.el (counsel-git-grep): Use `counsel-git-grep-history'. + +2015-06-25 Oleh Krehel + + swiper.el (swiper-history): New defvar + + * swiper.el (swiper--ivy): Use `swiper-history'. + + Allows to get more use of "M-p", "M-n" and "C-r". + +2015-06-25 Oleh Krehel + + Allow to recursively match history with "C-r" + + * ivy.el (ivy-minibuffer-map): Rebind "C-r" from + `ivy-previous-line-or-history' to `ivy-reverse-i-search'. "C-r" + binding was redundant, since "C-p" does almost the same. + (ivy-read): Separate the functionality that sets the global state based + on `ivy-last'. + (ivy--reset-state): New defun. Move all the global state setup here. + (ivy-reverse-i-search): New command. This is very similar to "C-r" in + bash - allows to match for history elements, instead of just scrolling + through them with "M-p" and "M-n". + +2015-06-25 Oleh Krehel + + Fixup compilation warnings related to smex + +2015-06-23 Oleh Krehel + + counsel.el (counsel-unicode-char): Use action-style call + + Fixes #160 + +2015-06-23 Oleh Krehel + + counsel.el (counsel-load-theme): New command + +2015-06-23 Oleh Krehel + + counsel.el (counsel-M-x): Avoid compilation warning + + * counsel.el (counsel-M-x): Use `command-execute' instead of + `execute-extended-command'. + +2015-06-23 Oleh Krehel + + Fix last commit being incompatible with older Emacs + + * ivy.el (ivy--format): Use `add-face-text-property' only when it's + bound. + +2015-06-23 Oleh Krehel + + Fix color blending for composite faces + + colir.el (colir-blend-face-background): Try to find the face among the + properties. + + Re #151 + +2015-06-23 Oleh Krehel + + Re-scale the text height to default in the minibuffer + + * ivy.el (ivy--format): Set the string height to default and turn off + overline, so that exactly `ivy-height' lines are visible, not less. + + Fixes #151 + +2015-06-22 Oleh Krehel + + ivy-hydra.el (hydra-ivy): Bind "C-g" + + To make sure that "C-g" really exits the hydra. + +2015-06-22 Oleh Krehel + + ivy.el (ivy-initial-inputs-alist): Add some Org commands + + * ivy.el (ivy-initial-inputs-alist): Add `org-agenda-refile' and + `org-capture-refile'. + + Fixes #156 + +2015-06-19 Kaushal Modi + + Fix the case where file name can contain ~ + + - The fix make opening files like init.el~ now possible. Earlier, + hitting that last ~ char switch the dir to ~/ + - This commit will now make that cd to ~/ only if ~ is the first char in + the search term + +2015-06-19 Greg Lucas + + Match drive letter at start of current directory + + When looking for the root of the current drive, make sure we only match + a drive letter at the beginning of the path. + +2015-06-19 Greg Lucas + + Add support for Windows drive letters + +2015-06-19 Oleh Krehel + + Improve performance for "^" initial input + + ivy.el (ivy--filter): There's no need to anchor when the previous regex + is "^" (matches everything). The result will be index 0 anyway, but + without this optimization it can be slow for ~30k candidates. + +2015-06-19 Oleh Krehel + + ivy.el (ivy-alt-done): Enable recursive minibuffers + + Re #145 + +2015-06-19 Oleh Krehel + + ivy.el (ivy-alt-done): Find file if given a full tramp path + + * ivy.el (ivy-alt-done): Add another cond branch for `ivy-text' matching + a full remote file path. + + Re #145 + +2015-06-19 Oleh Krehel + + Don't cut off "/ssh:foo" input + + * ivy.el (ivy-alt-done): With the example input, offer a completion for + known remotes with the initial input "foo". + + Re #145 + +2015-06-19 Oleh Krehel + + Add better positioning to counsel-git-grep finalizer + + counsel.el (counsel-git-grep-action): Use a regex instead of just + splitting the string on ":". Additionally, goto match, not just the line + of the match. + + Fixes #153 + +2015-06-19 Oleh Krehel + + Make counsel-M-x respect ivy-format-function + + * counsel.el (counsel--format-function-M-x): Remove defun. + (counsel--M-x-transformer): New defun. + (counsel-M-x): Temporarily bind `ivy-format-function' to apply + `counsel--M-x-transformer' beforehand. + + * ivy.el (ivy-format-function-arrow): Update style. + + Fixes #150 + +2015-06-19 Oleh Krehel + + Fix non-file completions ability to enter tramp completion + + * ivy.el (ivy-alt-done): Update. + + Re #145 + +2015-06-19 Oleh Krehel + + "M-i" should not switch directories + + ivy.el (ivy-insert-current): When the current candidate is a directory, + just insert its name without the last "/". The user can insert "/" to + switch to that directory if necessary. + + Re #141 + +2015-06-19 Oleh Krehel + + Add "^" as initial input to "C-h f" and "C-h v" + + * ivy.el (ivy-initial-inputs-alist): Add entries for + `counsel-describe-function' and `counsel-describe-variable'. + +2015-06-19 Oleh Krehel + + ivy.el (ivy-kill-line): Add and bind to "C-k" + + The only difference to `kill-line' is that it will kill the whole input + when at the end of the minibuffer. In that case, the regular `kill-line' + was extending into the second line of the minibuffer, which is + unacceptable. + +2015-06-19 Oleh Krehel + + Add a set of commands for resizing minibuffer height + + * ivy.el (ivy-minibuffer-grow): New command. + (ivy-minibuffer-shrink): New command. + + * ivy-hydra.el (hydra-ivy): Bind "<" and ">". + + Use "C-o >>>>>" to grow the minibuffer, and "C-o <<<<<" to shrink it. + + Re #151 + +2015-06-18 Oleh Krehel + + Put the file instead of partial input on history + + * ivy.el (ivy-read): When completing file names, put the whole file name + on history, not just the partial input that lead to that name. This is + important in order for `ivy--cd-maybe' to work. + + Re #152 + +2015-06-18 Oleh Krehel + + "M-n", "M-p", "M-i" should switch directories when needed + + * ivy.el (ivy-previous-history-element): + (ivy-next-history-element): + (ivy-switch-buffer): Call `ivy--cd-maybe'. + (ivy--cd-maybe): New defun. Check if the current input points to a + different directory than `ivy--directory'. If so, `ivy--cd' there. + + Fixes #152 + +2015-06-17 Oleh Krehel + + counsel.el (counsel-M-x): Fixup smex interaction + + * counsel.el (counsel-M-x): Use `smex-rank' only if smex is installed. + + Fixes #147 + +2015-06-16 Oleh Krehel + + counsel.el (counsel-M-x): Fixup + + Re #136 + +2015-06-16 Oleh Krehel + + ivy-hydra.el (defhydra): Wrap in eval-when-compile + +2015-06-16 Oleh Krehel + + Swiper should not deactivate-mark + + * swiper.el (swiper--init): Update to make it the same as `isearch'. + "C-SPC" + `swiper' should work to mark a region. + +2015-06-16 Oleh Krehel + + ivy-hydra.el: Improve for hydra not installed + + * ivy-hydra.el (hydra): No error on require. + (package-installed-p): Enable recursive minibuffers. + (hydra-ivy): Use ASCII char instead of Unicode, since the char width may + cause misalignment. + +2015-06-16 Oleh Krehel + + swiper.el (swiper-query-replace): Don't miss the first + + * swiper.el (swiper-query-replace): Since the point is always after the + matching thing in swiper, it's necessary to move it before it in order + for `perform-replace' not to skip it. + + Fixes #144 + +2015-06-16 Oleh Krehel + + Require TRAMP in time + + * ivy.el (ivy-alt-done): Require tramp before use. Store `ivy-last' + before calling `ivy-read', since each `ivy-read' overwrites + `ivy-last', and this one overwrites `counsel-find-file' action. + + Fixes #145 + +2015-06-16 Oleh Krehel + + counsel.el (counsel-M-x): Call smex-rank + + Re #136 + +2015-06-15 Oleh Krehel + + ivy-hydra.el (hydra-ivy): Add "C-j" and "C-m" exit points + + Just to make sure that the hydra exits. + +2015-06-15 Oleh Krehel + + Allow to toggle matching mode with "C-o m" + + * ivy.el (ivy-toggle-fuzzy): New command. + + * ivy-hydra.el (hydra-ivy): Bind `ivy-toggle-fuzzy' to "m". + + Fixes #142. + +2015-06-15 Oleh Krehel + + ivy.el (ivy-sort-functions-alist): Work for commands as well + + * ivy.el (ivy-sort-functions-alist): Examine `this-command' in addition + to the COLLECTION arg of `completing-read'. Add `Man-goto-section' and + `org-refile' to the list, since these commands collect the candidates + in the order in which they are in the buffer => the candidates must + not be sorted. Mention this in the doc. + +2015-06-15 Oleh Krehel + + ivy.el (ivy-initial-inputs-alist): Add man and woman + +2015-06-15 Oleh Krehel + + Fix the minibuffer being too small with enough candidates + + * ivy.el (ivy--format): Fix the bug of getting the minibuffer height + less than `ivy-height' when `ivy--index' was between `ivy--length' + and (- ivy--length (/ ivy--height 2)). + + * ivy-test.el (ivy--format): Add test. + +2015-06-15 Oleh Krehel + + ivy.el (ivy-insert-current): Add and bind to "M-i" + + Use "M-i" if you want something close to the current candidate. You can + follow up with an edit and select. + + Fixes #141 + +2015-06-15 Oleh Krehel + + Fix yank/undo bug + + * ivy.el (ivy--insert-minibuffer): Bind `buffer-undo-list' later. + Previously, "C-y C-u" would result in the first char of yanked text not + being undone. + +2015-06-15 Oleh Krehel + + Allow to customize the initial input for all commands + + * ivy.el (ivy-initial-inputs-alist): New defvar. Customize this to get + an initial input in any command. + (ivy-read): Unless INTIAL-INPUT is given, look it up in + `ivy-initial-inputs-alist' based on `this-command'. + + * counsel.el (counsel-M-x-initial-input): Remove defcustom. It's + superseded by `ivy-initial-inputs-alist'. + (counsel-M-x): Update. + + Fixes #140 + +2015-06-12 Oleh Krehel + + ivy.el (ivy--regex-fuzzy): Improve for "^" and "$" + + * ivy.el (ivy--regex-fuzzy): Don't insert .* after ^ and before $. + + * ivy-test.el (ivy--regex-fuzzy): Add test. + + Fixes #139 + +2015-06-12 Oleh Krehel + + ivy.el (hydra-ivy/body): Autoload + +2015-06-12 Oleh Krehel + + counsel.el (counsel-M-x): Call smex-initialize + + Otherwise, smex-cache isn't defined. + +2015-06-12 Oleh Krehel + + Bind "C-o" to hydra-ivy/body + + * ivy.el (ivy-minibuffer-map): Update. + + * ivy-hydra.el (hydra-ivy): New defhydra. + + Add shortcuts: + + "C-n" -> "j" + "C-p" -> "k" + "M-<" -> "h" + "M->" -> "l" + "C-j" -> "f" + "C-m" -> "d" + "C-g" -> "o" cancel "C-o" -> "i" toggle calling -> "c" + + The hydra doesn't inhibit other bindings, so "C-v" and "M-v" also work + when you toggle calling on with "c". + +2015-06-12 Oleh Krehel + + ivy-toggle-calling: Toggle calling "RET" action for current candidate + + * ivy.el (ivy-calling): New defvar. + (ivy-set-index): New defun - a setter for `ivy--index' that can call the + current action when `ivy-calling' isn't nil. + (ivy-beginning-of-buffer): + (ivy-end-of-buffer): + (ivy-scroll-up-command): + (ivy-scroll-down-command): + (ivy-next-line): + (ivy-previous-line): Use `ivy-set-index' instead of a plain `setq'. + (ivy-toggle-calling): New defun - toggle `ivy-calling'. + (ivy-call): New defun - call the current action. + (ivy-next-line-and-call): Use `ivy-call'. + (ivy-previous-line-and-call): Use `ivy-call'. + (ivy-read): Reset `ivy-calling' to nil. + + To make use of this functionality, bind `ivy-toggle-calling' in + `ivy-minibuffer-map'. After this, "C-n" will behave like "C-M-n" etc. + +2015-06-12 Oleh Krehel + + Replace "C-x 6" with "" in counsel-M-x + + counsel.el (counsel--format-function-M-x): Update. + +2015-06-12 Oleh Krehel + + counsel.el (counsel-find-file-ignore-regexp): Default to nil + + * counsel.el (counsel--find-file-matcher): Update. + + Make the default behavior more similar to `find-file'. Move the previous + value to the docstring. + +2015-06-12 Oleh Krehel + + counsel.el: Add a bunch of autoload cookies + +2015-06-12 Oleh Krehel + + counsel.el (counsel-M-x-initial-input): New defcustom + + * counsel.el (counsel-M-x): Use `counsel-M-x-initial-input'. + + Re #138 + +2015-06-12 Oleh Krehel + + Allow "TAB" to complete when input starts with "^" + + * ivy.el (ivy-partial): Strip "^" when forwarding to `try-completion'. + Afterwards, put it back. + + Fixes #138 + +2015-06-10 Oleh Krehel + + Fixup ivy-resume for file completion + + * ivy.el (ivy-resume): No longer add the preselect. + (ivy-read): Don't add initial-input "". + +2015-06-10 Oleh Krehel + + Add fuzzy matching function + + ivy.el (ivy--regex-fuzzy): New defun. + + To enable fuzzy matching, set your `ivy-re-builders-alist' accordingly: + + (setq ivy-re-builders-alist + '((t . ivy--regex-fuzzy))) + + Re #136 + +2015-06-10 Oleh Krehel + + counsel.el (counsel-M-x): Piggyback on smex for sorting + + * counsel.el (counsel-M-x): When smex is present, use it for sorting the + candidates. Also use `counsel-describe-map', so that "C-." and "C-," + work for commands. + + Re #136 + +2015-06-10 Oleh Krehel + + counsel.el (counsel-M-x): New command + + * counsel.el (counsel--format-function-M-x): New defun. + + Re #136. + +2015-06-10 Oleh Krehel + + counsel.el (counsel-symbol-at-point): Improve + + Fixes #137 + +2015-06-09 Oleh Krehel + + Add a hack for kill-buffer and invisible buffer + + * ivy.el (ivy-read): When COLLECTION is 'internal-complete-buffer, + ignore the fact that REQUIRE-MATCH was set to t. + Normally, when REQUIRE-MATCH is t, the COLLECTION should not be + extended with PRESELECT. + + Fixes #135 + +2015-06-09 Oleh Krehel + + Account for minibuffer-depth-indication-mode + + * ivy.el (ivy--insert-prompt): When `minibuffer-depth-indication-mode' + is on, and `minibuffer-depth' is more than 1, prepend it to prompt. + + Fixes #134 + +2015-06-09 Oleh Krehel + + ivy.el (ivy--switch-buffer-action): Add work-around + + If BUFFER is live, and can also be virtual, don't open the virtual one. + This work-around should be disabled once uniquify is added to buffer + list. + +2015-06-09 Oleh Krehel + + counsel-git-grep should quote strings better + + * counsel.el (counsel-git-grep-function): + (counsel--gg-candidates): Update. + + Fixes an errror when the input has a " in it. + +2015-06-08 Oleh Krehel + + ivy.el (ivy-minibuffer-map): Bind ivy-yank-word to "M-j" + + Re #133 + +2015-06-04 Oleh Krehel + + Make counsel-git-grep fully async + + * counsel.el (counsel-git-grep-count): Rename to `counsel--gg-count' and + make it async. + (counsel-git-grep-function): Set `ivy--full-length' to -1. It means that + `ivy--exhibit' should do nothing until the length is re-computed. + (counsel-git-grep): Use the sync version of `counsel-git-grep-count' for + the initial repo line count. + (counsel--gg-candidates): New defun. When called, kill the previous git + grep process and start a new one. The sentinel will insert the + candidates, bypassing the `ivy--exhibit'. + (counsel--gg-sentinel): New defun. + (counsel--gg-count): Rename from `counsel-git-grep-count'. When finished + computing, redisplay. + + * ivy.el (ivy--exhibit): Don't expect dynamic collection to return the + candidates as before. Just call it and expect it to redisplay the + minibuffer. + +2015-06-04 Oleh Krehel + + Fixup compilation warnings + +2015-06-04 Tassilo Horn + + Regexp-quote name of candidate buffer to be preselected + + Fixes #128 + +2015-06-04 Oleh Krehel + + ivy.el (ivy-virtual): New defface + + * ivy.el (ivy--virtual-buffers): Use `ivy-virtual'. No need for + `ido-use-faces' approach, the user can just customize + `ivy-virtual' to look like `default' if needed. + + Fixes #129 + +2015-06-02 Oleh Krehel + + ivy.el (ivy--done): Set ivy--current + + Fixes a bug of using :action for completing file names. + +2015-06-02 Oleh Krehel + + Handle symbol-at-point better in non-Elisp buffers + + * counsel.el (counsel-symbol-at-point): New defun. + (counsel-describe-variable): Update. + (counsel-describe-function): Update. + + Fixes #126 + +2015-06-01 Oleh Krehel + + Swiper should preserve column for empty input + + swiper.el (swiper--update-input-ivy): When there's no input yet, don't + move point. + + Re #125 + +2015-06-01 Oleh Krehel + + ivy.el (ivy-yank-word): New command + + * swiper.el (swiper--update-input-ivy): Move point to current regex, not + just current line. + + Gives a behavior similar to "C-w" of `isearch'. Possible binding: + + (define-key ivy-minibuffer-map (kbd "C-w") 'ivy-yank-word) + + Fixes #125 + +2015-06-01 Oleh Krehel + + ivy.el (ivy-recentf): New command + + Fixes #124 + +2015-05-30 Oleh Krehel + + counsel.el (counsel-find-file-at-point): New defcustom + + * counsel.el (counsel-find-file): When `counsel-find-file-at-point' is + non-nil, add the file at point to the list of candidates. + + Fixes #123 + +2015-05-30 Oleh Krehel + + counsel.el (counsel-find-file): Extend `find-file' + + * counsel.el (counsel-find-file): Forward to `find-file', with Ivy + completion. `ivy-next-line-and-call' as well as `ivy-resume' should + work. + (counsel--find-file-matcher): New defun. + (counsel-find-file-ignore-regexp): Regexp of files to ignore. + + Fixes #122 + + Recommended binding: + + (global-set-key (kbd "C-x C-f") 'counsel-find-file) + + Peek at files with "C-M-n" and "C-M-p". Input a leading dot to see all + files. + +2015-05-28 Oleh Krehel + + counsel.el (counsel-info-lookup-symbol): Add a require + + In case it's called non-interactively. + +2015-05-28 Tassilo Horn + + Add info lookup binding to counsel-describe-map + + * counsel.el (counsel-describe-map): Bind C-, to + counsel--info-lookup-symbol. + (counsel--info-lookup-symbol): New command. Just sets the ivy action to + counsel-info-lookup-symbol. + +2015-05-28 Oleh Krehel + + Change the :matcher interface + + * ivy.el (ivy--filter): The matcher is now a function that takes a + regexp and candidates and returns the filtered candidates. + + * counsel.el (counsel-git-grep-matcher): Cache matched candidates. This + is very important for "C-n" / "C-p", especially near the threshold + where a switch to :dynamic-collection is made. + +2015-05-28 Oleh Krehel + + Avoid ensuring font lock when magit-blame-mode is active + + swiper.el (swiper-font-lock-ensure): Update. + +2015-05-26 Oleh Krehel + + Allow to open an Info file on the file system + + * ivy.el (ivy-alt-done): Update. + + When in Info-mode, press "g" and select either "(./)" or "(../)" to + switch to file name completion. That file will be opened with Info. + +2015-05-25 Oleh Krehel + + swiper.el (swiper--ivy): Don't double-quote preselect + + The :preselect is already quoted in `ivy--preselect-index'. + +2015-05-25 Oleh Krehel + + swiper.el (swiper-avy): Don't start on empty input + + Fixes abo-abo/avy#50 + +2015-05-24 Ingo Lohmar + + ivy.el (ivy-next-line): Fix wraparound at end of candidates + +2015-05-23 Oleh Krehel + + swiper.el (swiper-avy): Use only the current window + + Fixes #117 + +2015-05-23 Oleh Krehel + + swiper.el: Bump version + +2015-05-23 Oleh Krehel + + README.md: Add a secion on Ivy + +2015-05-23 Oleh Krehel + + The :action parameter to ivy-read should take one arg + + * ivy.el (ivy-next-line-and-call): Update. + (ivy-previous-line-and-call): Update. + (ivy-read): Update. + (ivy--switch-buffer-action): Update. + + * swiper.el (swiper-query-replace): Update. + + * counsel.el (counsel--find-symbol): Update. + (counsel-describe-variable): Update. + (counsel-describe-function): Update. + (counsel-git): Update. + (counsel-git-grep-action): Update. + +2015-05-23 Oleh Krehel + + Fixup "C-u C-j" for `ivy-switch-buffer' + + ivy.el (ivy-immediate-done): Since action-style call is used now, + `ivy--current' must be set to `ivy-test', since it's `ivy--current' that + will count as completion result. + +2015-05-23 Oleh Krehel + + counsel.el (counsel-git): Switch to action-style call + + This allows "C-M-n" and "C-M-p" to be used. + + Re #114 + +2015-05-23 Oleh Krehel + + ivy.el (ivy-completing-read): Check for a cons initial-input + +2015-05-23 Stefan Monnier + + * swiper/ivy.el: Clean up regexps and pseudo-closures + + Don't require cl-lib twice. + (ivy-read, ivy--filter): Use closures instead of `(lambda ...). + (ivy--format, ivy--filter, ivy--exhibit, ivy--insert-prompt) + (ivy--regex-ignore-order, ivy--regex, ivy--sorted-files) + (ivy-partial-or-done, ivy-alt-done): Don't use ^/$ to match string + bounds. + +2015-05-19 Oleh Krehel + + Fixup compilation warnings + +2015-05-19 Oleh Krehel + + When building a regex, consider ^ only at start + + swiper.el (swiper--re-builder): Update. + +2015-05-19 Oleh Krehel + + counsel.el (counsel-info-lookup-symbol): Turn on sorting + +2015-05-17 Oleh Krehel + + Don't try to call permanent action if there's none + + * ivy.el (ivy-next-line-and-call): Update. + (ivy-previous-line-and-call): Update. + + Fixes #114. + +2015-05-17 Oleh Krehel + + ivy.el (ivy-forward-char): Add and bind to "C-f" + + This is to avoid problems for the ido-related "C-x C-f C-f" reflex. + +2015-05-16 Oleh Krehel + + Don't error on incomplete bad regexp in counsel-git-grep + + counsel.el (counsel-git-grep-matcher): Update. + +2015-05-16 Oleh Krehel + + counsel.el (counsel-git-grep): Warn if not in a repository + +2015-05-16 Oleh Krehel + + ivy.el (ivy-kill-word): Add and bind to "M-d" + + Fixes #94 + +2015-05-15 Oleh Krehel + + README.md: Add sample init + + Fixes #112 + +2015-05-15 __rompy + + Fixed ivy--preselect-index on windows where the drives folders ends with + a backslash (C:\, D:\) + +2015-05-14 Oleh Krehel + + Update the way spaces are quoted using ivy + + * ivy.el (ivy--split): Split only on single spaces. From all other space + groups, remove one space. + + * ivy-test.el (ivy--split): Add test. + + Fixes #109 + +2015-05-13 Oleh Krehel + + ivy.el (ivy-partial-or-done): More predictability + + * ivy.el (ivy-partial-or-done): Forward to `ivy-alt-done' only if + `ivy-partial' did nothing new, and either previous command was + `ivy-partial-or-done', or there's exactly one matching candidate. + + Fixes #107 + +2015-05-13 Oleh Krehel + + Allow to recenter with "C-l" during counsel-git-grep + + * counsel.el (counsel-git-grep-map): New defvar. + (counsel-git-grep-recenter): New command. + (counsel-git-grep-action): New defun. + (counsel-git-grep): Update. + + Fixes #103 + +2015-05-13 Oleh Krehel + + ivy.el (ivy-partial-or-done): Update doc + + Re #105 + +2015-05-13 Oleh Krehel + + ivy.el (ivy-partial-or-done): Always forward to `ivy-alt-done' + + Fixes #105 + +2015-05-12 Oleh Krehel + + ivy.el (ivy-delete-char): Add and bind to "C-d" + + `delete-char' must not be called when at end of line, since that would + bring the first candidate into the input. + + Fixes #94 + +2015-05-12 Oleh Krehel + + ivy.el (ivy-switch-buffer): Preselect other-buffer + + * ivy.el (ivy-switch-buffer): Preselect other buffer, just like + `switch-to-buffer' does it. + +2015-05-12 Oleh Krehel + + ivy.el (ivy-read): Keep the last ivy--index for :dynamic-collection + +2015-05-12 Oleh Krehel + + counsel-git-grep now works with ivy-resume + + * ivy.el (ivy-state): New field DYNAMIC-COLLECTION. + (ivy-resume): Update. + (ivy-read): New argument DYNAMIC-COLLECTION. When this is non-nil, + ignore collection and matchers etc, and just obtain the filtered + candidates by calling DYNAMIC-COLLECTION each time the input changes. + + Fixes #100 + +2015-05-12 Oleh Krehel + + Introduce :matcher for counsel-git-grep + + * ivy.el (ivy-state): Add MATCHER field. + (ivy-resume): Update. + (ivy-read): Add MATCHER argument. To make things faster, MATCHER can + reuse `ivy--old-re', but it's not required. MATCHER is a function that + takes a candidate and returns non-nil if it matches. + + * counsel.el (counsel-git-grep): Use :matcher. + (counsel-git-grep-matcher): New defun. Skip the file name and line + number, then match as usual. + + Fixes #99 + +2015-05-12 Oleh Krehel + + Forward to minibuffer-complete for filenames only if "^/" + + * ivy.el (ivy-partial-or-done): Update. + + Fixes #102 + +2015-05-12 Oleh Krehel + + Properly update virtual buffers for "^ " interaction + + * ivy.el (ivy-read): Use `ivy--buffer-list'. + (ivy--exhibit): Use `ivy--buffer-list'. + (ivy-add-virtual-buffers): Remove. + (ivy--buffer-list): New defun. + + Re #68 + +2015-05-12 Oleh Krehel + + Fix the error switching to non-existent buffers + + * ivy.el (ivy-read): Use `ivy-add-virtual-buffers'. + (ivy-buffer-list): Remove. + (ivy-add-virtual-buffers): New defun. + (ivy--switch-buffer-action): New defun, consider `ivy--current' being + zero length. + (ivy-switch-buffer): Use `ivy--switch-buffer-action'. + + Fixes #101 + +2015-05-11 Oleh Krehel + + ivy.el (ivy-partial-or-done): Fixup + + * ivy.el (ivy-partial-or-done): Switch `default-directory' so that + `minibuffer-complete' is aware of it. Select a directory only if there + is only one. + +2015-05-11 Oleh Krehel + + ivy.el (ivy-partial-or-done): Fixup + +2015-05-11 Oleh Krehel + + When completing file names, defer to `minibuffer-complete' for "TAB" + + * ivy.el (ivy-partial-or-done): Call `minibuffer-complete'. If the + resulting text is a valid directory, move there. + (ivy-read): Setup `minibuffer-completion-table' and + `minibuffer-completion-predicate'. This makes `minibuffer-complete' + work. + + Fixes #92 + +2015-05-11 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Ignore fundamental-mode + + ELP uses this. + +2015-05-11 Oleh Krehel + + Allow to customize the minibuffer formatter + + * ivy.el (ivy-format-function): New defvar. + (ivy-format-function-default): New defun. + (ivy-format-function-arrow): New defun, alternative for + `ivy-format-function'. + + Fixes #87 + +2015-05-11 Oleh Krehel + + Update test + + ivy-test.el (swiper--re-builder): Rename from `ivy--transform-re'. + +2015-05-11 Oleh Krehel + + Swiper should use the :re-builder argument + + * ivy.el (ivy--transform-re): Remove defun, :re-builder should be used + for this logic. + (ivy--filter): Update. + + * swiper.el (swiper-avy): Use `ivy--regex'. + (swiper--init): Don't set `ivy--regex-function' - it will be set by + :re-builder. + (swiper--re-builder): New defun. + (swiper--ivy): Use :re-builder in call to `ivy-read'. + (swiper--update-input-ivy): Use `ivy--regex'. + (swiper--action): Use `ivy--regex'. + + Fixes #90 + +2015-05-11 Oleh Krehel + + ivy.el (ivy-read): Add a re-builder argument + + * ivy.el (ivy-state): Add a RE-BUILDER field. + (ivy-resume): Use RE-BUILDER field. + (ivy-read): Set `ivy--regex-function' to RE-BUILDER if it's given. + +2015-05-11 Oleh Krehel + + ivy.el (ivy-backward-kill-word): Add and bind to "M-DEL" + + Fixes #94 + +2015-05-09 Oleh Krehel + + Fix the transition from a bad regex to good one + + * ivy.el (ivy--filter): Update. + + Fixes #93 + +2015-05-08 Oleh Krehel + + Declare swiper-map + + Fixes #90 + +2015-05-08 Oleh Krehel + + Rename avy-swiper to swiper-avy + + * swiper.el (swiper-avy): Rename and fix the regex. + +2015-05-08 Oleh Krehel + + ivy.el (ivy-use-virtual-buffers): New defcustom + + Re #84 + +2015-05-08 Oleh Krehel + + Add support for virtual buffers + + * ivy.el (ivy-mode-map): New defvar. Remap `switch-to-buffer' to + `ivy-switch-buffer'. + (ivy-mode): Use `ivy-mode-map'. + (ivy--virtual-buffers): New devar. + (ivy--virtual-buffers): New defun. + (ivy-buffer-list): Return a list of buffers, taking + `ido-use-virtual-buffers' into account. + (ivy-switch-buffer): New command. + + Fixes #84 + +2015-05-08 Tassilo Horn + + Simplify ivy-partial-or-done + +2015-05-08 Oleh Krehel + + Add swiper -> avy finalizer + + * ivy.el (ivy-quit-and-run): New defmacro. + (tramp-get-completion-function): Add declare. + + * swiper.el (swiper-map): Bind `avy-swiper' to "C-'". + (avy-swiper): New defun - jump to one of the currently visible swiper + candidates using avy. + +2015-05-08 Oleh Krehel + + Allow to use "^" in swiper + + * swiper.el (swiper--width): New defvar. + (swiper--candidates): Set `swiper--width'. + + * ivy.el (ivy--transform-re): New defun - transform the regex + specifically for `swiper'. + (ivy--filter): Call `ivy--transform-re'. + + * ivy-test.el (ivy--transform-re): Add test. + + Fixes #82 + +2015-05-08 Oleh Krehel + + Add ivy-partial: partial complete without exiting + + * ivy.el (ivy-partial-or-done): Forward to `ivy-partial'. + (ivy-partial): New defun. + + If you want a different style of completion for "TAB", do this in your + config: + + (define-key ivy-minibuffer-map (kbd "TAB") 'ivy-partial) + + Fixes #85 Fixes #86 + +2015-05-06 Oleh Krehel + + Try to prevent the resize of minibuffer window + + * ivy.el (ivy--insert-minibuffer): Temporarily bind + `resize-mini-windows' to nil. + + From its doc: + A value of `grow-only', the default, means let mini-windows grow + only; + they return to their normal size when the minibuffer is closed, or + the + echo area becomes empty. + + It could be that an update catches this minibuffer empty during + `ivy--insert-minibuffer'. + + Re #77 + +2015-05-06 Oleh Krehel + + Merge ivy--update-fn into ivy-last + + * ivy.el (ivy--update-fn): Remove defvar. + (ivy-read): Update. + (ivy--insert-minibuffer): Update. + +2015-05-06 Oleh Krehel + + Add parents using 'display for `counsel-load-library' + + * counsel.el (counsel--find-symbol): The argument string may have a + 'full-name property. + (counsel-string-compose): New defun. + (counsel-load-library): Make libraries unique through text properties. + + Re #79 + +2015-05-06 Oleh Krehel + + Add counsel-load-library + + * counsel.el (counsel-directory-parent): New defun. + (counsel-load-library): New command. + + Improve on `load-library': + + - don't consider .*elc or .*pkg.elc?, they're usually useless + - resolve duplicates in a similar way to uniquify (prepend parent + directory) + - allow to jump-to-library with "C-." (see `counsel-describe-map') + +2015-05-06 Oleh Krehel + + Work around grep-read-files + + * ivy.el (ivy--done): If history is `grep-files-history', the caller is + `grep-read-files'. Don't expand the file name, since it's probably a + glob, and `find' doesn't work with expanded globs. + + It should now be possible to simply "M-x" rgrep "RET" "RET" "RET". + + Fixes #72 + +2015-05-06 Oleh Krehel + + ivy.el (ivy-partial-or-done): Handle empty input + + Fixes #81 + +2015-05-05 Oleh Krehel + + Improve "TAB" interaction with `confirm-nonexistent-file-or-buffer' + + * ivy.el (ivy-partial-or-done): When + `confirm-nonexistent-file-or-buffer' is t, and there are no + candidates, modify the prompt to "(confirm)" right after the first + "TAB". + + Re #76 + +2015-05-05 Oleh Krehel + + ivy.el (ivy-done): Simplify and improve + + * ivy.el (ivy--done): New defun. + (ivy-done): Consider `confirm-nonexistent-file-or-buffer' for buffers as + well. + + Fixes #76 + +2015-05-05 Oleh Krehel + + Merge ivy--collection into ivy-last + + * ivy.el (ivy--collection): Delete defvar. + (ivy-read): Update. + (ivy--exhibit): Update. + +2015-05-05 Oleh Krehel + + Require dired when completing file names + + * ivy.el (ivy-read): Update. + + Fixes #78 + +2015-05-04 Oleh Krehel + + Make "TAB" switch directories properly + + * ivy.el (ivy-partial-or-done): Forward to `ivy-alt-done'. + + Fixes #75 + +2015-05-04 Oleh Krehel + + "TAB" shouldn't delete input when no candidate + + ivy.el (ivy-partial-or-done): Update. + + Fixes #74 + +2015-05-04 Oleh Krehel + + Ignore case for "TAB" + + * ivy.el (ivy-partial-or-done): Update. + + Now, e.g. "pub" can expand to "Public License". + +2015-05-04 Oleh Krehel + + ivy.el (ivy-tab-space): New defcustom + + * ivy.el (ivy-partial-or-done): Insert an extra space when + `ivy-tab-space' is non-nil. This is useful to complete partially and + start a new group at once. + + Fixes #73 + +2015-05-03 Oleh Krehel + + Add an option for out-of-order matching + + * ivy.el (ivy--regex-ignore-order): New defun. + + * swiper.el (swiper--init): Set `ivy--regex-function'. + (swiper--update-input-ivy): Use `ivy--regex-function'. + (swiper--action): Use `ivy--regex-function'. + + Example of use: + + (setq ivy-re-builders-alist + '((t . ivy--regex-ignore-order))) + + With this, e.g. swiper will match "bar foo" from input "foo bar". + +2015-05-03 Oleh Krehel + + swiper.el: Bump version + +2015-05-03 Oleh Krehel + + ivy.el (ivy-resume): Quote the preselect + +2015-05-02 Oleh Krehel + + Fix the candidate index for `ivy-resume' + + * ivy.el (ivy--preselect-index): The the regex, not the plain text. + +2015-05-02 Oleh Krehel + + Add unwind argument to ivy-read + + * ivy.el (ivy-state): Add `unwind' field. + (ivy-resume): Update. + (ivy-read): Call the `unwind' argument in the unwind form. + + * swiper.el (swiper--ivy): Use `unwind' for `ivy-read'. + +2015-05-01 Oleh Krehel + + Merge ivy--persistent-action into ivy-state-action + + * counsel.el (counsel-git-grep): Update. + + * ivy.el (ivy--persistent-action): Remove defvar. + (ivy-next-line-and-call): Update. + (ivy-previous-line-and-call): Update. + +2015-05-01 Oleh Krehel + + ivy-resume now works for functions that supply action + + ivy.el (ivy-resume): Use action + + Functions like `counsel-describe-funtion' and `counsel-describe-varible' + are now resume-able: after finishing with "RET" or breaking out with + "C-g" it's possible to resume the query in the same state as it was + (same collection, input, index). + + With: + + (global-set-key (kbd "C-c C-r") 'ivy-resume) + + it's possible to e.g.: + + - "F1 f" info read "RET" to describe Info-breadcrumbs + - "C-c C-r" "C-n" to describe Info-read-node-name + - "C-c C-r" "C-n" to describe Info-read-node-name-1 + ... + +2015-05-01 Oleh Krehel + + Merge ivy--action into ivy-last + + * ivy.el (ivy-state): Add action field. + (ivy-set-action): New defun. Just a shortcut to set action. + (ivy--action): Remove defvar. + (ivy-read): Add action argument. Check (ivy-state-action ivy-last) in + the end and call it, since the action can change during the completion. + (ivy--insert-prompt): Add `counsel-find-symbol' to the list. + (ivy--format): If there are no matches, set `ivy--current' to "". + +2015-05-01 Oleh Krehel + + Merge ivy-window into ivy-last + + * ivy.el (ivy-state): Add a window field. + (ivy-window): Remove defvar. + (ivy-next-line-and-call): Update. + (ivy-previous-line-and-call): Update. + (ivy-read): Update. + +2015-05-01 Oleh Krehel + + Merge ivy-def into ivy-last + + * ivy.el (ivy-def): Remove defvar. + (ivy-read): Update. + (ivy--filter): Update. + +2015-05-01 Oleh Krehel + + Allow to quote spaces while matching + + * ivy.el (ivy--split): New defun. + + Use (ivy--split str) in place of (split-string str " +" t). Allows to + "quote" N spaces by inputting N+1 spaces. + +2015-05-01 Oleh Krehel + + Add ivy-state struct + + * ivy.el (ivy-state): New defstruct. + (ivy-last): A single global to store an `ivy-state' struct. + (ivy-require-match): Move into `ivy-last'. + (ivy-done): Update. + (ivy-resume): New defun. Initial draft, kind of works for swiper. Need + to add a callback of what to do with the result as an argument. + (ivy-read): Store all arguments into `ivy-last'. + (ivy-completing-read): Update doc. + +2015-04-30 Oleh Krehel + + Allow for "/ssh:user@" as well as for "/ssh:" + + * ivy.el (ivy-alt-done): Update. + + Re #59 + +2015-04-30 Oleh Krehel + + Improve TRAMP completion for ivy-mode + + * ivy.el (ivy-build-tramp-name): New defun. + (ivy-alt-done): Use arcane TRAMP stuff to complete host names. + + Re #59 + +2015-04-30 Oleh Krehel + + ivy.el (ivy-read): Reset `ivy-text' earlier + + Related to `counsel-git-grep' "-3 chars more". + +2015-04-30 Oleh Krehel + + ivy.el (ivy--regex): Fixup + + Fixes #62 + +2015-04-30 Oleh Krehel + + Don't error on bad regex + + * ivy.el (ivy--filter): When on bad regex, just set the result to nil. + + Fixes #70 + +2015-04-29 Oleh Krehel + + Update and improve faces + + * ivy.el (ivy-subdir): Inherit from dired-directory. + + * swiper.el (swiper-match-face-1): Update doc. + (swiper-match-face-2): Update doc. + (swiper-match-face-3): Update doc. + (swiper-match-face-4): Inherit from isearch-fail. + (swiper--add-overlays): Fix the faces order swapping on the second + match. + + Now it finally works as planned: face-1 is the background (re group 0), + next it cycles: face-2, face-3, face-4, face-2, face-3, face-4. + +2015-04-29 Oleh Krehel + + Add gamma-correction to alpha-blending + + * colir.el (colir-compose-method): Make 'colir-compose-alpha default. + (colir-compose-alpha): Add gamma-correction. + +2015-04-29 Oleh Krehel + + colir.el: Add two additional blend algorithms + + * colir.el (colir-join): Remove. + (color): Require. + (colir-compose-method): New defcustom. + (colir-compose-soft-light): New defun. + (colir-compose-overlay): New defun. + (colir-compose-alpha): New defun. + (colir-blend): Update. + (colir-blend-face-background): Update. + +2015-04-29 Oleh Krehel + + ivy.el (ivy--exhibit): Fixup last commit + + * ivy.el (ivy--old-text): Should always be a string. + (ivy-read): Update. + (ivy--exhibit): Recompute candidates on flip, always set `ivy--old-re' + to nil. + +2015-04-29 Oleh Krehel + + Improve hidden buffer completion further + + * ivy.el (ivy--exhibit): Update. + + Fixes #68 Fixes #69 + +2015-04-29 Oleh Krehel + + Improve the completion of hidden buffers + + * ivy.el (ivy--collection): New defvar. + (ivy-read): Update. + (ivy--exhibit): Update. + + Re #68. + +2015-04-29 Oleh Krehel + + Bind "TAB" to do partial completion + + * ivy.el (ivy-minibuffer-map): Update. + (ivy-alt-done): New defun. + (ivy--old-text): Update. + + Re #63. + +2015-04-28 Oleh Krehel + + counsel.el (counsel-git-grep): Add optional initial-input + + * counsel.el (counsel-git-grep): Update. + + Fixes #66 + +2015-04-28 Oleh Krehel + + ivy.el (ivy-re-builders-alist): Improve doc + + Re #62 + +2015-04-28 Oleh Krehel + + ivy.el: Fixup docstrings + + * ivy.el (ivy-require-match): Update. + (ivy-def): Update. + (ivy--prompt-extra): Update. + (ivy--maybe-scroll-history): Update. + (ivy-completing-read): Update. + (ivy--insert-minibuffer): Update. + (ivy--filter): Update. + +2015-04-28 Oleh Krehel + + Add an option for multi-tier regex matching + + * ivy.el (ivy--regex-plus): New defun. This is an example for the + multi-tier interface. + (ivy--filter): Update. + + To use it, add e.g.: + + (setq ivy-re-builders-alist + '((t . ivy--regex-plus))) + + Example using boost_1_58_0 and `find-file-in-project`: + + * "utility" - 234 matches + * "utility hpp" - 139 matches + * "utility !hpp" - 95 matches + + Fixes #62 + +2015-04-28 Oleh Krehel + + Makefile: Update + +2015-04-28 Oleh Krehel + + Use alpha compositing to add ivy-current-match face + + * ivy.el (ivy--exhibit): Use `colir-blend-face-background'. In case it + fails, try `font-lock-append-text-property', which was used before. + + * colir.el (colir-join): New defun. + (colir-blend): New defun. + (colir-blend-face-background): New defun. + +2015-04-28 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude `elfeed-search-mode' + +2015-04-28 Oleh Krehel + + ivy.el (ivy--filter): Fixup + + Fixes #65 + +2015-04-28 Oleh Krehel + + ivy.el (ivy-alt-done): Treat `ivy-text' with ":" verbatim + + * ivy.el (ivy-alt-done): Should work better now for ssh: stuff. + + It should be possible to type in any directory: `/ssh:user@domain.com:` + C-j and get completion. + + Re #59 + +2015-04-28 Oleh Krehel + + Store the preselect and use it for empty ivy-text + + * ivy.el (ivy-def): New defvar. + (ivy-read): Store `ivy-def'. + (ivy-completing-read): Update. + (ivy--filter): When the input is empty, set `ivy--index' to select + `ivy-def'. + + Fixes #64 + +2015-04-25 Oleh Krehel + + Improve completion history using the propertize trick + + * ivy.el (ivy-previous-history-element): Update. + (ivy-next-history-element): Update. + (ivy--maybe-scroll-history): New defun. When the history element string + has ivy-index property, set `ivy--index' to that. + + Fixes #46 + +2015-04-24 Oleh Krehel + + Minibuffer faces should inherit minibuffer-prompt + + * ivy.el (ivy-confirm-face): Update. + (ivy-match-required-face): Update. + + Re #60 + +2015-04-24 Oleh Krehel + + Improve the match confirm while completing files + + * ivy.el (ivy-confirm-face): New face. + (ivy-match-required-face): New face. + (ivy--prompt-extra): New defvar, the prompt is concatenaded with this. + (ivy--extend-prompt): Remove. + (ivy-done): Update. + (ivy--insert-prompt): Use `ivy--prompt-extra'. Reset it unless the + `this-command' is appropriate. + (ivy--set-match-props): New defun. + + Fixes #60 + +2015-04-24 Oleh Krehel + + Reset to the first candidate when switching directories + + * ivy.el (ivy--cd): Update. + +2015-04-24 Oleh Krehel + + Propertize remote buffers with ivy-remote face + + * ivy.el (ivy-remote): New face. + (ivy-read): Update. + + Fixes #61 + +2015-04-23 Oleh Krehel + + Respect `confirm-nonexistent-file-or-buffer' + + * ivy.el (ivy--extend-prompt): New defun. + (ivy-done): Ask for a confirmation if no candidates match and + `confirm-nonexistent-file-or-buffer' is t. + + Re #60 + +2015-04-23 Oleh Krehel + + ivy.el (ivy-read): Fixup preselect addition + + It was unnecessarily inserting `preselect' when completing tags. + +2015-04-23 Oleh Krehel + + ivy.el (ivy--cd): Reset `ivy--old-re' + + * ivy.el (ivy--cd): Switching directory switches the candidates, so + `ivy--old-re' must be invalidated. + + Fixes #58 + +2015-04-23 Oleh Krehel + + ivy.el (Info-current-file): Declare + +2015-04-23 Oleh Krehel + + Use "//" to move to root instead of "/" as before + + ivy.el (ivy--exhibit): Update. + + This improves the situation with tramp and generally avoids losing the + current directory by pressing "/" by accident. + + Fixes #59 + +2015-04-23 Oleh Krehel + + Avoid sorting org refile candidates + + * ivy.el (ivy-read): Update. + +2015-04-23 Oleh Krehel + + Exclude jabber-chat-mode from font-lock + + * swiper.el (swiper-font-lock-ensure): Update. + +2015-04-23 Oleh Krehel + + Remove globbing heuristics for file name completion + + * ivy.el (ivy-done): Simplify. + (ivy-alt-done): Simplify. + + If you want to exit with the current text, ignoring candidates, use + `ivy-immediate-done' instead. Works for globs as well. + + Fixes #55 + +2015-04-23 Oleh Krehel + + counsel.el (counsel-git-grep): Fixup + +2015-04-23 Oleh Krehel + + ivy.el (ivy-backward-delete-char): Expand `ivy--directory' + + This avoids the situation of getting a nil for "~/". + + Re #57 + +2015-04-23 Oleh Krehel + + ivy.el (ivy-done): Update wrt globs + + Re #55 + +2015-04-23 Oleh Krehel + + swiper.el (swiper-query-replace): Fix + +2015-04-23 Oleh Krehel + + swiper.el (swiper--ivy): Check for stand-alone ivy + + Re #54 + +2015-04-23 Oleh Krehel + + ivy.el (ivy-done): Don't expand globs + + Re #55 + +2015-04-22 Oleh Krehel + + README.md: Update video link + +2015-04-22 Oleh Krehel + + Fixup `swiper-query-replace' + + * swiper.el (swiper-query-replace): Make sure to use `swiper--window'. + + * ivy.el (ivy--minibuffer-setup): Remove the `use-local-map' statement, + the map is already set in `read-from-minibuffer'. + +2015-04-22 Oleh Krehel + + ivy-test.el (ivy-read): Update test. + + REQUIRE-MATCH is nil by default. + +2015-04-22 Oleh Krehel + + ivy.el (ivy-read): Fix preselect logic + + * ivy.el (ivy-read): Update. + + Fixes e.g. `ert' passing "t" as the default, which isn't in collection, + but `all-completions' doesn't return nil. + +2015-04-22 Oleh Krehel + + ivy.el (ivy-done): Fixup + +2015-04-22 Oleh Krehel + + ivy.el (ivy--add-face): Don't fail for weird str + + Fixes #44 + +2015-04-22 Oleh Krehel + + swiper.el (swiper--ivy): Fix preselect being added + +2015-04-22 Oleh Krehel + + ivy.el (ivy--exhibit): Wrap in `while-no-input' + + * ivy.el (ivy--exhibit): `ivy--dynamic-function' will sometimes use + `call-process'. Adding `while-no-input' speeds up things a lot, at the + cost of a small message interrupting the minibuffer when + `call-process' takes too long or the user types too fast. + This message is not an issue for emacs-snapshot. + +2015-04-22 Oleh Krehel + + Bind "M-q" to `ivy-toggle-regexp-quote' + + * ivy.el (ivy-minibuffer-map): Update. + (ivy--regexp-quote): New defvar. + (ivy-toggle-regexp-quote): New command, toggle `ivy--regex-function' + between the value selected in `ivy-read' and `ivy--regexp-quote'. + (ivy-read): Reset `ivy--regexp-quote' to 'regexp-quote. + + Fixes #48 + +2015-04-22 Oleh Krehel + + Allow to customize the regex matching per-collection + + * ivy.el (ivy--regex-function): New defvar. + (ivy-re-builders-alist): New defvar, use this to customize. + (ivy-read): Update. + (ivy--filter): Update. + + Currently, it only works for function collections. Example: + + (setq ivy-re-builders-alist + '((read-file-name-internal . regexp-quote) + (t . ivy--regex))) + + Re #48 + +2015-04-22 Oleh Krehel + + ivy.el (ivy-done): Be more strict for `require-match' + + When `require-match' isn't in (nil confirm confirm-after-completion), + don't allow to exit if there isn't a match. Instead, amend the prompt + with "(match required)". + +2015-04-22 Oleh Krehel + + Change `ivy-read' to a cl-defun + + * ivy.el (ivy-read): All args but PROMPT and COLLECTION are now keys. + The existing basic calls to `ivy-read' should still work, the others + need to be updated. It's best to try to use `ivy-completing-read' if + possible, since it conforms to the `completing-read' arguments. New + arguments: REQUIRE-MATCH and HISTORY. If HISTORY is nil, `ivy-history' + is used. + + (ivy--sorted-files): Don't try to extend the collection. + (ivy-completing-read): Update. + + * swiper.el (swiper--ivy): Update. + + * counsel.el (counsel-describe-symbol-history): New defvar. + (counsel-describe-variable): Update the call, require match, use + `counsel-describe-symbol-history'. + (counsel-describe-function): Update the call, require match, use + `counsel-describe-symbol-history'. + + * ivy-test.el: Update tests, since zero and one length input doesn't + return immediately any more. + + Re #46 + +2015-04-22 Oleh Krehel + + ivy.el (ivy--filter): Update prefix optimization + + * ivy.el (ivy--filter): Don't use prefix optimization when the input + contains "\". + +2015-04-22 Oleh Krehel + + README.md: Add a note on outdated ivy package + + Fixes #51 + +2015-04-21 Oleh Krehel + + ivy.el (ivy--filter): Try directory expansion with "/" + + * ivy.el (ivy--filter): If candidate is "x" and completing file names, + check if "x/" is among the candidates, and if so, set `ivy--index' + accordingly. + + Re #50 + +2015-04-21 Oleh Krehel + + Fix the default-directory for `counsel-git-grep' + + * counsel.el (counsel--git-grep-dir): New defvar. + (counsel-git-grep-count): Update. + (counsel-git-grep-function): Update. + (counsel-git-grep): Update. + +2015-04-21 Oleh Krehel + + Add a way to exit ignoring the candidates + + * ivy.el (ivy-immediate-done): New commad, currently unbound. Exit the + minibuffer, ignoring the candidates. Solves the same problem as + "C-f" in `ido-mode'. + (ivy-alt-done): With a prefix arg, e.g. "C-u C-j", forward to + `ivy-immediate-done'. + + Re #50 + +2015-04-21 Oleh Krehel + + ivy.el (ivy-read): Don't add the `default-directory' + +2015-04-21 Oleh Krehel + + ivy.el (ivy-read): Use initial-input when completing files + + * ivy.el (ivy-read): Unless `require-match', add `initial-input' to the + collection. This is important e.g. for `dired-dwim-target'. + +2015-04-21 Oleh Krehel + + swiper.el (swiper--add-overlays): Make bounds optional + +2015-04-21 Oleh Krehel + + counsel.el (counsel-git-grep-count): Ignore case + +2015-04-21 Oleh Krehel + + Fix describe-function / -variable "C-." interaction + + * counsel.el (counsel-describe-variable): Don't describe variable if + jump-to-symbol action was chosen. + (counsel-describe-function): Don't describe variable if + jump-to-symbol action was chosen. + + I should handle this more gracefully if multiple actions become a + pattern. + +2015-04-21 Oleh Krehel + + counsel.el: Add awesome swiper highlighting to git grep + + * counsel.el (swiper): Require. + (counsel-git-grep-function): Use `swiper--add-overlays'. Remember to set + `swiper--window', and call `swiper--cleanup'. Use `ivy--regex' in all + cases to build the regex. + +2015-04-21 Oleh Krehel + + ivy.el (ivy--regex): Add optional greedy arg + + * ivy.el (ivy--regex): When optional greedy arg is t, be greedy. Don't + wrap a sub-expr in a group if it's already a group, for instance + "forward \(char\|list\)". + + Greedy is needed, for instance, for "git grep", which doesn't work great + with non-greedy regex. + + Re #47 + +2015-04-21 Oleh Krehel + + swiper.el (swiper--add-overlays): Update arglist + + * swiper.el (swiper--update-input-ivy): Update. + (swiper--add-overlays): Take only the regexp as the argument. Figure out + the bounds by itself. + +2015-04-21 Oleh Krehel + + ivy.el (ivy-done): Don't directory-expand glob filename + + * ivy.el (ivy-done): Don't directory-expand if there's a star in the + file name. + + This change fixes the behavior of `rgrep`. It can't handle the case of + e.g. /foo/bar/\*.el, but handles \*.el fine. + + Re #45 + +2015-04-21 Oleh Krehel + + Add an option to call the completion action without exiting + + * ivy.el (ivy--persistent-action): New defvar. This is a lambda that the + caller sets if the caller has a plan for persistent actions. + (ivy-next-line-and-call): Add and bind to "C-M-n". Identical to "C-n", + except calls `ivy--persistent-action' when it's not nil. Add and bind to + "C-M-p". Identical to "C-p", except calls `ivy--persistent-action' when + it's not nil. + (ivy-window): New defvar. + (ivy-read): Store `ivy-window'. + + * counsel.el (counsel-git-grep): Use `ivy--persistent-action'. + + For `counsel-git-grep', as an example, it's possible to move to the + matched place without exiting the completion with "C-M-n" and "C-M-p". + This is a nice advantage, since it gives a full context to each one-line + git grep match. + +2015-04-21 Oleh Krehel + + Fix double-sorting for file names + + * ivy.el (ivy--sorted-files): Update. + (ivy-read): Update. + +2015-04-21 Oleh Krehel + + ivy.el (ivy--sorted-files): Avoid returning an empty list + + Fixes #49 + +2015-04-21 Oleh Krehel + + Allow to customize the sorting methods + + * ivy.el (ivy-sort-functions-alist): New defvar, stores sorting + functions for various function collection types. + (ivy-sort-file-function): Remove, merge into `ivy-sort-functions-alist'. + (ivy-sort-max-size): Don't sort candidate lists larger than this size. + (ivy--sorted-files): Update. + (ivy-read): Add an argument SORT. When it's t, sort the candidates + according to `ivy-sort-functions-alist'. It's assumed that if + COLLECTION is a function it's OK to `cl-sort' it without making a copy. + (ivy-completing-read): Call with SORT t. + + * counsel.el (counsel-describe-variable): Call with SORT t. + (counsel-describe-function): Call with SORT t. + +2015-04-21 Oleh Krehel + + ivy.el (ivy--regex): Switch to non-greedy ".*?" joiner + + Fixes #47 + +2015-04-21 Oleh Krehel + + ivy.el (ivy-done): Expand file name for empty text + + Fixes #45 + +2015-04-20 Oleh Krehel + + `counsel-git-grep' can now handle huge git repos + + * counsel.el (counsel-git-grep-count): Return a number instead of a + string. Apply `ivy--regex' on the input. + (counsel--git-grep-count): New defvar. + (counsel-git-grep-function): If the repo has >20000 lines, use `head' + 5000 instead, but still display the true amount of matches. + (counsel-git-grep): Set `ivy--dynamic-function'. + (counsel-locate-function): Update. + + * ivy.el (ivy--dynamic-function): New defvar. When this isn't nil, it + will be called to get a new batch of candidates in case the `ivy-text' + was changed. + (ivy--full-length): The true candidates length in case of `head' + shenanigans. + (ivy--old-text): Store the old text for when `ivy--dynamic-function' was + called last. + (ivy--insert-prompt): Update. + (ivy--exhibit): Don't do filtering for non-nil `ivy--dynamic-function' - + let the caller (usually a shell tool) do the filtering. + (ivy--insert-minibuffer): New defun, created from a part of + `ivy--exhibit'. + +2015-04-20 Oleh Krehel + + Use cl-plusp instead of plusp + + * ivy.el (cl-lib): Add require. + (ivy-alt-done): Update. + + Re #43 + +2015-04-20 Oleh Krehel + + Add a dynamic counsel-locate + + * counsel.el (counsel-locate-function): New defun. + (counsel-locate): New defun. + + * ivy.el (ivy--dynamic-function): New defvar. + (ivy--exhibit): Re-compute candidates use `ivy--dynamic-function' if + it's non-nil. + +2015-04-20 Oleh Krehel + + Split `ivy-completions' into `ivy--filter' and `ivy--format' + + * ivy.el (ivy--exhibit): Update. + (ivy-completions): Remove. + (ivy--filter): New defun. + (ivy--format): New defun. + +2015-04-20 Oleh Krehel + + counsel.el (counsel-git-grep-count): Add defun + +2015-04-20 Oleh Krehel + + swiper.el: Fix compilation warnings + +2015-04-20 Oleh Krehel + + Bind arrows + + * ivy.el (ivy-minibuffer-map): Update. + + Re #40 + +2015-04-20 Oleh Krehel + + Add an optimization to speed up matching + + * ivy.el (ivy-completions): Update. + +2015-04-20 Oleh Krehel + + swiper.el: Bump version + +2015-04-20 Oleh Krehel + + ivy.el (ivy-done): Still expand "./" though + +2015-04-20 Oleh Krehel + + Don't expand the default when completing file names + + * ivy.el (ivy-done): Update. + + This affects e.g. `rgrep': "\*.el" as the default will work, but + "foo/\*.el" won't. + +2015-04-20 Oleh Krehel + + Propertize directories with ivy-subdir face + + * ivy.el (ivy-subdir): New defface. + (ivy-completions): Update. + +2015-04-20 Oleh Krehel + + Speed up the default file sorting even more + + * ivy.el (ivy--sorted-files): Use `string-match-p' instead of + `file-directory-p'. + +2015-04-20 Oleh Krehel + + Speed up the default file sorting + + * ivy.el (ivy-sort-file-function-default): Update. + (ivy--sorted-files): Update. + + Turns out that calling `file-directory-p' in `cl-sort' is too expensive. + So when `ivy-sort-file-function' is `ivy-sort-file-function-default', + propertize all strings with whether they are directories or not. + + When `ivy-sort-file-function' is something different, e.g. + `string-lessp', don't do propertizing since it also can be slow. + +2015-04-20 Oleh Krehel + + ivy.el (ivy--preselect-index): Give priority to perfect match + +2015-04-20 Oleh Krehel + + Allow "C-." to jump to current symbol definition + + * counsel.el (counsel-describe-map): New defvar. + (counsel-find-symbol): New defun. + (counsel--find-symbol): New defun - jump to definition of function or + symbol or library. + (counsel-describe-variable): Use `counsel-describe-map'. + (counsel-describe-function): Use `counsel-describe-map'. + +2015-04-20 Oleh Krehel + + Allow to customize the file sorting order + + * ivy.el (ivy-sort-file-function-default): New defun. + (ivy-sort-file-function): New defvar. Set this to your preference. + (ivy--sorted-files): Update. + + Fixes #38 + +2015-04-19 Oleh Krehel + + ivy.el (ivy-done): Update for non-matching file names + + * ivy.el (ivy-done): When `ivy--directory' is non-nil, accept input + anyway. + + Fixes #39 + +2015-04-19 Oleh Krehel + + ivy.el (ivy-completions): Fix an optimization + +2015-04-19 Oleh Krehel + + Add a matching optimization + + * ivy.el (ivy-completions): When the new regex `re' is a contains the + old regex `ivy--old-re', it must be true that all candidates that + match `re' are contained inside all candidates that match + `ivy--old-re', i.e. the pre-computed in the last step + `ivy--old-cands'. + + This should speed up completion for large (~100k) amount of candidates, + for the particular case of regex simply being extended. + +2015-04-19 Oleh Krehel + + counsel.el (counsel-git-grep): Fix the default-directory + +2015-04-19 Oleh Krehel + + Add a command to grep the current git repo + + * counsel.el (counsel-git-grep-function): New defun. + (counsel-git-grep): New command. + +2015-04-19 Oleh Krehel + + Add "C-v" and "M-v" scrolling + + * ivy.el (ivy-minibuffer-map): Update. + (ivy-scroll-up-command): New defun. + (ivy-scroll-down-command): New defun. + +2015-04-18 Oleh Krehel + + ivy.el (ivy-alt-done): Update for 0 candidates + +2015-04-18 Oleh Krehel + + swiper.el: Add a work-around for window-start not being current + + * swiper.el (swiper--update-input-ivy): Update. + + This results in double the window-height amount of lines being + heightlighted, instead of just window-height. But at least it doesn't + happen that some candidates within the current window aren't highlighted + since they're beyond the outdated window-start and window-end. + + An alternative would be to use `redisplay' to update `window-start' and + `window-end', but that causes excessive blinking. + + * ivy-test.el: Add a require. + +2015-04-18 Oleh Krehel + + ivy.el: Move all defvar before their first use + +2015-04-18 Oleh Krehel + + Add ivy key bindings to "C-h m" + + * ivy.el (ivy-mode): Update. + + Re #37 + +2015-04-18 Oleh Krehel + + Allow to customize the dotted directories + + * ivy.el (ivy-extra-directories): New defcustom. + (ivy--sorted-files): Update. + + Re #38 + +2015-04-18 Oleh Krehel + + Add a work-around for completing topics in the info dir + + * ivy.el (ivy-read): Weirdly, the topic names need to be wrapped in + "(...)". Also, `all-completions' returns nothing for "", but returns + stuff for "(". Also, `all-completions' for "(" returns plenty of + duplicates. + +2015-04-18 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude dired-mode + +2015-04-18 Oleh Krehel + + counsel.el: Switch from `with-no-warnings' to `declare-function' + +2015-04-17 Oleh Krehel + + Allow to complete dir with "/" if it's a perfect match + + * ivy.el (ivy--exhibit): Update. + +2015-04-17 Oleh Krehel + + Add sorting for file completion + + * ivy.el (ivy-alt-done): Exit with current directory when on first + element, which is always "./", thanks to sorting. + (ivy--cd): Update. + (ivy--sorted-files): New defun for sorting file names. "./" and "../" + are always the first, then come the directories, then the files. + (ivy-read): Update. + +2015-04-17 Oleh Krehel + + Add "/" and "~" shortcuts while finding files + + * ivy.el (ivy--cd): New defun. + (ivy-backward-delete-char): Use `ivy--cd'. + (ivy--exhibit): When the file completion text ends in "/" or "~", move + to those dirs. + +2015-04-17 Oleh Krehel + + Add work-around for DEF not being in COLLECTION for `completing-read' + + * ivy.el (ivy-read): Update. + +2015-04-17 Oleh Krehel + + swiper.el: Remove dependency on ivy + + ivy.el now comes together with swiper. + + Re #36. + +2015-04-16 Oleh Krehel + + Ivy-mode now works better with `find-file' + + * ivy.el (ivy-minibuffer-map): Bind "C-j" to visit a directory without + exiting the minibuffer. + (ivy--directory): New defvar. + (ivy-done): Expand file names. + (ivy-alt-done): New defun. + (ivy-backward-delete-char): When completing file names, visit the parent + dir. + (ivy-read): Add the predicate argument, similar to `completing-read'. + All code that uses `ivy-read' needs to be updated. Move the + collection/predicate stuff here. + (ivy-completing-read): Update. + (ivy--insert-prompt): Display the current directory when completing file + names. + +2015-04-16 Oleh Krehel + + ivy.el (ivy-completing-read): Rely more on `all-completions' + +2015-04-16 Oleh Krehel + + Add require-match functionality + + * ivy.el (ivy-require-match): New defvar. + (ivy-done): When nothing matches, and `ivy-require-match' isn't t, use + the current text anyway. + (ivy-completing-read): Update. + +2015-04-16 Oleh Krehel + + Add function as collection support for ivy-mode + + * ivy.el (ivy-completing-read): Update. Ignore initial input for + function collection type. + +2015-04-16 Oleh Krehel + + Don't try to fontify huge buffers + + * swiper.el (swiper-font-lock-ensure): Update. + +2015-04-16 Oleh Krehel + + Remove ido-mode shenanigans + + Combining `ido-mode' and `ivy-read' seemed to cause a problem at some + stage. Can't reproduce now, so I'll just remove this for a while. + +2015-04-16 Oleh Krehel + + swiper.el: Bump version + +2015-04-13 Oleh Krehel + + Fix thing-at-point in describe-function and -variable + + * counsel.el (counsel-describe-variable): Update. + (counsel-describe-function): Update. + +2015-04-10 Oleh Krehel + + Update sorting order, make sure that perfect match is selected + + ivy.el (ivy-completions): Update. + + When the regex matches perfectly, select it. + +2015-04-09 Oleh Krehel + + Add ivy-mode + + * ivy.el (ivy-completing-read): New defun. + (ivy-mode): New global minor mode. + +2015-04-09 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude org-agenda-mode + + Re #19 + +2015-04-09 Oleh Krehel + + Add four more commands + + * counsel.el (counsel-describe-variable): New defun. + (counsel-describe-function): New defun. + (counsel-info-lookup-symbol): New defun. + (counsel-unicode-char): New defun. + + * Makefile: Compile counsel.el as well. + +2015-04-03 Steve Purcell + + Fix invalid package header line + +2015-04-03 Oleh Krehel + + counsel.el: Fixup prefixes + +2015-04-03 Oleh Krehel + + counsel.el (couns-clj): Add with-no-warnings + +2015-04-02 Oleh Krehel + + counsel.el: Update comments + +2015-03-31 Oleh Krehel + + Fix `ivy-backward-delete-char-function' + + * ivy.el (ivy-on-del-error-function): Rename from + `ivy-backward-delete-char-function'. + (ivy-backward-delete-char): Don't use eval. + +2015-03-30 Kevin + + Add defcustom for ivy-backward-delete-char + +2015-03-30 Oleh Krehel + + Allow duplicate candidates in `ivy-read' + + * ivy.el (ivy-completions): Use `eq' instead of `equal' in + `cl-position'. + +2015-03-27 Oleh Krehel + + swiper.el (swiper-map): Bind "C-l" to recenter + + * swiper.el (swiper-map): Update. + (swiper-recenter-top-bottom): New defun. + (swiper--update-input-ivy): Use `<=' in order for `recenter-top-bottom' + to work. + +2015-03-26 Oleh Krehel + + swiper.el (swiper-query-replace): Enable recursive minibuffers + + * swiper.el (swiper-query-replace): Update. + + Fixes #31. + +2015-03-26 Oleh Krehel + + Default ARG to 1 for arrows + + * ivy.el (ivy-next-line): Update. + (ivy-previous-line): Update. + +2015-03-26 Oleh Krehel + + Add numeric arguments to arrows + + * ivy.el (ivy-next-line): Update. + (ivy-next-line-or-history): Update. + (ivy-previous-line): Update. + (ivy-previous-line-or-history): Update. + (ivy-read): Update doc. + +2015-03-26 Oleh Krehel + + "C-s" should forward to "C-n" etc + + * ivy.el (ivy-next-line-or-history): Update. + (ivy-previous-line-or-history): Update. + +2015-03-25 Oleh Krehel + + Allow to cancel "M-q" with "C-g" + + swiper.el (swiper-query-replace): If the TO argument to + `perform-replace' isn't read, don't exit minibuffer. + + If the user called `swiper-query-replace' and isn't happy with the + current input being the FROM arg of `perform-replace', it's possible to + cancel with "C-g", and edit the input once again. + +2015-03-25 Oleh Krehel + + swiper.el (swiper-query-replace): Call only in minibuffer + +2015-03-25 Oleh Krehel + + Add swiper-query-replace + + * ivy.el (ivy-read): Update signature - a keymap is also accepted and + the argument order has changed. + The keymap is composed with `ivy-minibuffer-map'. + Update for `ivy--action'. + (ivy--action): New defvar. If a function sets it, `ivy-read' will call + it. + + * swiper.el (swiper-map): New defvar. + (swiper-query-replace): New defun. + (swiper--ivy): Use swiper-map in the call to `ivy-read'. + + * counsel.el (couns-git): Fix one empty candidate. + +2015-03-25 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Ignore gnus modes + +2015-03-23 Oleh Krehel + + Ensure that inserted candidates don't have read-only property + + * ivy.el (ivy-completions): Update. + + Fixes #28. + + The issue was that the whole text of erc buffer has (read-only t) + property. That means if I copy some of those strings and insert them + into the minibuffer, I can't delete them unless I set + `inhibit-read-only' to t. Instead, I set the read-only to nil for the + string that I insert. It doesn't affect the original buffer string. + +2015-03-23 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Omit erc-mode + + Re #28 + +2015-03-22 Oleh Krehel + + Update Copyright + +2015-03-22 Oleh Krehel + + Move swiper-helm to another repo + +2015-03-22 John Mastro + + ivy.el (ivy-wrap): New defcustom + + (ivy-next-line): Wrap around if `ivy-wrap' is non-nil + (ivy-next-line-or-history): Wrap around if `ivy-wrap' is non-nil + (ivy-previous-line): Wrap around if `ivy-wrap' is non-nil + (ivy-previous-line-or-history): Wrap around if `ivy-wrap' is non-nil + +2015-03-22 John Mastro + + swiper.el (swiper-min-highlight): New defcustom + + (swiper--add-overlays): Use `swiper-min-highlight' + +2015-03-22 John Mastro + + swiper.el (swiper--init): Set `swiper--opoint' + + (swiper): Don't set `swiper--opoint' + +2015-03-21 Oleh Krehel + + Update "C-n" and "C-p" bindings + + * ivy.el (ivy-next-line): Don't touch history. + (ivy-next-line-or-history): Select previous history element if there's + no input. + (ivy-previous-line): Don't touch history. + (ivy-previous-line-or-history): Select previous history element if + there's no input. + + Re #23 + +2015-03-21 Oleh Krehel + + Use `font-lock-append-text-property' to non-destructively modify a + string + + * ivy.el (ivy--add-face): Improve. + `font-lock-append-text-property' non-destructively changes properties in + a string, which means if a string was copied from another and modified, + the original will not be changed. In this way, it's better than + `add-face-text-property'; and still better than `propertize' that simply + erases all properties before applying. + + Fixes #22 + +2015-03-21 Steve Purcell + + Fix invalid package header line + +2015-03-21 Oleh Krehel + + Add a custom `ivy-count-format' + + * ivy.el (ivy-count-format): New defcustom. + (ivy-read): Use `ivy-count-format', unless PROMPT already has a %d spec. + + Set `ivy-count-format' to nil or "" if you don't want to see an + auto-updating match count in the minibuffer. + + Re #23. + +2015-03-21 Oleh Krehel + + swiper-helm.el: Fix typo + +2015-03-21 Oleh Krehel + + swiper.el: Remove the helm bits + + They are now in swiper-helm.el. Available for install separately from + MELPA. + +2015-03-20 Oleh Krehel + + swiper-helm.el: Copy all helm stuff here + +2015-03-20 Oleh Krehel + + ivy.el (ivy-completions): Simplify + +2015-03-19 Oleh Krehel + + ivy.el: Remove while-no-input + + This will speed up the updates. But it might slow down somewhere else. + The issue was that "M-DEL" did not cause an update. + +2015-03-19 Oleh Krehel + + README.md: Add build status + +2015-03-19 Oleh Krehel + + ivy.el (ivy-read): Allow for format-style PROMPT + + * ivy.el (ivy-read): When given a prompt of e.g. "%d pattern: ", update + the number of candidates in the prompt. + (ivy--prompt): New defvar. + (ivy--insert-prompt): New defun. + (ivy--exhibit): Call `ivy--insert-prompt'. + (ivy-completions): Fix a bug of `ivy--index' becoming -1 when the number + of matches becomes zero. + + * swiper.el (swiper--format-spec): New defvar. + (swiper--candidates): Update. + (swiper--ivy): Use `swiper--format-spec' to make the prompt. + +2015-03-19 Oleh Krehel + + ivy.el (ivy-read): Change index to preselect + + * ivy.el (ivy-read): Update signature. Instead of giving the integer + index of what to preselect, give a string to preselect. + (ivy--preselect-index): New defun. + + * swiper.el (swiper--index-at-point): Rename to `ivy--preselect-index'. + (swiper--ivy): Simplify. + +2015-03-19 Oleh Krehel + + ivy-test.el: Add testing + + * Makefile: Add a test and compile target. + +2015-03-19 Oleh Krehel + + ivy.el: Return nil when there is no match + + * ivy.el (ivy-done): Update. + (ivy-read): Update. + +2015-03-19 Oleh Krehel + + swiper.el: Silence a few compilation warnings + +2015-03-18 Oleh Krehel + + swiper.el: Fix non-matching lines issue with initial-input + + * swiper.el (swiper--index-at-point): New defun. + (swiper--ivy): Update. + + Fixes #20. + +2015-03-18 Oleh Krehel + + Add isearch-like history behavior + + * ivy.el (ivy-next-line): Select previous history element for empty + input. + (ivy-previous-line): Select previous history element for empty input. + (ivy-previous-history-element): New defun. + (ivy-next-history-element): New defun. + + Re #21 + +2015-03-18 Oleh Krehel + + ivy.el (ivy-read): Bring last history candidate to front + +2015-03-18 Oleh Krehel + + counsel.el: Add git file completion + + * counsel.el (couns-git): Add. + +2015-03-18 Oleh Krehel + + swiper.el (swiper--helm): Require helm-match-plugin + + This seems to be necessary after a recent helm update. + +2015-03-18 Oleh Krehel + + ivy.el: Fix ivy-history recording the full text instead of input + + * ivy.el (ivy-read): Update. + + Fixes #21 + +2015-03-18 Oleh Krehel + + swiper.el (swiper-font-lock-ensure): Exclude a few modes + + Re #19 + +2015-03-17 Oleh Krehel + + Work around magit highlighting problem + + * swiper.el (swiper-font-lock-ensure): Update. + + Re #19 + +2015-03-17 Oleh Krehel + + swiper.el (swiper--opoint): Fix bad defvar + +2015-03-17 Oleh Krehel + + counsel.el: Add Clojure completion at point + +2015-03-17 Oleh Krehel + + swiper.el: Fix error for empty buffer + + * swiper.el (swiper--candidates): Update. + (swiper--action): Update. + + Fixes #17. + +2015-03-16 killdash9 + + Need to check value of variable + +2015-03-16 Oleh Krehel + + swiper.el: Clean up overlays better on "C-g" + + * swiper.el (swiper--cleanup): Improve. + + Fixes #11. + +2015-03-16 Oleh Krehel + + Open invisible overlays using isearch + + * swiper.el (swiper--update-input-ivy): Improve. + + Fixes #11. + +2015-03-16 Oleh Krehel + + ivy.el (ivy-read): Return immediately for less than 2 candidates + +2015-03-16 Oleh Krehel + + counsel.el: Add + +2015-03-15 Oleh Krehel + + Truncate candidates to window width in the minibuffer + + * ivy.el (ivy-completions): Update. + +2015-03-15 Oleh Krehel + + Add some rudimentary history handling + + * ivy.el (ivy-minibuffer-map): Bind "M-n", "M-p", and "C-g". + (ivy-history): New defvar. + (ivy-read): Update. + (ivy--minibuffer-setup): Offer thing-at-point for "M-n". + (ivy--default): New defvar. + + Re #16. + +2015-03-15 Oleh Krehel + + ivy.el (ivy-previous-line): Change to `cl-decf' + + Re #15 + +2015-03-15 Oleh Krehel + + swiper.el: Make ivy the default back end + +2015-03-15 Oleh Krehel + + Don't recenter unless necessary + + * swiper.el (swiper--update-input-ivy): Update. + +2015-03-15 Oleh Krehel + + Add anchoring + + * ivy.el (ivy-read): Add optional argument INDEX. It's the index of + initally selected entry. + (ivy-completions): Update. + + * swiper.el (swiper--ivy): Call `ivy-read' with `line-number-at-pos'. + + Fixes #16 + +2015-03-15 Xavier Garrido + + Fix use of cl-incf + + * ivy.el (ivy-next-line): Update. + + Fixes #15 + +2015-03-14 Oleh Krehel + + Require delsel for `minibuffer-keyboard-quit' + + * ivy.el (ivy-backward-delete-char): Update. + + Fixes #14. + +2015-03-14 Oleh Krehel + + swiper.el: Save position before last search + + * swiper.el (swiper--ivy): Forward to `swiper--action'. + (swiper--helm): Use `swiper--action-helm'. + (swiper--action-helm): New defun. + (swiper--action): Generalize, use push-mark, similarly to `isearch'. + + Fixes #12. + +2015-03-14 Oleh Krehel + + Reveal invisible overlays + + * swiper.el (swiper--ivy): Update. + (swiper--ensure-visible): New defun. + (swiper--action): Update. + + Fixes #11. + +2015-03-14 Steve Purcell + + Inherit standard faces by default + + Every time a new custom face definition is created, it breaks every + existing theme. Better, then, to inherit standard faces by default. + + This commit has the side benefit of making the faces defined here + legible in themes with dark backgrounds. + +2015-03-14 Oleh Krehel + + swiper.el: Restore original point on canceling + + * swiper.el (swiper--opoint): New defvar. + (swiper): Update. + (swiper--ivy): Update. + + Fixes #9. + +2015-03-14 Oleh Krehel + + ivy.el: Add `ivy-exit' + + * ivy.el (ivy-done): Update. + (ivy-read): Update. + (ivy-exit): New defvar. + +2015-03-14 Oleh Krehel + + Add initial-input optional argument + + * swiper.el (swiper): Update. + (swiper--ivy): Update. + (swiper--helm): Update. + + * ivy.el (ivy-read): Update. + + Fixes #8. + +2015-03-13 Oleh Krehel + + Account for zero-length regex matches + + * swiper.el (swiper--add-overlays): Update. + + Fixes #6. + +2015-03-13 Oleh Krehel + + swiper.el: Use `with-selected-window' instead of `with-current-buffer' + + * swiper.el (swiper--buffer): Remove. + (swiper--init): Update. + (swiper--update-input-helm): Update. + (swiper--update-input-ivy): Update. + (swiper--update-sel): Update. + +2015-03-13 Oleh Krehel + + ivy.el: Improve the highlighting in the minibuffer + + * ivy.el (ivy--add-face): Use `add-face-text-property' if it's + available. You need to upgrade to Emacs 24.4 to get this feature. + (ivy-completions): Use `ivy--add-face'. + +2015-03-13 Oleh Krehel + + README.md: Update + +2015-03-13 Oleh Krehel + + Update dependencies. + + * ivy.el: Depend on emacs "24.1". + + * swiper.el: Depend on ivy "0.1.0". + +2015-03-13 Oleh Krehel + + Add `ivy' back end + + * ivy.el: New completion back end. + + * swiper.el: Package doesn't depend on `helm'. + (ivy): Depend on `ivy'. + (swiper-completion-method): New defcustom. + (swiper--window): New var. + (swiper--helm-keymap): Rename from `swiper--keymap'. + (swiper): Change to a dispatch. + (swiper--init): New defun. + (swiper--ivy): New command. + (swiper--helm): New command. + (swiper--cleanup): New defun. + (swiper--update-input-helm): Rename from `swiper--update-input'. + (swiper--update-input-ivy): New defun. + (swiper--add-overlays): New defun. + (swiper--update-sel): Update. + (swiper--subexps): + (swiper--regex-hash): + (swiper--regex): Move to ivy. + (swiper--action): Update. + +2015-03-11 killdash9 + + familiar isearch key bindings while helm is active + +2015-03-11 Oleh Krehel + + swiper.el (swiper--regex): Update signature + +2015-03-11 Syohei YOSHIDA + + Use cl-lib macros instead of cl.el + +2015-03-11 Syohei YOSHIDA + + add autoload cookie for lazy loading + +2015-03-11 Oleh Krehel + + Add dependency on emacs 24.1 + +2015-03-10 Oleh Krehel + + Add compatibility alias for `font-lock-ensure' + + * swiper.el (swiper-font-lock-ensure): Add. + + Fixes #1. + +2015-03-10 Oleh Krehel + + README.md: Add + +2015-03-10 Oleh Krehel + + swiper.el (swiper--regex): Zero groups without space + + * swiper.el (swiper--update-input): Update the face order accordingly. + +2015-03-10 Oleh Krehel + + Update call to `font-lock-ensure' + + * swiper.el (swiper--candidates): `font-lock-ensure' takes no arguments + in 24.4.1. + +2015-03-09 Oleh Krehel + + Initial import + diff --git a/elpa/swiper-0.13.0/swiper-autoloads.el b/elpa/swiper-0.13.1/swiper-autoloads.el old mode 100755 new mode 100644 similarity index 95% rename from elpa/swiper-0.13.0/swiper-autoloads.el rename to elpa/swiper-0.13.1/swiper-autoloads.el index 8ae878c..bd4b480 --- a/elpa/swiper-0.13.0/swiper-autoloads.el +++ b/elpa/swiper-0.13.1/swiper-autoloads.el @@ -47,6 +47,10 @@ Like `swiper-isearch' but the first result is before the point. (if (fboundp 'register-definition-prefixes) (register-definition-prefixes "swiper" '("swiper-"))) +;;;*** + +;;;### (autoloads nil nil ("swiper-pkg.el") (0 0 0 0)) + ;;;*** ;; Local Variables: diff --git a/elpa/swiper-0.13.1/swiper-pkg.el b/elpa/swiper-0.13.1/swiper-pkg.el new file mode 100644 index 0000000..9dfc592 --- /dev/null +++ b/elpa/swiper-0.13.1/swiper-pkg.el @@ -0,0 +1,2 @@ +;; Generated package description from swiper.el -*- no-byte-compile: t -*- +(define-package "swiper" "0.13.1" "Isearch with an overview. Oh, man!" '((emacs "24.5") (ivy "0.13.1")) :keywords '("matching") :authors '(("Oleh Krehel" . "ohwoeowho@gmail.com")) :maintainer '("Oleh Krehel" . "ohwoeowho@gmail.com") :url "https://github.com/abo-abo/swiper") diff --git a/elpa/swiper-0.13.0/swiper.el b/elpa/swiper-0.13.1/swiper.el old mode 100755 new mode 100644 similarity index 99% rename from elpa/swiper-0.13.0/swiper.el rename to elpa/swiper-0.13.1/swiper.el index 2f251d5..10813a4 --- a/elpa/swiper-0.13.0/swiper.el +++ b/elpa/swiper-0.13.1/swiper.el @@ -4,10 +4,8 @@ ;; Author: Oleh Krehel ;; URL: https://github.com/abo-abo/swiper -;; Package-Version: 0.13.0 -;; Package-Commit: cd634c6f51458f81898ecf2821ac3169cb65a1eb -;; Version: 0.13.0 -;; Package-Requires: ((emacs "24.5") (ivy "0.13.0")) +;; Version: 0.13.1 +;; Package-Requires: ((emacs "24.5") (ivy "0.13.1")) ;; Keywords: matching ;; This file is part of GNU Emacs.