2020-12-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	Select the files relevant for the `counsel` package

2019-10-16  Zhu Zihao  <all_but_last@163.com>

	counsel.el (counsel-locate-cmd-es): Encode command to local codepage

	Fixes #2278

2019-10-16  ItsHoff  <ItsHoff@users.noreply.github.com>

	Ensure that ripgrep on windows uses '/' as the path-separator

2019-10-15  Hong Xu  <hong@topbug.net>

	counsel.el (counsel-read-directory-name): Add

	This is a partial replacement of `read-directory-name', except that 
	DEFAULT-DIRNAME does not have any effect. This should be able to 
	mitigate the issue mentioned in #1646 to allow more flexibility 
	regarding customized key bindings.

	Fixes #2277

2019-10-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: "~~" now works as expected for /sudo::

	Fixes #2276

2019-10-14  Hong Xu  <hong@topbug.net>

	counsel.el (counsel-dired): Filter to directories only

	Allow `counsel-find-file' to accept a file with its type limited to 
	regular files or directories.

	It also enables more features in ivy in a directory selector in the 
	future than `read-directory-name' (e.g., #1646).

	Fixes #2275

2019-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Bind "M-o R" to find-file-read-only

	Fixes #2236

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Make more generic

	* ivy.el (ivy-occur): Call the occur function with ivy--old-cands.
	(ivy-occur-revert-buffer): Call the occur funciton with nil.
	(ivy-switch-buffer-occur): In case nil was given, rescan the buffer list
	for candidates.
	(ivy--occur-default): Extract. The current null-cands logic is a bit 
	pointless, since if it was a list there's no way it changed; and if it 
	was "obarray", it's the old version of it, also unchanged.

	Maybe rewrite functions that have the "obarray" as collection to receive
	"'obarray" instead. So that we can revert using the new version of
	"obarray".

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--occur-insert-lines): Simplify

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Simplify

	Re #2203

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Don't error if the swiper buffer was
	killed

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--occur-insert-lines): Extract

	* counsel.el (counsel-grep-like-occur): Re-use
	`swiper--occur-insert-lines'.

	Re #2203

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-file-1): Use dired-current-directory for dired

	Fixes #2274

2019-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format): Improve docstring

	Re #2263

2019-10-12  Brian Leung	 <leungbk@mailfence.com>

	counsel.el (counsel-imenu-action and -get-canditates-from): Revert.

	`imenu` is preferred over `goto-char` since the latter doesn't work in 
	pdf-tools buffers, and doesn't auto-expand parents of hidden Org 
	subtrees that get visited.

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Clean up obsolete aliases

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-sort-file-function-using-ido): Make obsolete

	* ivy.el (ivy-sort-functions-alist): Extend :type.

	Re #498

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	.github/FUNDING.yml: Add github

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Add :exit-codes

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Add :height

	* counsel.el (counsel-el): Fixup.
	(counsel-yank-pop-height): Remove obsolete alias after 4 months.

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial-or-done): Work with completion-cycle-threshold

	Fixes #2225

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-imenu-action): Handle nil case

	In case there is no match, and :update-fn is 'auto, it will call the 
	action with nil.

	The action is called with nil, so that functions like
	`swiper-isearch-action` can clean up.

	Re #2188

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-imenu): Work with :update-fn 'auto

	* counsel.el (counsel--imenu-candidates): Extract.
	(counsel-imenu-get-candidates-from): Return a proper alist.
	(counsel-imenu-action): Simplify.

	* ivy.el (ivy-read): Detect alist for :update-fn 'auto.

	Fixes #2188

2019-10-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-symbol): Should not show up in counsel-M-x

	* counsel.el (counsel-M-x): Filter out symbols that have the
	 'no-counsel-M-x property.

	Fixes #2270

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Add :format-fn

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Don't sort by default

	We don't sort anyway if smex or amx are installed. The user can now turn
	the sort back on with `ivy-configure'.

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Add :sort-fn

	* ivy.el (ivy-completing-read):
	(ivy-completion-in-region): Don't sort by default.

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-press-update-window): Re-use
	ivy-highlight-grep-commands

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--grep-last-pos): Refactor from
	counsel-grep-last-line

	It's only used in `counsel-grep-action' now, instead of 2 other places.

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep): Add :require-match

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-inhibit-action): Clean up docstring

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Re-use ivy-highlight-grep-commands

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Re-use ivy-highlight-grep-commands

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Add :grep-p

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Add :display-transformer-fn

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format): Set case-fold-search

	Fixes #2226

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Set case-fold-search

	Re #2226

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--action): Set case-fold-search

	Re #2226

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Fix conflict an existing read-key session

	Fixes #2230

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): Use for ivy-index-functions-alist

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Use ivy-configure :unwind-fn

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--alist-set): Work-around emacs-24.3 not having alist-get

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-switch-buffer): Re-use ivy-switch-buffer

	* ivy.el (ivy-unwind-fns-alist): New defvar.

	Reduce code duplication by having `counsel-switch-buffer' become a 
	customized `ivy-switch-buffer'.

	Re #1895

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-configure): New function to configure many things at once

	- Reduce the amount of times `CALLER' has to be mentioned
	- Reduce the amount of times "counsel" appears in ivy.el

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-update-fns-alist): New defcustom

	Fixes #2188

2019-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--py-action): Don't auto-insert parens

	Fixes #2229

2019-10-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Fix searching for "$^"

	Re #2232

2019-10-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--query-replace-setup): Fix "^$" issue

	When the match length is 0, `forward-char' so that the while loop is not
	stuck.

	Fixes #2232

2019-10-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-google-function): Require json

	Re #2269

2019-10-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--exhibit): Handle ivy--reset-state initial call

	It may set `ivy--all-candidates' to 0.

	Set `ivy--old-re' to nil, so we get highlighting with
	`ivy--highlight-default'.

	Re #2263

2019-10-10  Brian Leung	 <bkleung89@gmail.com>

	ivy.el (ivy-completion-in-region-action): Use declare-function.

	Re #2234

2019-10-10  Brian Leung	 <bkleung89@gmail.com>

	counsel.el (counsel-slime-repl-history): Add.

	ivy.el (ivy-history-contents): Accommodate sequences.

2019-10-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-google-function): Add missing require

2019-10-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-google-function): Use request in async mode

	Re #2263

2019-10-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-google): Add

	It relies on a sync version of `request' for now.

2019-10-09  Hong Xu  <hong@topbug.net>

	Nicer message when counsel-git-grep finds no match

2019-10-08  Mitchell Plamann  <mplamann@janestreet.com>

	Make ivy--magic-file-slash less aggressive

	In counsel-find-file, when the user types "foo", selects the prompt, and 
	presses "/", the result should be "foo/".

	If the directory "foobar" exists, but "foo" does not, typing "foo", 
	selecting the prompt, and pressing "/" results in "cd"ing to "foobar"
	(assuming ivy-magic-slash-non-match-action is
	'ivy-magic-slash-non-match-cd-selected). This commit changes 
	ivy--magic-file-slash to check that the prompt is not selected before 
	performing the ivy-magic-slash-non-match-cd-selected action.

	Fixes #2240

2019-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Works with ivy--regex-fuzzy

	`ivy-occur' works as well.

	Fixes #2243

2019-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-occur): Re-use counsel-grep-like-occur

2019-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Add workaround for
	package-menu-filter

	Fixes #2244

2019-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-evil-registers-height): Remove obsolete var

	The customization is done via `ivy-height-alist'.

	Fixes #2221

2019-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Update GFDL license to no Invariant Sections

	Re #2187

2019-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-action-copy): Add and bind to "M-o w"

	Re #2260

2019-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x-transformer): Handle read-only strings

	Re #2258 Fixes #2262

2019-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Change args order so counsel-cd works

	Fixes #2261

2019-10-07  Hong Xu  <hong@topbug.net>

	counsel.el (counsel-cd): Fix for counsel-ag

	Fix (completely broken) `counsel-cd' for `counsel-ag'.

	Re #2261

2019-10-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-package): Refresh contents automatically

	In case any of "archive-contents" files is older than 4 hours, call
	`package-refresh-contents'.

2019-10-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-file-stale-p): Extract

2019-10-05  Roey Darwish Dror  <roey.ghost@gmail.com>

	Add actions to counsel-switch-buffer

	Fixes #2233

2019-10-05  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel-M-x: Propertize names of active modes.

	* counsel.el (counsel-active-mode): new face.
	(counsel-M-x-transformer): propertize names of active modes.

	Fixes #2189 Fixes #2258

2019-10-05  Hong Xu  <hong@topbug.net>

	Add key binding to allow switching directory in counsel-git-grep

	Sometimes we just wanna search a subdir in a git repository.

	Fixes #2259

2019-10-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur): Set up next-error-function

	Re #2257

2019-10-05  Nathan Moreau  <nathan.moreau@m4x.org>

	swiper.el (swiper-occur): Use ivy-occur-next-error

	* ivy.el (ivy-occur-next-error): Add.

	This change ensures that next-error and previous-error work for swiper
	even for buffer that do not visit a file.

	Fixes #2257 Fixes #1354

2019-10-05  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy-occur: setup for next-error.

	* ivy.el (ivy-occur): set next-error-last-buffer.

	This change allows to use next-error and previous-error as a replacement
	for ivy-occur-toggle-calling, ivy-occur-next-line and 
	ivy-occur-previous-line.

	For example with next-error and bound to M-n and M-p:

	- "C-h f" (`describe-funtion')
	- "run" (`self-insert-command')
	- "C-c C-o" (`ivy-occur'); "C-o u" also works.
	- "M-n M-n M-n M-k M-k M-k"

2019-10-03  SAITOU Keita  <keita44.f4@gmail.com>

	counsel.el (counsel-mark-ring): Fix highlight line of selected candidate

2019-10-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-mark-ring): Goto actual point instead of line

	Re #2254

2019-10-03  SAITOU Keita  <keita44.f4@gmail.com>

	counsel.el (counsel-mark-ring): Add customize variable to sort or not

2019-10-02  SAITOU Keita  <keita44.f4@gmail.com>

	counsel.el (counsel-mark-ring): Add the latest mark to selection

	The mark-ring has the list of saved former marks. So, it does not have
	the latest mark. The latest mark is held by mark-marker. This change add
	the latest mark to counsel-mark-ring selection.

	Fixes #2252

2019-10-01  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): favour project root over default-directory

	The counsel-compile--current-build-dir variable is set if we ever 
	descend into a build directory. However sometimes the user might want to
	build in the top level, for example QEMU's docker build targets are 
	independent of configured builds. In this case default-directory is a 
	poor choice if you are calling from a file somewhere deep in the source
	tree, especially as we have a function to find the root.

2019-10-01  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): delete duplicates

2019-10-01  SAITOU Keita  <keita44.f4@gmail.com>

	counsel.el (counsel-mark-ring): Refactor for reducing nested let

	Fixes #2237

2019-10-01  Wilfred Hughes  <me@wilfred.me.uk>

	Respect counsel-describe-function-function from counsel-M-x

	This enables users to overide the describe function for counsel-M-x, to
	use packages like helpful.

	See discussion in https://github.com/Wilfred/helpful/issues/218

2019-09-30  Iku Iwasa  <iku.iwasa@gmail.com>

	ivy-hydra.el: Use ivy-read-action-by-key in hydra-ivy

	Fixes #2250 Fixes #2239

2019-09-19  Justin Burkett  <justin@burkett.cc>

	ivy.el (ivy--regex-ignore-order): Fix docstring

2019-08-30  Eder Elorriaga  <gexplorer8@gmail.com>

	counsel.el (counsel-fonts): Add

	Fixes #2220

2019-08-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (ivy-dispatching-done-hydra): Fix for ivy-resume

	Modify the action list non-destructively, by just chaning the initial 
	index. This way, when `ivy-resume' is called, the action list has the 
	same functions.

	Fixes #2195

2019-08-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--rg-targets): Adjust for ivy-occur buffers

	When nothing is selected in an ivy-occur buffer (of e.g. `counsel-git' 
	or `counsel-find-file'), select all files in that buffer. That's not the
	same thing as all files in the current directory.

2019-08-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg): When in dired, operate on marked files

2019-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el: Turn two tests back on

	The reason why they were failing is that they require `ivy-mode' to be 
	on, and ERT runs tests in a random order. So previously these tests were
	not failing because a previous test turned `ivy-mode' on.

	Fixes #2215

2019-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el: Update

2019-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-test-inhibit-message): Add

2019-08-25  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy-test: Fix tests using file names on Windows

	Fixes #2217

2019-08-25  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy-test.el (counsel-yank-pop): Fix on Windows

2019-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-test-run-tests): Fix

	Re #2215

2019-08-25  Nathan Moreau  <nathan.moreau@m4x.org>

	Lazy load ffap

	find-file-at-point is a heavyweight dependency (in terms of load time),
	which is rarely used. It happens to pop near the top of the slowest
	packages to load when benchmarking my config, because of the
	(require 'ffap) in ivy.

	This commit delays the load when needed.

	Fixes #2215

2019-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Document the marking feature

	Re #2214

2019-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Add more recommended key bindings

2019-08-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Fix "C-M-n" description

2019-08-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-previous-line-and-call): Fix typo

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-action): Check re-search-forward

	Re #2209

2019-08-22  Campbell Barton  <ideasman42@gmail.com>

	Place cursor at the begging of matches (for grep)

	The cursor was being placed after the matches, adding an extra step if 
	you need to operate on the word, after opening the file with a match.

	Fixes #2209

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--handle-directory): Extract

	* ivy-test.el (ivy--handle-directory): Add test.

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Inhibit distracting TRAMP message for
	/sudo::

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Handle "/ C-j" on remote

	Fixes #2205

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc: Add full text of licences

	Fixes #2206

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg-base-command): Remove "-S" flag

	Ivy will add "-i" appropriately, based on
	`ivy-case-fold-search-default'.

	Fixes #2204

2019-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Fix docstring

	The ACTION arg is a cons cell for an alist COLLECTION.

	Fixes #2201

2019-08-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--partial-cd-for-single-directory): Extract

	And use ivy--re-filter

2019-08-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Use ivy--filter in place of all-completions

	Fixes #2199

2019-08-21  Amos Bird  <amosbird@gmail.com>

	Check if ivy--done is accepting a string.

	Some ivy commands (e.g. swiper-isearch) provide an int instead of a 
	string. It won't work when the integer value is larger than unicode 
	which cannot be converted to a char.

	``` Debugger entered--Lisp error: (wrong-type-argument char-or-string-p
	5557661)
	 ivy--done(5557661)
	 ivy-done()
	 funcall-interactively(ivy-done)
	 call-interactively(ivy-done nil nil)
	 command-execute(ivy-done)
	 read-from-minibuffer(...)
	 ivy-read(...)
	 swiper-isearch()
	```

	Fixes #2200

2019-08-21  Muir Manders  <muir@mnd.rs>

	ivy.el (ivy-immediate-done): Fix parent dirs for read-directory-name

	When selecting a directory, if you removed elements from the default 
	directory (e.g. by pressing DEL) and then used ivy-immediate-done, you 
	were getting back the starting directory instead of the ancestor 
	directory.

	Fixes #2165 Fixes #2198

2019-08-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-return-list): Works with or without "./"
	prefix

	Fixes #2196

2019-08-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--yank-handle-case-fold): Add

	Fixes #2194

2019-08-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dollars): Remove

	Fixes #2187

2019-08-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-restrict-to-matches): Fix for ivy-resume

	Thanks @ambihelical

2019-08-09  Alex Branham  <alex.branham@gmail.com>

	counsel.el (counsel-compile-env-pattern): Fix regex typo

	Fixes #2193

2019-08-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Don't rely on subr-x

	Mkaes the tests fail on 24.3.

2019-08-07  Takaaki ISHIKAWA  <takaxp@ieee.org>

	ivy.el (ivy-pre-prompt-function): Add

	Fixes #2185

2019-08-07  Clemens Radermacher	 <clemera@posteo.net>

	Use file-name-at-point-functions for file commands

	Fixes #2181 Fixes #2184 Re #1446

2019-08-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Fix trailing space issue

	When `ivy-text' was "foo bar ", `parts' becomes '("foo" "bar"), and
	`new' becomes "bar ", which is different from the last element of
	`parts'. This is now detected.

	Fixes #2103

2019-08-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	Remove obsolete aliases older than one year

2019-08-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer): Clean up

	`this-command' was used in place of :caller before it was introduced.
	Clean it up now.

2019-08-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x-action): Extract

2019-08-03  Marat Safin	 <jeizsm@gmail.com>

	counsel.el (counsel-major): Add

	Fixes #378

2019-08-02  Justin Burkett  <justin@burkett.cc>

	Add counsel-buffer-or-recentf

	Lists buffers visiting files (highlighted) then the recentf file list.

2019-08-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg-base-command): Don't include directory on
	non-Windows

	Fixes #2180 Re #795

2019-08-01  Troy Hinckley  <t.macman@gmail.com>

	Restore use-ignore setting on ivy-resume

2019-08-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-show-after): Check window height better

	Check if there are at least `ivy-height' lines available below point in
	the current winodow. If not, scroll the current window enough to make
	them available.

	Fixes #2161

2019-08-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--re-builder): Fix symbol bounds with
	char-fold-to-regexp

	With this setting:

	    (setq search-default-mode #'char-fold-to-regexp)

	and the input "\_<symbol-name\_>", prevent the symbol bounds from being
	quoted by `char-fold-to-regexp'.

	* ivy-test.el (swiper--re-builder): Add test.

	Fixes #2177

2019-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read-action-ivy): Show the selected item in the prompt

2019-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read-action-ivy): Don't recur

2019-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--input): Fix for ediff

	With M-x `ediff', `line-end-position' returns e.g. 81 when it should
	return 82 instead. To fix it, set `inhibit-field-text-motion'.

	Fixes #2175

2019-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read-action-function): Allow to read actions using Ivy

	Fixes #2176

2019-07-30  David Ringo	 <davidmringo@gmail.com>

	counsel.el (counsel-find-file-mkdir-action): make parents too

2019-07-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--file-name-filter): Return "cat" on empty input

	"ag" errors on empty input.

2019-07-26  gusbrs  <19410606+gusbrs@users.noreply.github.com>

	Allow virtual-buffers customization

	Allow to choose between recent files, bookmarks or both to compose 
	ivy-switch-buffer's virtual-buffers.

	Fixes #2169 Fixes #2172

2019-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-restrict-to-matches): Work for dynamic collection

	Re #2168

2019-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Run ispell-comments-and-strings

2019-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Run ispell-comments-and-strings

2019-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Run ispell-comments-and-strings

2019-07-26  Yusuke Matsubara  <whym@whym.org>

	Fix typo: 'beggining'

2019-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-tilde-directory): Use "~~" to move to local home

	Doing "/ RET ~" still works, but is too cumbersome.

2019-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-press-update-window): Don't error if buffer was
	killed

	The fall-back is still good enough.

2019-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-recenter-top-bottom): Works for swiper-isearch

2019-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--current-window-start): Refactor

	Is now set to value and read only in one place. Set to nil in two other
	places.

2019-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--maybe-recenter): Refactor

2019-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Fix scroll on RET

	Re #2159

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-return-list): Re-use counsel--call

	* counsel.el (counsel--command): Now forwards to `counsel--call'.
	(counsel--call): Remove obsolete alias. Introduce as a generalization of
	`counsel--command'

	Re #2120

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-file-jump-args): Is now a list

	* counsel.el (counsel-dired-jump-args): Now a list. Removing the single
	quotes around '.git' breaks user's config anyway. A user warning about
	the new format is added.

	(counsel--find-return-list): Simplify. Use `process-file'. TODO: merge
	this with `counsel--command'.

	Re #2120

2019-07-24  Philip K  <philip@warpmail.net>

	counsel (counsel-file-jump): Use temp buffer instead of split-string

	counsel (counsel-dired-jump): Use temp buffer instead of split-string

	counsel (counsel-{file,dired}-jump): Avoid nbutlast

	counsel (counsel-{file,dired}-jump): Factored out common code

	Fixes #2120

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-immediate-done): Fix for when "C-j" changed cwd

	* ivy-test.el (ivy-read-directory-name): Add test.

	Fixes #2165

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-read-file-name-make-directory): Add

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-read-file-name-in-buffer-visiting-file): Passes

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-at-git-issue-p): Add vc-git-log-view-mode

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-swiper-wgrep): Expect fail on <=24.3

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	Makefile (deps): Add target

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-swiper-wgrep): Add test

	Re #2156

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--occur-cands): Fix wgrep

	Didn't work before because every line had one extra space.

	Fixes #2156

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Fix for ivy-occur

	This reverts commit b9f3e3b1c52a6630e1499cea7bab7f9cef4bb5c6.

2019-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-immediate-done): Add copy-sequence to fix
	read-directory-name

	`read-directory-name' returns "" when the completion function passes it
	back the DEF argument. This is a highly questionable behavior that some
	old functions depend on.

	Looks like it's better to break those old functions, rather than break 
	the more important functions that have no idea why
	`read-directory-name' returns "".

	* ivy-test.el (ivy-read-file-name-in-buffer-visiting-file): Now fails.
	(ivy-read-directory-name): Add test.

	Fixes #2165 Fixes #2149 Re #1170

2019-07-24  Muir Manders  <muir@mnd.rs>

	swiper-isearch: Fix regexes in "ignore-order" case

	Don't use regexp-opt since that escapes regexes. Instead, escape invalid
	regexes and just join each aprt on "|".

	Fixes #2164

2019-07-24  Muir Manders  <muir@mnd.rs>

	swiper.el: Fix overlay faces using regex-ignore-order

	regex-ignore-order operates using a list of regexps.
	swiper--update-input-ivy loops over each regexp, but when
	swiper--add-properties is called we have forgotten which regexp we are
	adding the overlay for, so it uses the first match face for all matches.
	Now we pass along a "re-idx" argument that indicates the index of the
	regexp being considered. swiper--add-properties gained logic to choose
	the face corresponding to this index.

	Fixes #2162

2019-07-23  Muir Manders  <muir@mnd.rs>

	Fix swiper--isearch-filter-ignore-order return value

2019-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--input): Fix point moving in TRAMP sessions

	If the key-by-key input from user is fast, sometimes the output from 
	TRAMP comes in and moves the point, which made `ivy-text' longer than 
	one line. This change should fix it.

	Fixes #2160

2019-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-last-command): Add for ease of debugging

2019-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-last-error-string): Add for ease of debugging

	Re #2160

2019-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Simplify

2019-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Make ivy-previous-line-or-history
	work

	Fixes #2158

2019-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-filter-ignore-order): Extract

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Don't store line number as a string

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper-thing-at-point): Add and fix test

	Fixes #2157

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-function): Works for ivy--regex-ignore-order

	Fixes #2155

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-next-item): Extract

	Re #2154 Re #2155

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--trim-trailing-re): Add

	* swiper.el (swiper--isearch-function): Make use of
	`ivy--trim-trailing-re'.

	Re #2155

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-function): Refactor

2019-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-function-1): Extract

2019-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--preselect-index): Fix ivy-resume for swiper-isearch

	Fixes #2153

2019-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-resume): Select original buffer for search functions

2019-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Fix for ivy-resume

	Re #2154

2019-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix ivy-resume

	`ivy-text' is reset to "", but `ivy-resume' passes in `initial-input'.

2019-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Fixup

2019-07-21  Brian Leung	 <bkleung89@gmail.com>

	swiper.el (swiper--isearch-function): Change.

	Having point before the last "o" in "dodo", as in "dod|o", should hop to
	the beginning of the string upon entering "do" as the regexp.  This is
	because when searching backward, the (match-end) of the match to which
	we hop should not cross the starting point of the search.  When changing
	the search string from "do" to "do?", we hop back to the second
	occurrence of "do", since "do?" can match the second "d" taken in
	isolation.

2019-07-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Makefile: Add target to install the info pages

	Re #697

2019-07-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Release 0.12.0

2019-07-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-prompt): Adjust ivy-use-selectable-prompt

	When there are no matches, there's no need to highlight the prompt. This
	results in less visual distraction, and is consistent with the behavior
	of having `ivy-use-selectable-prompt' off.

2019-07-20  Joel Rosdahl  <joel@rosdahl.net>

	Increase swiper-isearch cursor overlay priority

	Otherwise the swiper match overlays will make the cursor disappear.

	Fixes #2151

2019-07-19  Andrew Schwartzmeyer  <andrew@schwartzmeyer.com>

	ivy-test.el (swiper-isearch-backward): Test match at point

	* swiper.el (swiper-isearch): Move the point history by 1 so that we
	 don't select the match that's right at point.

	`isearch-backward` never selects a match at the point, it always goes to 
	the first match before the point. This test demonstrates the expected 
	behavior.

	Fixes #2150

2019-07-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--shorter-matches-first): Add and use for
	ivy-completion-in-region

2019-07-18  Brian Leung	 <bkleung89@gmail.com>

	counsel.el (counsel-git-log-show-commit-action): Fix match end.

	Something like "2c4e894... (refs/pullreqs/4638)" now gets cut off at the
	space, instead of the newline character.

2019-07-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Use swiper-action-recenter

	Fixes #2146

2019-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper-isearch-backward): Goto old match on DEL

	* ivy-test.el (swiper-isearch-backward-backspace): Add test.

	Fixes #2125

2019-07-17  Andrew Schwartzmeyer  <andrew@schwartzmeyer.com>

	swiper.el (swiper-isearch-backward): Add backward search

	- Sets the first candidate before the point instead of after the point
	- Meant to be used on `C-r` like `swiper-isearch` on `C-s`
	- This searches in reverse in comparison to `swiper-isearch` in order to
	 handle the placement of the point properly.

	ivy-test.el (swiper-isearch-backward): Add new tests

	- Note explains the discrepancy in behaviors.

	Fixes #2125

2019-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sort): Higher priority for ivy-sort-matches-functions-alist

	Fixes #2136

2019-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sort): Simplify

	We should look at only `ivy-state-caller'. The direct calls to
	`ivy-read' already have it. And `ivy-completing-read` sets it up for
	`ivy-read' in the same way.

2019-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-immediate-done): Improve make-directory

	1. Don't modify (ivy-state-def ivy-last). 2. "C-M-j" with no input
	should return (ivy-state-def ivy-last). 3. Update the test, since
	`read-file-name-default' will detect that the same (eq) string was
	returned and return "" instead of the file name. 4. Add a test that
	`ivy-read' actually returned the file name.

	Re #1170 Re #1719 Fixes #2139

2019-07-16  Joel Rosdahl  <joel@rosdahl.net>

	Add counsel-grep-backward and counsel-grep-or-swiper-backward commands

	Fixes #2132

2019-07-16  Joel Rosdahl  <joel@rosdahl.net>

	Add swiper-backward command

	Fixes #1172.

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Fix RET -> C-j

	Fixes #2143

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--avy-goto): Fix for a small amount of cands

	Re #2134

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--avy-goto): Works for swiper-isearch

	Here `count-lines' is a bit of a `swiper-isearch' specific hack, since 
	it has its own format function.

	Fixes #2134

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--git-log-format-function): Add

	Fixes #2133

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-async-ignore-re-alist): Extract

	* counsel.el (counsel-async-ignore-re): Obsolete.

	Re #2133

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-async-split-string-re-alist): Extract

	* counsel.el (counsel-async-split-string-re): Obsolete.
	(counsel-git-log-split-string-re): Obsolete.

	Re #2133

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--split-string): Extract

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Stay on the same line

2019-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Add :group for faces

	Re #2135

2019-07-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-format-functions-alist): Fix defcustom type

	* ivy.el (ivy-completing-read-handlers-alist):
	(ivy-display-functions-alist): Fix type.

	Fixes #2130

2019-07-15  Joel Rosdahl  <joel@rosdahl.net>

	Fix ivy-previous-line-or-history

	Fixes #2137 Fixes #2138

	Note also that this reverts the fix in #1137.

2019-07-15  Brian Leung	 <bkleung89@gmail.com>

	counsel.el (counsel-git-log): Add additional action.

	counsel-git-log-show-commit-action uses Magit to visit the commit 
	corresponding to the currently selected log entry.

	Fixes #2129

2019-07-15  Brian Leung	 <bkleung89@gmail.com>

	counsel.el (counsel-git-log-split-string-re): Change.

	Splitting with the newline character fails to chop off the first 
	occurrence of "commit".

2019-07-15  AmaiKinono	<amaikinono@gmail.com>

	Add autoload for various commands

	Fixes #2131

2019-07-09  Manuel Uberti  <manuel.uberti@inventati.org>

	Fix minor typo

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper--re-builder-char-fold): Split away

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Fix swiper-query-replace not working

	Need to return (ivy-state-current ivy-last) from that specific point, 
	since later `ivy-last' changes to the outer one of `swiper'.

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Fix bad refactor

	Don't move out (setq ivy-last ...) out of the let block. It first needs
	to be captured by `ivy-recursive-last'.

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper--re-builder): Add test

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--re-builder): Improve for char-fold-to-regexp

	- Capture each part into a group
	- Set `ivy--subexps' so that each match group is highlighted
	- Switch from greedy to non-greedy

	* swiper.el (swiper--delayed-add-overlays): Use
	 `swiper--positive-regexps' so that `swiper-isearch' highlighting
	 works better.

	Fixes #2124

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--positive-regexps): Extract

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Add more info on TRAMP

	Re #1487

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-tilde-directory): Cd remote "~" on "~"

	Fixes #1487

2019-07-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-doubleslash-directory): Cd remote "/" on "//"

	Re #1487

2019-07-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Simplify

2019-07-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Simplify

2019-07-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Refactor

	Move setq outside of let.

2019-07-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--cleanup): Extract

2019-07-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-cleanup): Rename from ivy--cleanup

2019-07-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Refactor

2019-07-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Factor out transformer-fn

	Don't look at `collection' as key. `caller' is already set to it by
	`ivy-completing-read'.

	Re #2121

2019-07-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--compute-extra-candidates): Extract

	Re #2121

2019-07-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--compute-extra-actions): Extract

	Re #2121

2019-07-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-kill): Move from "C-c C-k" to "C-k"

2019-07-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--recompute-index-inhibit): Add

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-cursor-overlay): Avoid a very wide cursor on tab
	chars

	It's still not the full solution:

	    (insert "FOO\tasdfasdfasdfasfasdfffoo\tend")

	Looking for the second "oo", the added space char will result the tab to
	expand from 1 char to the full 8 chars.

	But `whitespace-mode' does this as well, so I assume the solution is not
	trivial.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-reverse-i-search): Error when called from top-level

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-reverse-i-search): Don't call another ivy-reverse-i-search

	If you're already in reverse-i-search, doesn't make sense to go in 
	deeper.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--browse-history): Better prompt

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--browse-history): Allow to remove elements with
	"C-k"

	* ivy.el (ivy-history-contents):
	(ivy-reverse-i-search-kill): Extend to rings.

	* counsel.el (counsel--browse-history): Set :keymap and use
	 `ivy-history-contents'.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Fix outlines getting over-revealed

	* swiper.el (swiper-isearch-action): The change to
	 `isearch-range-invisible' params is important here.
	(swiper-isearch): Clean up the overlays here, instead of in
	`swiper--cleanup'.

	Expected behavior after the fix: all outlines that were revealed are 
	closed, either on finish or on abort. The exception is the outline that
	contains the point.

	Fixes #2119

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Improve when window config changed

	Scenario:

	1. In a window, `swiper-isearch' for something and `ivy-occur'. 2. Now
	there are 2 windows. Select some other buffer in the original window. 3.
	Switch to *ivy-occur* and press "f".

	- before: ivy's confused and goes to some line number in the wrong
	buffer
	- after: ivy restores the attached buffer to the window where it was

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-setup): Set line-spacing to nil in the
	minibuffer

	Fixes #2118

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--setq-doconst): Fix compiler warning

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-reverse-i-search-kill): Add and bind to "C-k"

	You can now remove history elements after you press "C-r" in Ivy. Just
	press "C-k" from end-of-line.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-expression-history): Remove obsolete command

	Use `counsel-minibuffer-history' instead.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-shell-command-history): Remove obsolete command

	Use `counsel-minibuffer-history' instead.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox): Add :require-match

	Unfortunately, there's no option to download or invent a song if a name
	is selected that's not on the library list.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-set-variable): Better annotations for options

	* counsel.el (counsel--setq-doconst): If the option is e.g.

	    (const :tag "Dotfiles and Lockfiles"
	"\\(?:\\`\\|[/\\]\\)\\(?:[#.]\\)")

	Then display:

	    Dotfiles and Lockfiles: \(?:\`\|[/\]\)\(?:[#.]\)

	Instead of previous:

	    \\(?:\\`\\|[/\\]\\)\\(?:[#.]\\)

	Also, if the option's value is nil, but a :tag is present, display the 
	option.

2019-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-ignore-regexp): Add lockfiles to dotfiles

	Fixes #2117

2019-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (ivy-dispatching-done-hydra-exit-keys): Extract

2019-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-extern-extensions): New defcustom

	Allows us to press "RET" instead of "M-o x" like we did before.

2019-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-setup): Avoid extra call to ivy--exhibit

	When debugging, `ivy--exihibit' was called twice after the inital
	`ivy-read'. Maybe the call in `ivy--minibuffer-setup' isn't needed after
	all.

	Let's remove it for now. No existing tests break. If something breaks, 
	we'll add a new test.

2019-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dotfiles): Fix

	The test was failing because a directory was missing from Git.	I 
	thought it was added, since the worktree showed up clean, but the 
	directory was empty, that's why Git was ignoring it.

	ivy-test.el (counsel--setup-test-files): Update

2019-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	.travis.yml: Add emacs-25.3 and emacs-26.2

2019-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-avy): Only run if avy is installed

2019-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Allow to scroll with "C-v" and "M-v"

	Fixes abo-abo/avy#276

2019-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Fix when there's a scroll

	* ivy.el (ivy--avy-action): Fix.

	* ivy-test.el (ivy-avy): Add test.

	* elpa.el: Add so that avy can be loaded.

	* Makefile: Load elpa.el with "make test" and "make plain"

2019-06-29  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-open-buffer-file-externally): Cleanup

	According to #2111, it's better to use `(cdr virtual)` than `buffer`.

	Fixes #2115

2019-06-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--set-index-dynamic-collection): Extract

	Re #2112

2019-06-29  Ruin0x11  <ipickering2@gmail.com>

	Add ability to resume dynamic collections

	If `dynamic-collection' is set, Ivy will wait until the first chunk of 
	candidates has been received before selecting the preselected candidate.

	Fixes #1095 Fixes #2112

2019-06-28  Steven Degutis  <sbdegutis@gmail.com>

	Add ivy-switch-buffer-map to counsel-switch-buffer

	This is useful so that I can use C-c C-k to clean up my buffers (I
	actually have it rebound to just C-k in my config) within
	counsel-switch-buffer so I can use that instead of ivy-switch-buffer.

2019-06-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Obey search-invisible

	When `search-invisible' is nil, `swiper' and `swiper-isearch' will not 
	match hidden text (e.g. hidden Org outlines).

	Fixes #1739

2019-06-27  Damien Cassou  <damien@cassou.me>

	ivy.el (ivy--find-file-action): Fix for virtual buffers

	Fixes #2111

2019-06-27  zsxh  <bnbvbchen@gmail.com>

	Fix ivy-push/switch-view windows layout

2019-06-26  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-open-buffer-file-externally): New function

	Bind "x" when switching buffers to open associated file externally.

	Fixes #2108

2019-06-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-current-match): Remove unused face

	The face is obsolete since 7dc14452de5888ff6d6e703121242b7c71c83679.

	Re purcell/color-theme-sanityinc-tomorrow#131

2019-06-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): Use minibuffer-default for
	dired-dwim-target

	(setq dired-dwim-target t) is a nice productivity boost. Except for the
	situation when you want to copy the file to the current directory, and a
	different directory is preselected instead.

	When this happens, you can now press "M-n" to select the current 
	directory.

2019-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Return nil when comletion was not updated

	* ivy-test.el (counsel-find-file-with-spaces): Add tests.

	Fixes #2103

2019-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	.github/FUNDING.yml: Add

2019-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Make eval-style replacement more
	accessible

	For example, suppose in swiper.el, we want to rename:

	    (defTYPE swiper- to (defTYPE ivy

	where TYPE is (group, face, fun, var ...).

	1. `swiper-isearch' for "(def\sw+ swiper" 2. "M-q" to replace and "TAB"
	to get: "\,(concat \1 " " \2)" 3. Modify it to "\,(concat \1 " ivy")"

	Re #2096

2019-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Add query-replace-compile-replacement

	Fixes #2096

2019-06-25  adrianstaniec  <adrianstaniec@gmail.com>

	swiper.el (swiper-all-thing-at-point): Add

	Fixes #2106

2019-06-25  Zhu Zihao  <all_but_last@163.com>

	Add more information about the collection argument in `ivy-read`.

	For the hacking convenience.

2019-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--done): Press "RET" or "C-m" to create a directory

	Currently, `dired-create-directory' and `make-directory' are detected 
	via their prompt string. Not the best, but likely works 99% of the time
	as is less frustrating for new users.

2019-06-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-descbinds-function): Add

	Fixes #2091 Fixes #1876

2019-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-height): Remove

	Re #2104

2019-06-23  Sebastian Wålinder  <s.walinder@gmail.com>

	counsel-yank-pop-height is obselete and doesn't do anything

2019-06-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Allow char-fold-to-regexp

	Set:

	    (setq search-default-mode 'char-fold-to-regexp)

	And your search for "un" will also match "Günther".

	Fixes #2095 Re #622

2019-06-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Modify prompt for multi-isearch-buffers

	`multi-isearch-read-buffers' does this for `ido-read-buffer'. We have to
	do it on our own.

	Re #619

2019-06-22  SAITOU Keita  <keita44.f4@gmail.com>

	counsel.el (counsel-mark-ring): Add highlight by candidate

	Fixes #2078

2019-06-22  SAITOU Keita  <keita44.f4@gmail.com>

	counsel.el (counsel-mark-ring): Add preview by candidate

2019-06-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--multi-candidates): Simplify

	`swiper--all-format-function' does the formatting.

	Fixes #2101 Fixes #2102

2019-06-19  Brian Leung	 <bkleung89@gmail.com>

	counsel.el (counsel--file-name-filter): Move ignore-re binding.

	Closes #2094.

2019-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-insert-current-full): Add and bind to "C-M-y"

	* counsel.el (counsel-yank-directory): Make obsolete.

	Fixes #2092

2019-06-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fix org-indent-mode once
	more

	The trick is that the offset is different if we're at heading.

2019-06-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-thing-at-point): Improve

2019-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Bring back
	org-indent-mode logic

	This reverts commit 3cb9d72df0dad803d64623476ec3f9d4443052ca.

2019-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex): Match initial dot in the input as a literal dot

	This brings much more usability, e.g. enter ".org" to switch between 
	Org-mode files, ".el" for Elisp etc.

	* ivy-test.el (ivy--regex): Add test.

2019-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-sort-function-buffer): Unify prefix and star-prefix matches

	Results in a more consistent sorting behavior.

2019-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Don't use ivy-display-function

	Use `ivy-display-functions-alist' instead.

	Re #2089

2019-06-05  Feng Shu  <tumashu@163.com>

	ivy-display-function: obsolete this varible in favor
	ivy-display-functions-alist

	* ivy.el (ivy-display-function): make-obsolete ivy-display-function
	variable.
	(ivy--display-function): new variable.
	(ivy-display-functions-alist): defvar -> defcustom.
	(ivy-read, ivy--display-function-prop, ivy--insert-minibuffer): use
	ivy--display-function instead.

2019-06-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Add copy-sequence

	Prevent strings from being permanently highlighted.

2019-06-04  Chris Gregory  <czipperz@gmail.com>

	Add counsel-up-level command

	Fixes #1096

2019-06-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--line-at-point): Fix swiper-isearch in compilation
	buffers

	We need to remove the 'field text property. Normally, this is handled by
	`ivy--wnd-cands-to-str', but `swiper-isearch' discards the default 
	candidates window and uses it's own logic to build the window.

2019-06-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-format-functions-alist): New defcustom, obsoletes
	ivy-format-function

	Fixes #2083 Fixes #2084

2019-05-30  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Do not insert initial input if nil

	An example where this occurs:

	1. Start counsel-find-file; 2. Go to root and choose to SSH somewhere;
	and 3. When prompted with available hosts, cancel.

	Fixes #2086

2019-05-30  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-help): Hide Org markup buffer-locally

	Fixes #2085

2019-05-29  Pengji Zhang  <me@zhangpj.name>

	ivy.el (ivy-read-action): Fix

	Fix a bug introduced in #2079, which made action dispatching stop 
	working because those commands rely on the return value of
	`ivy-read-action'.

	Fixes #2082

2019-05-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix compiler warning

2019-05-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-highlight-delay): New defcustom

2019-05-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Fix typo bug

2019-05-28  Andrew Whatson  <whatson@gmail.com>

	ivy.el (ivy--recompute-index): Use configured flx candidate limit

	Replace hard-coded candidate limit with the existing customizable 
	variable. This allows people with fast machines to opt-in to 
	full-featured sorting.

2019-05-27  Andrew Whatson  <whatson@gmail.com>

	ivy.el (ivy--highlight-default): Use single face for adjacent groups

	This improves highlighting for fuzzy matches by using a single face for 
	adjacent groups.

	Fixes #2080

2019-05-27  Andrew Whatson  <whatson@gmail.com>

	ivy.el (ivy--highlight-default): Handle unmatched groups

	It's possible for a regex to have subexpressions which aren't matched, 
	and therefore have a nil beginning and end. These were raising an error 
	which aborted the highlight pass before it was finished.

2019-05-27  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--find-build-subdir): Simplify

	Re: #2077

2019-05-27  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Pacify byte-compiler

	Re: #2074

2019-05-27  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix a couple of typos

	(counsel-company): Use proper English in prompt.
	(counsel-compile--current-build-dir): Fix typo in docstring.

2019-05-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): Rely on company-prefix if company-common
	is nil

	Fixes #2074

2019-05-27  Jiajian Huang  <wherejoystarts@gmail.com>

	Shrink ivy window after read action.

	Fixed for OCD :)

2019-05-23  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): track build dir for the benefit of M-i

	We can't recover the current build directory when the user invokes M-i 
	so let's track it in a variable. The user still has to delete the extra
	verbiage but at least won't be surprised about where the command is run.

	Fixes #2077

2019-05-23  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): nreverse recent history

	This ensures the most recent history items appears first on the 
	suggestions list.

2019-05-23  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): better handling for
	counsel--get-build-subdirs

	It is possible the user might actually just have a single build 
	directory rather than a hierarchy. We can handle this case by simply 
	adding the probed directory to the list if we detect any non-directory 
	files in the directory. While we are at it we shouldn't be returning any
	non-directories so filter those out.

2019-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Fix missing line numbers

	Fixes #2076

2019-05-22  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-register-action): Tweak error

	Register names can be characters such as ?\C-n, so pretty-print them as
	register-preview-function would.

	Re: #2056

2019-05-22  Matthew Sojourner Newton  <matt@mnewton.com>

	counsel.el (counsel-register): Add

	Fixes #2056

2019-05-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Don't highlight the file name part

	Fixes #2073

2019-05-22  James Ferguson  <wjcferguson@gmail.com>

	Modify counsel-unicode-char's copy action to use actual result

	Fixes #2075

2019-05-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Add :multi-action arg

	Re #2068 Re #561

	Example:

	    (defun test ()
	     (interactive)
	     (ivy-read "test:" '("a" "b" "c")
		       :action
		       (lambda (x) (insert ":" x ":\n"))
		       :multi-action
		       (lambda (lst)
			 (insert (mapconcat #'identity lst ":") "\n"))))

2019-05-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-format): Fix permanent face modifications

	After `swiper-isearch', some comments ended up like this:

	    #("#* Imports"
	     0 1 (fontified
		  t
		  face
		  font-lock-comment-delimiter-face)
	     1 10 (fontified
		   t
		   face
		   (org-level-1
		    font-lock-comment-face
		    swiper-line-face
		    swiper-line-face
		    swiper-line-face)))

2019-05-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix compiler warnings

2019-05-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Modify the API for ivy-action second arg

	* ivy.el (ivy-call): The second arg in `ivy-action' must be called
	 "marked-candidades" in order to be recognized. This is to allow the
	 built-in functions such as `find-file-other-window' to be re-used as
	 actions. The function in question, `find-file-other-window', already
	 has 2 arguments, so it was mistaken for an action with the
	 marked-candidates logic.
	(ivy-mark): Document `marked-candidates'.

	Re #561 Fixes #2068

2019-05-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): Don't rely on company-point

	When `company--insert-candidate' to complete the common prefix, neither
	`company-point' nor `company-prefi' is updated. So we can't rely on
	them.

	Fixes #2071

2019-05-19  Iku Iwasa  <iku.iwasa@gmail.com>

	counsel.el (counsel-package-history): New history variable

2019-05-19  Iku Iwasa  <iku.iwasa@gmail.com>

	counsel.el (counsel-minor-history): New history variable

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Fix "C-r"

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Fix ivy-occur

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-format): Don't use blending for the current
	match

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Use the same faces in the minibuffer

	* swiper.el (swiper--isearch-highlight): Add.
	(swiper--isearch-format): Update.

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-function): Speedup for big files

	Collect only point positions, not the lines themselves.

	* ivy.el (ivy--remove-props):
	(ivy--format):
	(ivy--wnd-cands-to-str): Adapt to the case when the candidates aren't
	strings.

	Perhaps the call to `ivy--format-minibuffer-line' can be moved to
	`ivy-format-function'. This can result in a cleaner (and possibly more 
	flexible) code. But then every instance of `ivy-format-function' has to
	be rewritten to apply `ivy--format-minibuffer-line'.

	* ivy-test.el (swiper--isearch-format): Update.

	* swiper.el (swiper-isearch-action): Adapt.
	(swiper--line-at-point): Add.
	(swiper--isearch-format): Update.

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-properties): Extract

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-cursor-overlay): Display only in current window

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-line-overlay): Extract

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper--isearch-format): Add test

	* swiper.el (swiper-isearch-function): Extract.

	The test can be further improved by testing the string properties.
	However, it would become very verbose.

	Re #2069

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-format): Extract

	A more pure function, suitable for testing.

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-same-line-p): Add

	Fixes #2069

2019-05-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-function): Refactor

2019-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-other-window): Fix ivy-use-virtual-buffers

	Fixes #2067

2019-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Check for empty input

	Fixes #2066

2019-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--cleanup): Re-use lazy-highlight-cleanup

	Fixes #2064

2019-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Reorder by swiper--overlays

2019-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-overlays): Reuse swiper--add-overlay

2019-05-16  Jimmy Aguilar Mena	<kratsbinovish@gmail.com>

	swiper.el (swiper-isearch-toggle): Fix candidate jump in toggle

	Fixes #2065

2019-05-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region-action): Obey :exit-function

	Have `completion--done' obey the :exit-function logic for us. See
	`completion--do-completion'.

	Use case: the :exit-function in `eglot-completion-at-point' will erase 
	the inserted annotation, which holds e.g. the function argument list, 
	leaving only the function name.

2019-05-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-toggle): Extend doc

	Re #2061

2019-05-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-toggle): Add

	Fixes #2061

2019-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	swiper.el (swiper--avy-goto): Handle quit

	avy-read et al. can return values that do not correspond to particular
	candidates, such as the symbol 'exit'.	This is handled in avy-process,
	which sadly doesn't seem reusable in this case. Ideally, swiper-avy
	could reuse a higher-level avy API.

	Fixes #2062

2019-05-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-mc): Works for swiper-isearch

	Fixes #2058

2019-05-11  Manuel Uberti  <manuel.uberti@inventati.org>

	Add open in dired action to counsel-file-jump

	See: https://emacs.stackexchange.com/a/50414/5514

	Fixes #2057

2019-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--recenter-p): Extract

	Re #2059

2019-05-11  Jimmy Aguilar Mena	<kratsbinovish@gmail.com>

	swiper.el: Extra condition to recenter in terminal

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Ensure font lock

	The performance impact is minimal, since we don't do it for large
	buffers. For smaller buffers, it takes < 0.05s to font lock them.

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-current-match): Add

	Fixes #2034

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-format-function): Add

	Re #2034

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-index-bounds): Make pure

	* ivy-test.el (ivy--minibuffer-index-bounds): Add test.

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-index-bounds): Simplify logic

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix compiler warning

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-index-bounds): Extract

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-help): Reveal all Org contents

	Re #2021

2019-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-help): Set org-hide-emphasis-markers

	Re #2021

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag-function): Add dynamic case folding

	Make sure your `counsel-ag-base-command' or `counsel-rg-base-command' 
	doesn't include " -i ": it will be added autmatically based on your 
	input and `ivy-case-fold-search'.

	Fixes #1869

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur): Don't setq-local ivy--directory

	We have `ivy-state-directory' anyway.

	Fixes #1866

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-thing-at-point): Add symbol boundaries

	Use `undo' to cancel them.

	Fixes #2031

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-symbol-boundaries): Extract

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Don't offer virtual buffers for plain switch-to-buffer

	Fixes #839

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): Use company-prefix

	Fixes #2054

2019-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dollars): Adjust

2019-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper-isearch-case-fold): Add test

	Re #2039

2019-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-function): Obey ivy-case-fold-search-default

	Fixes #2039

2019-05-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-insert-current): Minor simplification

2019-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-insert-current): Insert text without properties

	"M-i" should be equivalent to the user typing out the inserted text, 
	i.e. without text properties.

	Re #2040

2019-05-07  Troy Hinckley  <t.macman@gmail.com>

	Fix grep-occur when using multi-pass re-builders

	Fixes #2033

2019-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-thing-at-point): Add

	Re #2027

2019-05-07  Masashi Miyaura  <masasam@users.noreply.github.com>

	swiper.el (swiper-thing-at-point): Add

	Fixes #2027

2019-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-symbol-at-point): Add

	Fixes #2025 Re #2029

2019-05-07  Andrew Whatson  <whatson@gmail.com>

	swiper.el (swiper-isearch): Support swiper-goto-start-of-match

	Fixes #2029

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-files): Re-use org-attach-dir

	Re #2042

2019-05-06  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): Don't squash default-directory

	We may not have defined a blddir, especially if the user has manually 
	entered the make invocation. If blddir is nil then just keep 
	default-directory as is.

	Fixes #2030

2019-05-06  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): Add predicate to counsel-compile-env

	This adds a simple predicate test to filter out bad entries from the 
	history as well as verify new entries being added to the environment.

2019-05-06  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): New counsel-compile-env helper

	This helper allows us to tweak counsel-compile-env. We don't use 
	separate actions. We either add the environment variable if it doesn't 
	already exist or remove it if it does.

	There is scope for better validation and dealing with setting ARCH=foo 
	when we have ARCH=bar in the environment already.

2019-05-06  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): Add counsel-compile-env

	A lot of builds can be influenced by environment variables. Compilation
	mode already has support for this by way of compilation-environment.
	This adds support for passing that down from counsel-compile. We will
	later add a counsel helper for manipulating the state of
	counsel-compile-env.

2019-05-06  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): Add helper for formatting text

	This aims to reduce the boilerplate with propertizing sections of the 
	compile text to which we are about to add more.

2019-05-06  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): Fix saving of blddir

	The movement of the (or blddir srcdir) form left us always storing 
	default directory. Fixes b180abf.

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.texi: Generate from doc/ivy.org

	With:

	$ make ivy.texi

	Re #2035

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Remove outdated magit customization

	See: 
	https://magit.vc/manual/magit/Support-for-Completion-Frameworks.html

	Fixes #2035

2019-05-06  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-org-file): Handle ATTACH_DIR property

	Also list attachments from directories specified with the ATTACH_DIR
	rather than the ID property.

	Fixes #2042

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): Add :caller

	Fixes #2051

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Adjust ivy-tab-space when one candidate

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-mkdir-action): Add trailing "/"

	Re #2053

2019-05-06  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-find-file): Improve copy and move actions

	Start the new filename completion from the directory of the file to copy
	or move instead of the initial directory from which counsel-find-file
	was called. Also adapt the prompt to the action (was not the case for
	the copy action).

	Fixes #2053

2019-05-06  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-find-file): Improve delete action with ivy-call

	Make ivy-call stay in directory and update minibuffer (previously it 
	would go back to the initial directory from which counsel-find-file was
	called).

2019-05-06  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-find-file): Improve mkdir action with ivy-call

	Make ivy-call cd into created directory.

2019-05-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy-overlay.el: Do not assume in-buffer completion

	(ivy-display-function-overlay): Pad to current-column when 
	ivy-completion-beg is unset.

	Fixes #2048 Fixes #2049

2019-05-06  4goodapp  <4goodapp@gmail.com>

	doc/ivy.org: Correct typo

	Fixes #2046

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recentf): Require match

	Re #2043

2019-05-06  mn1281  <mn1281@computer>

	Add counsel-descbinds-action-exec

	Fixes #2024

2019-05-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	Makefile: Clone tests/ if needed

	Re #2050

2019-05-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy-test.el: Use :expected-result

	(counsel-find-file-with-dollars, counsel-find-file-with-dotfiles): Use
	:expected-result in place of skip-unless, which was unfortunately only
	added in Emacs 24.4.

	Fixes #2050

2019-05-02  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy-test.el: Make friendlier

	Do not pass arbitrary text as first argument to message.  Do not clone
	remote Git repositories at toplevel.  Cloning repositories shouldn't be
	needed at all for the purpose of accessing test data, but even if it
	were, those commands belong in Makefile or similar, not at the test
	suite's toplevel.

	For discussion, see: 
	https://github.com/abo-abo/swiper/commit/7e735808e966d70340b5a2cef0430f913151d9b6 
	https://github.com/abo-abo/swiper/commit/fa87b977aecbc7ee5f3b77ddf94c6f040e17c348 
	https://github.com/abo-abo/swiper/commit/4171364ab3cdb21eabb45657a8d20bd85f3ecc9b

	(counsel-find-file-with-dollars, counsel-find-file-with-dollars): Use
	skip-unless.

2019-04-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-switch-buffer-other-window): Update prompt

	Re #2022

2019-04-14  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel.el: counsel-switch-buffer-other-window: new command.

2019-04-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dotfiles): Disable for emacs27

2019-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el: Print version

2019-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dotfiles): Disable for older Emacs

	Need to investigate later why it fails

2019-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-with): Save current buffer

2019-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-function): Fix str is " "

	Fixes #2018

2019-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--avy-candidates): Fix for swiper-background-faces

	Fixes #2019

2019-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dotfiles): Add test

2019-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Don't cache if the result of matching cache is
	empty

2019-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Don't cache if ivy--old-cands is empty

	Fixes the `counsel-find-file' use case where dotfiles appear if there 
	are no other matches.

2019-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-function): Fix for strings with trailing \|

	Need this because in that case the empty string is a match, and
	`re-search-forward' does not move point. `isearch-forward-regexp' does 
	something similar.

	* ivy-test.el (swiper-isearch): Add test.

	Fixes #2014

2019-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--re-filter): Fix for ivy--regex-ignore-order

	Fixes #2015

2019-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Fix matcher not called on input ""

	Fixes #2013

2019-04-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-find-file-with-dollars): Add test

	Re #2012

2019-04-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sorted-files): Work around all-completions returning $$

	If a file "foobar$" is present in the directory,

	    (all-completions "" #'read-file-name-internal)

	returns "foobar$$". It's not clear why this is.

	Fixes #2012

2019-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Avoid a filter on empty input

	Improves performance for large collections.

2019-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Improve performance with :matcher

	First try if caching is possible. This assumes that e.g.

	    (funcall matcher "ab" candidates)

	is a subset of

	    (funcall matcher "a" candidates)

2019-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--recompute-index): Speed up

2019-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-cmd-function): Add

	Fixes #2011

2019-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--query-replace-setup): Fix for ivy--regex-ignore-order

	Fixes #2010

2019-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Add swiper background faces

2019-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-use-selectable-prompt): Add tests

	Re #1924

2019-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--use-selectable-prompt): Cache ivy--prompt-selected-p

	Re #1924

2019-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--prompt-selectable-p): Allow to select ""

	When :require-match is t, and "" is in the collection.

	Fixes #1924

2019-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate-db-path): New defcustom

	* counsel.el (counsel-locate): Automatically update db for encrypted
	 home.

2019-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--call): Rename to counsel--command

	Fixes #1893

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--action): Simplify

	* ivy.el (ivy-occur-press): Pass the same string to the action
	 function as `ivy-done' would. This means if
	 e.g. `swiper--occur-cands' adds something to each candidate, it has
	 to put into the 'offset property how much it added.

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--isearch-occur-cands): Faster version

	Don't use `line-number-at-pos', since it's O(N*2) in terms of the number
	of candidates. Instead, use `count-lines' between each consecutive
	candidate which is O(N).

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-press-update-window): Add swiper-isearch

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Adapt to swiper-isearch

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Add swiper-isearch

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el: Add inhibit-message

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Check executing-kbd-macro

	This way, `swiper-isearch' can be used like `isearch' when recording 
	macros.

	The reason for using `line-beginning-position' is for "C-s M-n" to work.

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-function): Full point history for DEL

	* swiper.el (swiper--isearch-point-history): Store point positions for
	 all previous states of the input. This way, if the input is restored
	 to an older state with "DEL", the point will also be restored.

	* ivy-test.el (swiper-isearch): Add test, making sure the behavior is
	 the same as that of `isearch-forward-regexp'.

2019-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--switch-buffer-update-fn): Fix for when find-file
	fails

	Fixes #2009

2019-04-06  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix org-version testing

	(counsel-org-tag-agenda): Use the variable, not interactive function,
	named org-version.  Simplify with cl-letf.

	Fixes #2006 Re: #1997

2019-04-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Set up occur for swiper-isearch

2019-04-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Do not use invalid :preselect as a regexp

	* doc/ivy.org (Optional arguments for ivy-read):
	* ivy.el (ivy-read): Extend :preselect documentation.
	(ivy--preselect-index, ivy--recompute-index): Do not use preselect as a
	regexp if invalid.
	(ivy--legal-regex-p): Rename to...
	(ivy--regex-p): ...this.  Return nil regardless of the type of error.
	(ivy--regex-or-literal): Use it.

	Fixes #2002

2019-04-04  Iku Iwasa  <iku.iwasa@gmail.com>

	counsel.el (counsel-minor): Add command to toggle minor mode

	Like counsel-package, disabled minor modes are prefixed with "+" and 
	enabled minor modes are prefixed with "-". By selecting one of them, the
	mode is called interactively. As a result, toggle the minor mode
	enability.

	Fixes #2000

2019-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dired-jump-args): Fix for OSX

	Fixes #1990

2019-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-function): Use text with faces

2019-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-cursor-overlay): Extract

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Fix fake cursor at eol

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Add display transformer for counsel-dired

	Re #1999

2019-04-03  Vincent Zhang  <seagle0128@gmail.com>

	counsel.el (counsel-dired): Add

	Fixes #1993 Fixes #1999

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-file-1): Extract

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch-action): Add a cursor overlay

	Re #1931

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-cursor): Customize for dark background

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Set swiper-min-highlight to 1

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Change prompt

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Fix minibuffer height

	Makes for less screen change after the first character is input.

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org (automatically integrated packages): Add

	Re #1674

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Add preview overlays

	Fixes #1948

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Extend

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Anchor to line-beginning-position

	So that if we insert symbol-at-point, it will be selected.

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Allow :update-fn to be 'auto

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-sentinel): Fix index jumping randomly

	Previously, if a function, e.g. `counsel-rg', had
	`ivy-recompute-index-zero' associated, the index would not always reset
	to 0. This should be fixed now.

	TODO: simplify the logic here.

2019-04-03  Iku Iwasa  <iku.iwasa@gmail.com>

	counsel.el: Strip space from initial input of counsel-package

	This could reduce key presses in most cases.

	Fixes #1998

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-isearch): Add

	Fixes #1931

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-ignore-regexp): Add nested hidden dotfiles

	Re #1820

2019-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-tag-agenda): Check org-version

	Re #1997

2019-04-03  Gonçalo Santos  <goncalossantos98@gmail.com>

	Fix counsel-org-tag-agenda

	As of Org 9.2.3, this function is not working because `org-set-tags` is
	the function that received the tags list or string, while the counsel
	substitute doesn't have any parameters.
	 Changing this to `org-set-tags-command`, which is called from
	`org-agenda-set-tags` fixes the issue.

2019-04-02  Troy Hinckley  <t.macman@gmail.com>

	Allow recursive minibuffers to use ivy-display-function-alist

	Fixes #1995

2019-04-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Fix default-directory

2019-04-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fix weird offset

2019-04-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Refactor

2019-04-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-impossible-p): Simplify

	Avoid situation where `ivy-overlay-impossible-p' changes value as the 
	user types new input. The overlay will fit anyway because of
	`ivy--trucate-string'.

2019-04-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-action): Also works for strings

	That are not on the kill ring.

	Use case:

	    (defvar ora-last-eval-expression-result "")

	    (defun ora-last-eval-expression-result ()
	     (list ora-last-eval-expression-result))

	    (defun ora-eval-expression (orig-fun &rest args)
	     (setq ora-last-eval-expression-result
		   (prin1-to-string
		    (apply orig-fun args))))
	   (advice-add 'eval-expression :around #'ora-eval-expression)

	    (ivy-set-sources
	    'counsel-yank-pop
	    '((original-source)
	      (ora-last-eval-expression-result)))

2019-03-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dired-jump): Improve

	Re #1820

	Thanks @Alexander-Shukaev

2019-03-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-file-jump-args): Adjust

	Re #1820

	Thanks @Alexander-Shukaev

2019-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (ivy-dispatching-done-hydra): Improve

	Calculate more precisely if columns should be used

2019-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-file-jump-args): Fix dotfiles not being shown

	Fixes #1820

2019-03-28  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-unicode-char): Fix sorting

	ivy--sort-function may return nil, but doing this is redundant anyway,
	since counsel--unicode-table is sorted and cached lazily, and ivy-read
	later obeys ivy-sort-functions-alist and ivy-sort-max-size.

	Fixes #1988

2019-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-cands): Extract

	Re #1970

2019-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Make wgrep work for narrowed buffers

	* swiper.el (swiper--occur-cands): Extract and add `line-delta' logic.
	(swiper-occur): Update.
	(swiper--action): Use `swiper--point-min' only when the buffer is
	narrowed.

	Fixes #1848

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--file-name-filter): Clean up style

	Don't use `and' for side effects. Avoid overwriting `cmd' binding.

	Re #1984

2019-03-27  Troy Hinckley  <t.macman@gmail.com>

	Make find-file-occur work with multi-pass regex builders

	Prevent pcre conversion from creating look-around for a single form

	Fixes #1984

2019-03-27  Troy Hinckley  <t.macman@gmail.com>

	Allow all re-builders to use ivy-highlight-grep-commands

	Fixes #1983

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (ivy-dispatching-done-idle): Add

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix compiler warning

2019-03-27  Eugene Sharygin  <eush77@gmail.com>

	counsel.el (counsel-org-goto-all): Use org-mode outline settings

	This passes `counsel-outline-settings' for `org-mode' to
	`counsel-outline-candidates' so that it respects Org-specific settings.

	counsel.el (counsel-org-goto-all): Add buffer/file name as prefix

	This adds `counsel-org-goto-all-outline-path-prefix' variable that 
	controls a prefix included into outline path candidates.

	- If the value is 'file, the prefix is the file name without directory.
	- If the value is 'full-file-path, the prefix is the full file name.
	- If the value is 'buffer-name, the prefix is the buffer name.

	Fixes #1947

2019-03-27  Troy Hinckley  <t.macman@gmail.com>

	Make ivy-switch-buffer-occur work with multi-pass regex builders

	Fixes #1973

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Mention char-fold-to-regexp

	Fixes #1977

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Simplify counsel-git-grep

	Now all filtering will be done by git-grep, so it will work exactly like
	`counsel-ag'.

	Fixes #1402 Fixes #1912

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-cd): Add

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag): Add a keyword argument caller

2019-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg): Add an example to the doc

2019-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep): Fix TRAMP problems

	Re #1978

2019-03-25  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Silence byte-compiler

2019-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Use non-obsolete avy-process

	In place of the now obsolete `avy--process'.

2019-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-url-expand): Avoid null error

2019-03-25  Andrew Whatson  <whatson@gmail.com>

	Don't bury killed buffers after counsel-switch-buffer

	It's possible for a killed buffer to remain on buffer-list, causing 
	bury-buffer to error while restoring the original buffer-list.

	Fixes #1959

2019-03-25  CeleritasCelery  <t.macman@gmail.com>

	Anchor pcre lookaround patterns to bol

	Fixes #1976 Fixes #1979

2019-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel--grep-regex): Extend test

	Re #1976

2019-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-compile-phony-pattern): Fixup

	Thanks, @basil-conto

2019-03-21  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-git-grep-count-function): Fix

	Fix quoting in custom :type and clarify documentation. Declare obsolete
	varaliases before their referents.

	Re: #1402 Fixes #1975

2019-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-compile-phony-pattern): Use plain regex

	* counsel.el (counsel-compile--probe-make-targets): Simplify a little.

	Re #1972

2019-03-21  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): clean-up get-make-targets

	The original code called a pipeline of shell functions to get the list 
	of PHONY targets. One of the consequence of this is we picked up a bunch
	of noise if the make crapped out with an error. To avoid this we bring
	all the text extraction into emacs with a temp buffer and only process
	it if make is happy.

	This is also a first step towards what we would need if we wanted to use
	counsel--async-command to gather stuff and update the targets 
	dynamically.

	--- v2
	 - use bare form of (rx) for phony macro
	 - tweak wording in comments
	 - push/nconc/sort the results
	 - revert de-hyphenating
	 - let*->let

	Fixes #1972

2019-03-21  Troy Hinckley  <t.macman@gmail.com>

	Fix error in ivy-make-magic-action

	Fixes #1958

2019-03-21  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-compile-root-functions): Tidy

	Revert introduction of partially applied functions[1] in the definition
	of a variable, as they are inefficient, illegible in the *Help* buffer,
	and undocumented.

	[1]: counsel.el (counsel-compile-root-functions): Change priority
	 2019-03-14 11:25:04 +0100
	
	https://github.com/abo-abo/swiper/commit/86c904fd85b4a615d485058bc442c6b4f4e42786

	Fixes #1968

2019-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-count-function): Promote to defcustom

	* counsel.el (counsel--git-grep-count-func):
	(counsel--git-grep-count-func-default): Add obsolete aliases.

	Re #1402

2019-03-19  Dario Gjorgjevski  <dario.gjorgjevski+git@gmail.com>

	Fix virtual buffers in counsel-switch-buffer

	We need to use `ivy--virtual-buffers' rather than `current' when dealing
	with virtual buffers.

	Fixes #1971

2019-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--switch-buffer-update-fn): if to cond

2019-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-compile): Don't modify compilation-start-hook
	permanently

2019-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dired-jump-args): Fix -type d

	Fixes #1965

2019-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-compile-make-pattern): Fix regex

	Re #1966

2019-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--compile-get-make-targets): Rename

	Re #1966

2019-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-compile-root-functions): Change priority

	* counsel.el (counsel--project-current): Rename.
	(counsel--root-dir-locals): Remove. Avoid functions that are just
	`apply-partially' if they are used only in one place.

	Re #1966

2019-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--git-root): Rename

	Re #1966

2019-03-14  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): counsel-compile-local-builds

	Remove the clumsy `listp' check which is not needed as 
	counsel-compile-local-builds is documented to always be a list.

	Fixes #1966

2019-03-14  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): counsel--get-build-subdirs

	Ensure commentary matches reality.

2019-03-14  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): counsel-compile-get-filtered-history

	Add some commentary and use file-in-directory-p instead of treating 
	paths and regexes.

2019-03-14  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): fix breakage to subdir recursion

	Commit 1439e8d broke subdir recursion by only passing the directory 
	containing the subdirs rather than the final subdir. Fix this by 
	partially reverting the change while keeping the new cleaner structure.

2019-03-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag): Fix error in non-Git directory

	Re #1941

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Find project root more flexibly

	(counsel-compile-root-function): Remove, replacing with...
	(counsel-compile-root-functions): ...this new variable.

	(counsel-project-current): Remove, replacing with...
	(counsel--compile-root): ...this new function.

	(counsel--root-project, counsel--root-dir-locals)
	(counsel--root-git): New functions.

	(counsel-locate-git-root): Use counsel--root-git.

	(counsel-compile-get-make-invocation)
	(counsel-compile-get-build-directories)
	(counsel-compile-get-filtered-history)
	(counsel-compile--update-history): Use counsel--compile-root.

	Fixes #1963

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Clean up recent compile variables

	(counsel-compile-history): Touch-up docstring.
	(counsel-compile-root-function): Quote symbol as function.
	(counsel-project-current): Use and instead of when.
	(counsel-compile-local-builds): Refill docstring.
	(counsel-compile-make-args): Clarify docstring.
	(counsel-compile-make-pattern, counsel-compile-build-directories): Fix
	:type tags and docstrings.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--get-make-targets): Clean up

	Refill docstring.  Reduce amount of string consing.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Clean up compile make invocation

	(counsel-compile-get-make-invocation): Fix typo in docstring and 
	function name; change all callers.  Simplify logic.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--find-build-subdir): Simplify

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--get-build-subdirs): Fix

	Fix typo in docstring.	Replace the invalid rx form with 
	directory-files-no-dot-files-regexp.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify compile build dir collection

	(counsel-compile-get-build-directories): Remove one level of string
	consing.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Minor compile history cleanup

	(counsel-compile-get-filtered-history): Simplify loop.	Do not mangle
	match data.  Fix variable names.

2019-03-13  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Clean up compile candidates list

	(counsel--get-compile-candidates): Follow Emacs docstring conventions. 
	Avoid destructively modifying lists returned by 
	counsel-compile-local-builds elements.	Simplify logic.

2019-03-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Clean up compile history keeping

	(counsel-compile--update-history): Use add-to-history instead of 
	add-to-list and file-equal-p instead of string-equal.  Avoid one level
	of unneeded string consing.

2019-03-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify counsel-compile action

	(counsel-compile--action): Rename from...
	(counsel-compile--wrapper): ...this; change all callers. Reconcile
	docstring with implementation.	Simplify logic.

2019-03-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-compile): Minor cleanup

2019-03-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Capitalize proper noun "Git"

	(counsel-locate-git-root, counsel-git-grep-function)
	(counsel-git-grep, counsel-git-grep-proj-function)
	(counsel-git-worktree-list, counsel-git-branch-list): Capitalize "Git"
	as a proper noun where appropriate.

2019-03-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix finding dominating file

	(counsel--dominating-file): Rename from...
	(counsel--find-project-root): ...this; change all callers. Fix error
	when locate-dominating-file returns nil.
	(counsel-git): Remove redundant file name expansion.

2019-03-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Remove cl-extra

	Re #1941

2019-03-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-compile): Clean up

	Re #1941

2019-03-12  Alex Bennée	<alex.bennee@linaro.org>

	counsel.el (counsel-compile): Add

	This provides the initial framework for counsel-compile. The building of
	the various compile options is driven by a variable 
	counsel-compile-local-builds which provides a list of things that can be
	used to build up the available compile commands. The list can contain
	functions, strings or even just lists of options.

	Currently just set to the default "make -k"

	--- v2
	 - fix setup to set up
	 - accept atoms from funcall and listify
	 - nconc the list

	counsel.el (counsel-locate-git-root) more common functions

	Introduce a "private" helper which can be used for general project root
	finding and then use it for counsel-locate-git-root.

	counsel.el (counsel-compile): add filtered compile history

	To avoid the history polluting the current project we provide a filtered
	history that weeds out any paths outside of the current project
	directory. To do this we use metadata embedded in the 
	counsel-compile-history which should embedded the source and build 
	directories.

	counsel.el (counsel-compile): add make completion

	This adds a helper which can provide all the potential make invocations
	for a given makefile. It differs slightly from the example in helm-make
	in that it only considers PHONY targets which are generally the top
	level "meta" targets of a makefile. This is still quite a big list on
	some projects. For example QEMU provides 394 such targets.

	We could probably shorten the list somewhat by only considering PHONY 
	targets which we not in themselves prerequisites of other PHONY targets
	but so far I've not implemented that as the additional processing may be
	a performance issue.

	The other differences from helm-make's approach is we do the extract
	with plain shell pipes and sort the final result.

	--- v2
	 - defcustom for counsel-compile-make-args
	 - defcustom for make pattern
	 - use faces to visually separate blddir

	counsel.el (counsel-compile): add build dir helper

	This helper supports the common practice of using a build directory to 
	support multiple configurations of the build. This is often done to 
	avoid recompiling all build variants of a project when doing development
	work.

	--- v2
	 - use recursive and cmd properties

	counsel.el (counsel-compile--update-history): add compilation hook

	We can't use ivy-read's history directly as we loose our propertized 
	strings. We also want to get useful information from M-x compile which 
	will do things like parsing for cd and other heuristics we'd rather not
	complicate our lives with.

	Repeatedly calling add-hook on each invocation is a little inelegant but
	it's hardly going to show in the numbers.

	doc/ivy.org: add counsel-compile to sample bindings

	counsel.el (counsel-compile): add counsel-locate-project-dwim

	Add a smarter project root function that tries a series of steps from 
	most emacsey to least emacsey.

	Fixes #1941

2019-03-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-make-magic-action): Point doc to the action function

2019-03-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-make-magic-action): Fix bug

2019-03-08  Andrew Whatson  <whatson@gmail.com>

	Restore buffer-list after counsel-switch-buffers

	Previewing the buffers calls `switch-to-buffer` without the NORECORD 
	flag, so the buffer-list is modified (previewed buffers are bumped up 
	the list).  This change keeps a backup of buffer-list and restores it 
	during unwind.

	Fixes #1954

2019-03-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-copy): Use ivy-inhibit-action

	Lets us re-use `counsel-find-file' without copying its code.

	Re #1955

2019-03-08  Brian Leung	 <bkleung89@gmail.com>

	counsel.el (counsel-find-file-copy): Add and bind.

	Fixes #1955

2019-03-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-make-magic-action): Add docstring to the generated lambda

	Fixes #1956

2019-03-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel--grep-regex): Add test for negative lookahead

	Re #1935

2019-03-07  CeleritasCelery  <t.macman@gmail.com>

	Dynamically handle grep tool look-arounds

	Fixes #1935

2019-03-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-use-visual-line-p): New variable

	Fixes #1952

2019-03-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate-cmd): Simplify

	Re #1950 Thanks @basil-conto

2019-03-06  Ahmed Khanzada  <lenzuru@gmail.com>

	BSDs should default to locate not using regular expressions

	Fixes #1950

2019-03-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-map): Bind "`" to bookmarks

	* ivy.el (ivy-make-magic-action): Add.

	Re #1937

2019-03-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Allow ivy-inhibit-action to be a function

2019-03-06  CeleritasCelery  <t.macman@gmail.com>

	Move counsel-read-env to ivy mode

	reading environment variables should be present in all read-file-name 
	functions, not just counsel-find-file

	Fixes #1937

2019-03-06  CeleritasCelery  <t.macman@gmail.com>

	Enable counsel-read-env to work in read-file-name

2019-03-06  CeleritasCelery  <t.macman@gmail.com>

	Enable counsel-read-env to properly handle directories

2019-03-05  4goodapp  <4goodapp@gmail.com>

	Update ivy-help.org

	m was replaced to M in latest version.

2019-02-17  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-file-jump): Fix file expansion

	Expand candidate file names relative to original default-directory, not
	that of ivy-state-window (ivy--directory seems to always be nil in the
	action function).

	Fixes #1903

2019-02-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-file-jump-args): Remove extra backslash

	Thanks, @basil-conto

2019-02-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-read-env): Simplify

	Fixes #1932

2019-02-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Call ivy-recursive-restore even if no action

	Suppose an (ivy-read "test: " '("1" "2" "3")) is done when another
	`ivy-read' is in progress. In that case, after the first `ivy-read' 
	returns a string, we should restore the state of the first `ivy-read'.

	Re #1932

2019-02-12  CeleritasCelery  <t.macman@gmail.com>

	Add environment variable completion to counsel-find-file

2019-02-12  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel-switch-buffer: Add support for ivy-use-virtual-buffers.

	This will open virtual buffers for preview, and kill them.

	counsel.el (counsel--switch-buffer-temporary-buffers): new variable.
	(counsel--switch-buffer-unwind): new function.
	(counsel--switch-buffer-update-fn): try to find files.
	(counsel-switch-buffer): add unwind.

	Fixes #1897

2019-02-12  Gergely Risko  <errge@nilcons.com>

	Add a simple initial counsel-switch-buffer

	This first implementation already provides the interactive element of 
	functionality: in the current window the user can preview her buffer 
	selection.

	Fixes #1895

2019-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Don't rely on window-start in
	terminal

	`window-start' and `window-end' is not reliable when in a terminal. It 
	can be made reliable if a `redisplay' is performed, but then we get 
	annoying blinking.

	So let's define `window-start' as the location of `window-height' lines
	above `point'. We may add a few extra overlays here and there, but the
	performance shouldn't suffer, since the area is roughly equal to the
	window size anyway.

	Fixes #1928

2019-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-reverse-i-search): Don't bind ivy-recursive-restore to nil

	Old behavior was introduced in #323. That use case still works fine now.

	Fixes #1215

2019-02-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Call action with whole marked list if it has a second
	arg

	Re #561

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): Warn if no input

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to mark/unmark candidates with "m", "u", "DEL", "t"

	These key bindings are now available in the "C-o" hydra.

	* ivy.el (ivy-marked-candidates):
	(ivy-mark-prefix): New defvar.
	(ivy-call): Use `ivy-marked-candidates' when non-nil.
	(ivy-read): Reset `ivy-marked-candidates' to nil.
	(ivy-mark):
	(ivy-unmark):
	(ivy-unmark-backward):
	(ivy-toggle-marks): New command.

	Fixes #561

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-mc): Update doc

	Re #1879

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-history): Add

	* counsel.el (counsel-grep): Now has its own history.

	Fixes #1914

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): If the input is 1 char, re-highlight

	Fixes #1915

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--avy-candidates): Extract

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--avy-goto): Extract

2019-02-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure-p): Try checking for non prog-mode

	Re NicolasPetton/pass#30

2019-02-05  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el (ivy-thing-at-point): Extend

	Fixes #1871

2019-02-05  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el (ivy-initial-inputs-alist): Now a defcustom.

2019-02-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Require TRAMP earlier

	To make sure we have TRAMP compleiton candidates when expected, require
	TRAMP as soon as the collection function is
	`read-file-name-internal'.

	Fixes #1918

2019-02-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--current-window-start): Add docstring

	Re #643

2019-02-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--action): Fix for emacs -nw

	Fixes #1923

2019-02-04  Damien Cassou  <damien@cassou.me>

	swiper.el (swiper-font-lock-exclude): Add xref--xref-buffer-mode

	Fixes #1917

2019-02-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Use display-graphic-p

	`window-system' is deprecated.

2019-02-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Don't recenter when non-graphical

	Calling `recenter' results in an annoying blink.

	Fixes #1921

2019-01-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-require-program): Change arg meaning

	Since previously the arg was obtained with (car (split-string cmd)), 
	just bake that into the function.

	When cmd is a string that starts with a space, skip the check. Useful if
	cmd begins with "cd".

	Fixes #1911

2019-01-30  Iku Iwasa  <iku.iwasa@gmail.com>

	ivy.el (ivy--kill-buffer-action): Integrate with ivy-switch-buffer-kill

	This moves logic in `ivy-switch-buffer-kill' into
	`ivy--kill-buffer-action' and calls the latter from the former, so that
	`ivy--kill-buffer-action' acts as same as `ivy-switch-buffer-kill'.

	Previously, `ivy--kill-buffer-action' does not preserve the index after
	kill.

	Fixes #1910 Fixes #1787

2019-01-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-unicode-char): Don't sort every time

	Re #1204

2019-01-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--recompute-index): Speed up

	Return 0 immediately if `name' is empty.

2019-01-29  Pengji Zhang  <me@zhangpj.name>

	ivy.el (ivy-read): Keep only one action for one key

	This allows overriding the global actions per command.

	Fixes #1873

2019-01-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-use-swiper-p): New defcustom

	* counsel.el (counsel-grep-use-swiper-p-default): Extract.
	(counsel-grep-or-swiper): Update.

	Fixes #1908.

2019-01-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Update path to CSS

2019-01-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex-fuzzy): Don't allow newlines in wildcards

	ag (the Silver Searcher) suffers from this:

	    ag --nocolor --nogroup  \(b\)[^a]*\(a\)[^c]*\(c\)[^k]*\(k\)

	This will produce way too many matches, because e.g. ag thinks [^a] 
	should also match newlines, which means that we can get "b" on one line,
	"a" on the second and so on.

	* ivy-test.el (ivy--regex-fuzzy): Update test.

	Fixes #1907

2019-01-28  Hans Jerry Illikainen  <hji@dyntopia.com>

	counsel.el (counsel-git-checkout-action): Quote branch names

	Quoting branch names is necessary to avoid executing shell 
	substitutions.

	Fixes #1905.

2019-01-26  Andrew Schwartzmeyer  <andrew@schwartzmeyer.com>

	counsel.el (counsel-M-x): Optionally expand aliases

	Added support via `counsel-M-x-transformer` to show the expansion of an 
	alias in a manner similar to how keybindings are shown. For example, if
	`rb` is aliased to `revert-buffer`, and bound to `C-c r`, `M-x rb` will 
	show `rb (revert-buffer) (C-c r)`.

	Currently the expansion is in the same font as the command, which looks 
	nice, but it would be easy to add support for a custom face.

	The boolean `counsel-alias-expand` was introduced to enable or disable 
	this functionality, with it defaulting to non-nil.

2019-01-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Release 0.11.0

2019-01-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Quote links and sort

2019-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Summarize commits for 0.11.0

2019-01-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): Fix for ivy-format-function-arrow

	Fixes #1885

2019-01-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--kill-buffer-action): Remove virtual buffers from
	recentf-list

	Fixes #1888

2019-01-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-down-directory): New command

	* ivy.el (ivy--directory-enter): Extract.

	Sample config:

	    (define-key counsel-find-file-map (kbd "<right>")
	'counsel-down-directory)
	   (define-key counsel-find-file-map (kbd "<left>")
	'counsel-up-directory)

	Fixes #1891

2019-01-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Use CSS from gh-pages branch

	Fixes #1890

2019-01-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (defgroup counsel): Add own group

	Fixes #1892

2019-01-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--org-get-tags): Extract

	Fixes #1896

2019-01-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Sort list

	Re #1902

2019-01-22  Iku Iwasa  <iku.iwasa@gmail.com>

	swiper.el (swiper-font-lock-exclude): Add deadgrep-mode

	Fixes #1902

2019-01-22  duianto  <duianto@users.noreply.github.com>

	Update readme.md, add additional melpa badges

	Fixes #1900

2019-01-22  Damien Cassou  <damien@cassou.me>

	swiper.el (swiper-font-lock-exclude): Add matrix-client modes

	Thanks to @alphapapa for finding the cause of the problem.

	Fixes #1886

2019-01-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-hooks-alist): New defcustom

	Example:

	    (setq ivy-hooks-alist
		 '((counsel-rhythmbox . toggle-input-method)))

	Should `ivy-initial-inputs-alist' become obsolete?

	Fixes #1899

2019-01-21  Gergely Risko  <errge@nilcons.com>

	Add find args customization for counsel-{file,dired}-jump

	This is useful, because I use counsel in a big symlink farm, so the 
	default behaviour of "-type f" has to be repaced for me with "-type 
	f,l".  Other customization is e.g. inclusion of hidden files, as the 
	default is using * glob, that doesn't match hidden directories.

	Fixes #1889

2019-01-20  Gergely Risko  <errge@nilcons.com>

	Do not let ivy virtual buffer faces creep into the recentf file

	We have to use `copy-sequence` before setting faces, otherwise the 
	user's ~/.emacs.d/recentf file will contain the reference to faces. 
	Since strings with or without text-properties are semantically 
	equivalent in elisp, this doesn't cause any issues, but is certainly 
	ugly and confusing to users who are not familiar with elisp/ivy 
	internals.

2019-01-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Split up into smaller functions

2018-12-23  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el: allow to make the initial-input dynamic.

	This allows for instance to use customizations such as
	(lambda ()
	 (thing-at-point 'symbol))

	(ivy-initial-inputs-alist): cdrs of the alist can now be functions.
	(ivy--reset-state): adapt.

	Fixes #1868 Re #1867

2018-12-23  Nathan Moreau  <nathan.moreau@m4x.org>

	Avoid to hardcode the opinionated display-buffer-pop-up-window.

	Fixes #1838 Fixes #1865

2018-12-22  Radon Rosborough  <radon.neon@gmail.com>

	counsel.el (counsel-unquote-regex-parens): Bugfixes

	The previous code failed to handle the \| operator in regexes, and did 
	not handle lists of regexes at all.

2018-12-19  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Minor yank pulse simplification

	(ivy--yank-by): Reindent.
	(ivy--pulse-region): Simplify logic by ordering START and END.

	Re: #1859 Fixes #1861

2018-12-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Speed up regex

	On an `ivy-occur-mode' buffer with 4000 cands,

	    (re-search-forward "^[^:]+:[[:digit:]]+:" nil t)

	was taking 5 seconds to complete, and it found no candidates.  Now it 
	completes in 0.01 seconds.

2018-12-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-tag): Avoid empty string

2018-12-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-pulse-delay): Touch up doc

2018-12-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-pulse-delay): Convert to defcustom

	Re #1859

2018-12-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--normalize-grep-match): Update

	Re #1845

2018-12-17  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: More yank pulsing followups

	(ivy-read): Ensure ivy--pulse-overlay is deleted before exiting 
	completion.
	(ivy--pulse-region): Add docstring.  Only extend existing overlay's 
	region if it is contiguous with the new region.
	(ivy--pulse-cleanup): Explicitly set ivy--pulse-timer and 
	ivy--pulse-overlay to nil.

	Re: #1856 Fixes #1859

2018-12-15  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el (ivy--insert-minibuffer): write candidates only in the
	minibuffer.

2018-12-13  Nathan Moreau  <nathan.moreau@m4x.org>

	Revert "counsel.el (counsel--async-filter): write candidates only in the
	minibuffer."

	This reverts commit 0355c55962e71a4248fa37a3e70c8875d0d8886d.

2018-12-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Use all-completions

	* ivy-test.el (ivy-read): Add test.

	Fixes #1832

2018-12-13  Philippe Crama  <pcfeb0009@gmx.com>

	Avoid TRAMP related errors from blocking ivy-...-buffer commands

	Otherwise, on e.g. Ubuntu LTS 18.04, Emacs 27.0.50, using e.g.
	`ivy-switch-buffer' fails if a ZIP file listing has been inserted into a
	dired buffer.

	Fixes #1797

2018-12-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--magic-file-slash): Simplify IV

	Lift common subexpressions, namely expanded ivy-text and boolean 
	indicating whether ivy-text comprises more than just a single slash.

	Fixes #1831

2018-12-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--magic-file-slash): Simplify III

	Tidy up ivy-magic-slash-non-match-cd-selected cond guard.

2018-12-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--magic-file-slash): Simplify II

	Remove duplicate ivy-magic-slash-non-match-create cond branch.

2018-12-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--magic-file-slash): Simplify I

	Quote function symbols as such.	 Assume default-directory is non-nil. 
	Do not unnecessarily modify match data.	 An existent directory is also
	an existent file.

2018-12-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--magic-file-slash): Fix dir expansion

	Expand ivy-text against ivy--directory, not default-directory.

	Perhaps the commentary of [1] was correct in that default-directory 
	should be bound to ivy--directory more generally here.

	[1]: ivy.el (ivy--magic-file-slash): Change priority in cond
	 2017-04-13 17:09:47 +0200 f94c15c8cb40f7a9959a3ffcd2052bb3a118eb3f

	Fixes #1829

2018-12-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel--normalize-grep-match): Clean up

	Remove print statement.

	Re #1835

2018-12-13  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel.el (counsel--normalize-grep-match): remove column indicators for
	wgrep.

	Fixes #1800 Fixes #1835

2018-12-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Touch up yank pulsing

	(ivy-pulse-delay): New variable.
	(ivy--pulse-timer): Add markup to docstring.
	(ivy--pulse-region): If ivy--pulse-overlay still exists from the 
	previous invocation, expand its region, rather than moving it. Remove
	redundant call to move-overlay.	 Use ivy-pulse-delay.
	(ivy--pulse-cleanup): New function for ensuring ivy--pulse-timer and 
	ivy--pulse-overlay are disposed of.

	Re: #1581, #1850 Fixes #1856

2018-12-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Tweak a few docstrings

	make checkdoc

2018-12-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	targets/plain.el: Don't call `package-initialize'

	The reason it was added in the first place isn't apparent now.

2018-12-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-next-line): Fix for ivy-occur-mode

	The recent change made it work only in `ivy-occur-grep-mode'.

2018-12-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix byte-compiler warning

	Re #1845

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel.el: robustify grep-like ivy-occur.

	counsel--normalize-grep-match: new function. counsel-git-grep-occur: use
	the new function. counsel--grep-mode-occur: use the new function. 
	counsel-grep-like-occur: force normalization of completion candidates.

	Fixes #1845

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Revert "ivy.el (ivy--occur-insert-lines): Fix for counsel-ag"

	This reverts commit be98b75faca8ad2298c6c25423b229f4b0807002.

2018-12-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-M-x): Filter obsolete commands

	Fixes #1843 Fixes #1844

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el (ivy--occur-insert-lines): fix incorrect regexp.

	ivy--starts-with-dotslash: new function.

	Fixes #1846

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel.el (counsel--async-filter): write candidates only in the
	minibuffer.

	Re #1772 Fixes #1837

2018-12-12  Valentin Ignatev  <valentignatev@gmail.com>

	Replace http:// with https:// in all links

	Fixes #1849

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el: highlight yanked word.

	(ivy-yanked-word): new face.
	(ivy--pulse-overlay): new variable.
	(ivy--pulse-timer): new variable.
	(ivy--pulse-region): new function.

	Fixes #1850 Fixes #1581

2018-12-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-app-format-function-default): Truncate Exec

2018-12-12  Jelle Licht	 <jlicht@fsfe.org>

	counsel.el (counsel-linux-apps-directories): Add XDG defaults.

	* counsel.el (counsel-linux-apps-directories): Use XDG Base Directory
	 Specification to determine directories to search.
	(counsel--xdg-data-home): New compatibility shim.
	(counsel--xdg-data-dirs): New compatibility shim.

	Fixes #1851

2018-12-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix byte compiler warnings

	Re #1847

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Remove hardcoded minibuffer-prompt face.

	counsel.el: (counsel-outline-default): new face.
	(counsel-outline--add-face): use counsel-outline-default.

	Fixes #1847

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Remove hardcoded org-level-{1-8} faces.

	counsel.el: (counsel-outline-{1,8}): new faces.
	(counsel-outline--add-face): use counsel-outline-{1,8} faces.

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Remove hardcoded completions-annotations face.

	ivy.el (ivy-completions-annotations): new face.
	(ivy--format-minibuffer-line): use ivy-completions-annotations.

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Remove hardcoded font-lock-builtin-face 2/2.

	counsel.el (counsel--descbinds-cands): use counsel-key-binding.

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Remove hardcoded font-lock-builtin-face 1/2.

	counsel.el: (counsel-application-name): new face.
	(counsel-linux-app-format-function-default): use
	counsel-application-name.
	(counsel-linux-app-format-function-name-first): use
	counsel-application-name.

2018-12-12  Nathan Moreau  <nathan.moreau@m4x.org>

	Remove hardcoded font-lock-comment-face.

	counsel.el: (counsel-variable-documentation): new face.
	(counsel-set-variable): use counsel-variable-documentation.

2018-12-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-next-line): Jump to first candidate when in header

2018-12-11  Nathan Moreau  <nathan.moreau@m4x.org>

	counsel.el (counsel-colors--name-to-hex): protect against invalid input.
	(counsel-color-emacs): adapt.

2018-12-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-next-line): Limit the point to candidates

2018-12-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--select-occur-buffer): Extract

	Speed up things by avoiding calling `pop-to-buffer' when we don't have 
	to. This enables holding a key to call `ivy-occur-next-line' repeatedly
	with good performance.

2018-12-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-next-line): Be useful also in the original buffer

	Sample user config:

	    (defhydra hydra-grep-jk (global-map "β")
	     ("j" ivy-occur-next-line "up")
	     ("k" ivy-occur-previous-line "dn")
	     ("q" nil))

	Sample workflow:

	    - open ivy.el
	   - `swiper' for defun
	   - "C-c C-o" (`ivy-occur')
	   - from ivy.el, "βj" (`ivy-occur-next-line') will select the next
	     candidate while remaining in the same buffer
	   - open counsel.el
	   - `swiper' for defvar
	   - "C-c C-o" (`ivy-occur')
	   - counsel.el has its own occur buffer associated, "βj" will use that
	buffer.
	   - go back to ivy.el, "βj" works again, even if the occur buffer is
	hidden.

2018-12-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Define own variants of compilation-* faces

	ivy.el (ivy-grep-info, ivy-grep-line-number): New faces inheriting 
	compilation-info and compilation-line-number, respectively.
	(ivy--occur-insert-lines): swiper.el (swiper-occur): counsel.el
	(counsel-git-grep-transformer)
	(counsel-imenu-get-candidates-from): Use them.

	Re: #1839 Fixes #1840

2018-12-06  Nathan Moreau  <nathan.moreau@m4x.org>

	ivy.el (ivy--occur-press-update-window): don't switch to a killed
	buffer.

	Fixes #1834 Fixes #1842

2018-12-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Fix for counsel-ag

	The results of `ag' don't have "./" prepended like `rg' has.

	Fixes #1841

2018-12-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox-toggle-shuffle): Add and bind to "s"

2018-11-29  Iku Iwasa  <iku.iwasa@gmail.com>

	doc/ivy.org: Document ivy-modified-buffer and
	ivy-modified-outside-buffer

	Fixes #1745

2018-11-29  Iku Iwasa  <iku.iwasa@gmail.com>

	ivy.el: Prefer ivy-modified-outside-buffer over ivy-modified-buffer

	This behavior is same as some other packages like Helm, smart-mode-line.

2018-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: (counsel--call): Warn about stderr

	Bring back the previous behaviour[1] of returning the entire contents of
	stderr, but this time put them in a warning, rather than in the error
	data itself.

	Also remove racey file-{readable,exists}-p guards for the stderr file. 
	delete-file is able to handle non-existent files, and any errors that
	insert-file-contents encounters can be used in place of the stderr
	contents.

	Also fix off-by-one error when returning empty output from a successful
	command.

	[1]: counsel.el (counsel--call): Add wrapper around call-process
	 2018-11-28 11:07:54 +0100 986264097ff85a82cc9b369299a70167a47f2f62

	Re: #1828

2018-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify counsel--git-grep-count-func-default

	counsel.el (counsel--git-grep-count-func-default): Simplify.

2018-11-28  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--call): Touch-up

	Use process-file instead of call-process.  Add docstring.  Avoid 
	multi-line error message by returning only the first line of stderr. 
	Deconstruct error information as file-error data for easier access. 
	Guard stderr file access with file-{exists,readable}-p just in case.

	Re: #1827

2018-11-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--call): Add wrapper around call-process

	Re #1827

2018-11-28  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Call du process directly

	(counsel--git-grep-count-func-default): Call git and du directly to 
	avoid shell incompatibilities in redirection.

	Re: #1470, #1558 Fixes #1502 Fixes #1827

2018-11-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Fix typo

	Re #1817

2018-11-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox-play-song): Refactor

2018-11-27  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor ivy-display-function-overlay touch-up

	ivy-overlay.el (ivy-display-function-overlay): Use point-min instead of
	hard-coded position.  Simplify string concatenation.

2018-11-27  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy-overlay.el: Simplify overlay face overriding

	This is a refactor of the following commit:

	ivy-overlay.el (ivy-overlay-show-after): Don't inherit existing face
	 2018-11-27 12:31:32 +0100 7434a792c7b4ace1f138fe4256338e20f49981fc

	(ivy--overlay-font-lock-hack): Remove.
	(ivy-overlay-show-after): Specify default face of ivy-overlay-at to 
	avoid clashing with other overlays.

	Re: #1016, #1488, #1520, #1547, #1808

2018-11-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-show-after): Don't inherit existing face

	Previously, "C-M-i" on a first line after comment would have the 
	displayed overlays inherit the comment face. Example:

	    # python comment, | is the point position
	   os.|

	Similar problems with `whitespace-mode` etc. Now we add the 'default as
	the trailing face property of the overlay string, and it will no longer
	inherit the text properties of the existing buffer text. See
	https://emacs.stackexchange.com/questions/27308/how-can-i-stop-an-overlay-from-inheriting-the-properties-of-underlying-text.

	Fixes #1488 Fixes #1547

2018-11-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox-play-song): Re-launch if not playing

	In case Rhythmbox was closed, launch it first before making a dbus 
	request. Otherwise, the dus request would be ignored.

2018-11-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--run): Add

	* counsel.el (counsel-linux-app): Use `counsel--run'.

2018-11-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--wmctrl-parse): Extract

2018-11-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex-fuzzy): Optimize regex "(a).*?(b)" -> "(a)[^b]*(b)"

	* ivy-test.el (ivy--regex-fuzzy): Update tests.

	Thanks to @PythonNut and @dsedivec for the idea.

	Re #848

2018-11-24  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-read): Minor docstring improvements

	Fixes #1794

2018-11-24  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--async-command): Touch-up

	Use start-file-process instead of start-process. Mention new meaning[1]
	of CMD argument in docstring.

	[1]: counsel.el (counsel-fzf-function): Take bash out of the equation
	 2018-11-24 18:13:32 +0100 9414f7ab9b479cc6a66539b8f1494c81734d9acf

	Re: #1812

2018-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-fzf-function): Take bash out of the equation

	Re #1812

2018-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Handle Windows path separator

	Fixes #1817

2018-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--grep-regex): Extract and obey current matcher

	Fixes #1801

2018-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-separator): Extend :type

	Re #1815

2018-11-24  SeungKi Kim	 <tttuuu888@gmail.com>

	ivy.el : Add ivy-separator face

	Fixes #1815

2018-11-23  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Prefer declare form to make-obsolete

	(counsel-expression-history, counsel-shell-command-history): Use declare
	form instead of make-obsolete.

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Clean up ivy-completion-in-region prompt

	(ivy-completion-in-region-prompt): New function.
	(ivy-completion-in-region): Use it as prompt function instead of 
	overriding user-configurable ivy--prompts-list.	 Do not override user
	option ivy-count-format.

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-completion-in-region): Simplify

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: (ivy--remove-props): New convenience defun

	(ivy-read, ivy-completion-in-region, ivy-cleanup-string): Use it.

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--minibuffer-setup): Simplify

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-cleanup-string): Clarify docstring

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Simplify and document prompt propertizing

	(ivy-set-prompt-text-properties-function): Extend docstring.
	(ivy-set-prompt-text-properties-default): Ditto and simplify.
	(ivy--set-match-props): Remove unneeded function.

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-prompt): Improve compatibility warning

	Narrow error condition to wrong-number-of-arguments.  Specify
	'ivy instead of default 'emacs custom group in warning message and 
	mention caller associated with offending prompt function.

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-previous-line): Simplify

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--M-x-prompt): Simplify

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--async-filter): Simplify

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Mark counsel-prompt-function-default as obsolete

	It duplicates the standard convention of ending user input prompts with
	a colon and space, and requires that its caller not add them, which is
	inconsistent with standard ivy-read usage.

	(counsel-prompt-function-default): Simplify and mark as obsolete.
	(counsel-prompt-function-dir): Handle the standard scenario where 
	ivy-state-prompt already ends in a colon and space.
	(counsel-git, counsel-git-grep, counsel-ag): Replace 
	counsel-prompt-function-default with explicit colon and space.

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-prompt-function-dir): Simplify

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix ivy--quote-format-string usage

	Don't ivy--quote-format-string prompt now that it is no longer 
	interpreted as a format string[1].

	[1]: ivy.el (ivy-read): prompt argument is no longer a format string
	 2018-11-22 09:39:35 +0100 6fe1a938d6b43442f23888219a24a15226a888e4

	Re: #1350

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	Mention recent ivy-read prompt change in manual

	doc/ivy.org: Update ivy-read prompt description after recent change[1]
	re: #1350. doc/ivy.texi: Regenerate.

	[1]: ivy.el (ivy-read): prompt argument is no longer a format string
	 2018-11-22 09:39:35 +0100 6fe1a938d6b43442f23888219a24a15226a888e4

2018-11-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-app): Show also hidden *.desktop with a prefix
	arg

	Some useful desktop files, like e.g. gnome-keyboard-panel.desktop, are 
	hidden by default with "StartupNotify=true". Call `counsel-linux-app' 
	with a prefix arg to show them.

2018-11-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): prompt argument is no longer a format string

	Use only `ivy-count-format' to add/remove candidate count.

	Fixes #1350

2018-11-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-command-history): Remove %d from prompt

2018-11-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--quote-format-string): Add

2018-11-22  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Work around void Info-complete-menu-buffer

	This is a temporary workaround for issue #1803 which also reverts the
	following commit:

	ivy.el (ivy--reset-state): Set Info-read-node-completion-table
	 2018-11-21 15:49:11 +0100 cfef4724968e4968616947bbf0ed50d62ca5c4e1

	(ivy--reset-state): Ensure Info-complete-menu-buffer is bound even 
	during ivy-recursive-restore.

2018-11-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Set Info-read-node-completion-table

	Fixes #1803

2018-11-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Simplify

	Remove (called-interactively-p 'any) branch.

	Fixes #1606

2018-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Fix minibuffer truncation & resizing

	The last attempt[1] to fix #1809 permanently changed the value of user
	option resize-mini-windows under a text terminal. Fix this by:

	(ivy--minibuffer-setup): Move resize-mini-windows logic from here...
	(ivy-read): ...to here.

	[1]: ivy.el: For non-graphical Emacs set resize-mini-windows to
	'grow-only
	 2018-11-20 11:04:14 +0100 c1c1ec7cb9c99c50424416a143747f64e3083552

	Fixes #1809 Fixes #1811

2018-11-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-wmctrl): Remove nil from collection

2018-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: DRY for determining minibuffer face

	(ivy--minibuffer-face): New function.
	(ivy--flx-propertize, ivy--highlight-ignore-order)
	(ivy--highlight-default): Use it.

	Fixes #1804

2018-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Remove redundant :group tags

	(ivy-sort-functions-alist, ivy-fixed-height-minibuffer): Remove
	redundant custom :group tag from user options.

2018-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix ivy-re-to-str usage

	ivy.el (ivy-generic-regex-to-str): Obsolete in favour of duplicate
	ivy-re-to-str.
	(ivy--filter, ivy-sort-function-buffer): counsel.el
	(counsel-git-grep-occur): swiper.el (swiper-all-function): Use
	ivy-re-to-str.

2018-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Various minor simplifications

	ivy.el (ivy-partial, ivy--reset-state, ivy-completing-read): Simplify.
	(ivy-immediate-done): Flatten conditional logic re: #1719.
	(ivy-read): Avoid traversing entire candidate list.
	(ivy-shrink-after-dispatching, ivy-minibuffer-shrink)
	(ivy--get-window): swiper.el (swiper--avy-candidate): Simplify usage of
	(selected-window).
	(swiper--ivy): De Morgan.
	(swiper--face-matcher): Compute string length a single time.

2018-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify various string manipulations

	counsel.el (counsel-git-worktree-parse-root): Don't unnecessarily modify
	match data. swiper.el (swiper--re-builder): ivy.el (ivy-partial-or-done,
	ivy--regex-plus, ivy--exhibit)
	(ivy--prefix-sort, ivy-sort-function-buffer): Simplify prefix string
	comparison.
	(ivy--regex): Do not modify match data.	 Use shy grouping where 
	applicable.  Check for end-of-string instead of end-of-line.
	(ivy--remove-prefix): New function.
	(ivy-partial, ivy--recompute-index, ivy--highlight-fuzzy): Use it. 
	ivy-overlay.el: Avoid checking emacs-version and loading subr-x at
	runtime.
	(ivy-display-function-overlay): Use ivy--remove-prefix.

2018-11-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: For non-graphical Emacs set resize-mini-windows to 'grow-only

	Fixes #1809

	See also 36dd91e5a3e12394eb8c402997ffd80b96fa5841, which attempted to 
	fix this issue.

2018-11-19  Magnus Nyberg  <magnus@nexter.se>

	ivy.el (ivy-immediate-done): Add condition on read-file-name

	Added condition on read-file-name, it's all about read-file-name compat
	after all.

	Also, added comments around the rational for compat

	It's assumed that any following changes of ivy--directory will be in 
	expanded form, so ivy-immediate-done will return dirs in expanded form,
	just like before.

	If that's not the case, one can consider to only return ivy--directory 
	unchanged if the user exits the minibuffer unchanged.

	Fixes #1719

2018-11-19  Magnus Nyberg  <magnus@nexter.se>

	ivy.el (ivy-immediate-done): Exit with unchanged initial input

	This change makes ivy-immediate-done (without any editing) to exit 
	completing-read with return value in same (abbreviated) form and value 
	as the initial input.

	This fix functions read-file-name and read-directory-name to return the 
	default-filename with ivy-immediate-done, instead of current input
	(expanded).

	Fixes #1170

2018-11-19  Magnus Nyberg  <magnus@nexter.se>

	ivy.el (ivy-completing-read): Add compatibility for non-string defaults

	* Fix compat with `completing-read' to return the first element of
	 default, if it is a list; "", if default is nil; or default
	* ivy-test.el: Add relevant positive tests

	Fixes #1526 Fixes #1810

2018-11-19  Magnus Nyberg  <magnus@nexter.se>

	ivy.el (ivy--reset-state): Add only string default to collection

	Preparation to allow non-string default values:

	* Add only default string values to collection for completion
	* Fix where previously a non-string default (symbol) cleared the
	collection

2018-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix compiler warning

2018-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox): Refresh list with prefix arg

2018-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Don't add 4 spaces for grep-like

2018-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Avoid error on modifying read-only str

2018-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-like-occur): Don't add an extra "./"

	ag / rg / git-grep already add them.

2018-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix ivy-occur highlighting for non-grep commands

	Re #1795

2018-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--highlight-fuzzy): Generalize

	Re #1795

2018-11-18  Nathan Moreau  <nathan.moreau@m4x.org>

	Propertize matches in ivy-occur buffers.

	Fixes #1795

2018-11-18  nathan moreau  <nathan.moreau@m4x.org>

	counsel.el (counsel-ag-function): allow to override the minimum search
	term length.

	Fixes #1780

2018-11-18  nathan moreau  <nathan.moreau@m4x.org>

	swiper.el (swiper-all): use ivy-more-chars.

	This way, the minimum number of chars before launching the completion is
	not hardcoded anymore.

2018-11-18  nathan moreau  <nathan.moreau@m4x.org>

	Move counsel-more-chars-alist and counsel-more-chars to ivy.el.

	* ivy.el:
	 (ivy-more-chars): new function.
	 (ivy-more-chars-alist): new variable.

	* counsel.el:
	 (counsel-more-chars): renamed function.
	 (counsel-more-chars-alist): renamed variable.

2018-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Use ivy-truncate-lines also for non-graphical Emacs

	The issue is reproducible with a combination of:

	- emacs -nw
	- (setq resize-mini-windows t), not (setq resize-mini-windows
	'grow-only)
	- a candidate longer than window width with subsequent candidate after
	it

	This fix is quick compared to the alternative of:

	- detecting non-graphical Emacs
	- detecting `resize-mini-windows' setting
	- truncating candidates manually or resizing the minibuffer window
	 manually to fit all candidates without trunction

	The alternative approach might still be useful to implement in the 
	future. Or if there's an issue with the current fix.

	Fixes #1809

2018-11-18  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Remove webjump completing-read handler

	(ivy-completing-read-handlers-alist): Do not pass empty string as DEF
	argument to completing-read in webjump command, as this adds a bogus
	empty candidate to the webjump-sites collection.

	Re: #1049 Fixes #1802

2018-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--org-make-tag-string): Add

2018-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix compiler warnings

2018-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el: Fix require for 24.3

2018-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Avoid extra whitespace

	Especially when an input resulted in no candidates being displayed, the
	extra whitespace resulted in an annoying horizontal scroll. This should
	be fixed now.

2018-10-28  Maximilian Nickel  <mnick@mit.edu>

	Unwind with company-abort in counsel-company

2018-10-26  Cong Gu  <cong.gu@keysight.com>

	Fix swiper jumping incorrectly to the first match

	Fixes #1791

2018-10-26  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Clean up buffers of deleted files

	(counsel-find-file-delete): Maybe delete buffers visiting recently
	deleted file.

	Re: #1774 Fixes #1779

2018-10-26  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Use long prompts for file deletions

	(counsel--yes-or-no-p): New function.
	(counsel-find-file-delete): Use it instead of hard-coding short y-or-n-p
	prompt for destructive operations like file deletions.

2018-10-26  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Do not prompt for directory deletions

	(counsel-find-file-delete): Don't prompt for directory deletion, which
	dired-delete-file already handles in a customizable way.

2018-10-26  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-find-file-delete): Fix prompt

	Add trailing space to y-or-n-p prompt as per the function's docstring.

2018-10-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Turn on :sort also via ivy-sort-functions-alist

	In case an entry for :caller is explicitly on
	`ivy-sort-functions-alist', do the sorting, even if ":sort t" wasn't
	explicitly passed to `ivy-read'.

	For example:

	    (add-to-list 'ivy-sort-functions-alist
			'(counsel-recentf . file-newer-than-file-p))

	This will work even though `counsel-recentf' doesn't have an explicit
	":sort t".

2018-10-09  whatacold  <whatacold@gmail.com>

	counsel.el: Respect split string setting when doing grep-like occur.

	(counsel-grep-like-occur, counsel-git-grep-occur): Respect user setting
	of `counsel-async-split-string-re' when doing grep-like occur, so as to
	better support `wgrep'.

	Fixes #1384 Fixes #1778

2018-10-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-delete): Ask for confirmation

	Fixes #1774

2018-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--avy-candidate): Fix off-by-one in counsel-grep

	`swiper' adds one space character in front of each candidate.
	`counsel-grep' and `counsel-ag' don't. This off-by-one is accounted for
	now.

	Fixes #1775

2018-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): Fix when there's scroll

	When selecting a candidate from the minibuffer, `swiper-avy' worked 
	correctly only when the first 10 candidates were active. Now it will 
	work fine regardless of which set of candidates is visible in the 
	minibuffer.

	Fixes #1541

2018-09-27  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-fzf): Remove 2nd prompt colon

	Fixes #1768

2018-09-26  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Don't restore buffer after action

	The call to with-current-buffer was made redundant by the preceding 
	set-buffer added in #1607, and incorrectly restores ivy-state-buffer 
	after calling action.

	(ivy-call): Remove call to with-current-buffer.

	Closes #1766

2018-09-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-yank-pop): Add test

	Re #1761

2018-09-20  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Allow counsel-yank-pop after point

	(counsel-yank-pop-after-point): New user option.
	(counsel-yank-pop-action): Use it to determine whether to exchange point
	and mark.
	(counsel-yank-pop): Repurpose plain prefix arguments like C-u for 
	temporarily toggling the new counsel-yank-pop-after-point.

	Re: #884 Closes #1761

2018-09-20  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop): Minor aesthetics

	This is in preparation for future work in this area.

2018-09-20  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Remove unused yank-pop boundaries

	(counsel-yank-pop-action, counsel-yank-pop): Do not bother setting 
	ivy-completion-beg and ivy-completion-end.  They do not seem to be used
	anywhere, and their relative ordering might be reversed following C-u
	C-y.

	Re: #1761

2018-09-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--browse-history): Add :caller

2018-09-19  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify async xdg-open invocation

	(counsel-locate-action-extern): Avoid issues with 
	start-process-shell-command returning too soon by passing 0 as the 
	BUFFER argument to call-process-shell-command.

	Re: #1537, #1759

2018-09-19  Cheong Yiu Fung  <yiufungc@aswatson.com>

	counsel.el: Fix xdg-open under Ubuntu for counsel-locate-action-extern

	`start-process-shell-command` doesn't seem to wait for
	`counsel-locate-action-extern` to finish under Ubuntu. [Gist to 
	reproduce the 
	issue](https://gist.github.com/yiufung/38be4c3a6832334f36f2441550cf0b12).

	Related discussion:
	([#1](https://askubuntu.com/questions/646631/emacs-doesnot-work-with-xdg-open),
	[#2](https://emacs.stackexchange.com/questions/19344/why-does-xdg-open-not-work-in-eshell),
	[#3](http://emacs.1067599.n8.nabble.com/emacs-and-xdg-open-td106892.html)) 
	suggests to:

	1. Set `process-connection-type` as nil temporarily 2. Called with
	`setsid -w` to wait for the process to finish.

	To avoid interfering with other platforms and applications, I adopted 
	the latter approach which uses `lsb_release` to check distribution type
	with fall back as `xdg-open`. Currently only check for Ubuntu, and to be
	extended in the future.

	Re #863 Re #1401 Fixes #1759

2018-09-18  Damien Cassou  <damien@cassou.me>

	Ignore non-readable desktop files

	* counsel.el (counsel-linux-apps-list-desktop-files): Make sure a
	 desktop file is readable before adding it to the list. Otherwise,
	 doing so would break high-level commands. A file can exist and be
	 non-readable, e.g., symlinks to non-existing files.

2018-09-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sorted-files): Simplify

2018-09-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--cd): Fix Emacs-25/26 compat

	On 26:
	(file-name-nondirectory "/scp:")
	;; => "scp:"

	On 25:
	(file-name-nondirectory "/scp:")
	;; => ""

2018-09-13  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-linux-apps-directories): Add dir for flatpack

2018-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-partial-files): Fix for Emacs24

2018-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix Emacs26 regression when completing tramp methods

	With old code and Emacs25, all tramp methods were displayed in 
	emacs-25.3, but not emacs-26.1 (which displays only "scp:" and
	"scpx:").

	With new code, it will work always. In addition, the sort order was 
	changed:
	   1. folders
	   2. files
	   3. tramp methods

	The logic of `ivy--sorted-files' now removes the (incomplete list of) 
	tramp moethods from the list, since they are added separately in
	`ivy--cd'.

	Fixes #1733

2018-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix for partial match of tramp method

	Previously, input e.g. "sc :" that matched only "scp:" would not 
	actually use "scp:".

2018-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Can change current dir when completing files

	* ivy-test.el (ivy-partial-files): Add test.

	Re #86

2018-09-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-push-view): Overwrite view with prefix arg

	Fixes #1737

2018-09-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-string<): Handle heterogeneous args

	Fixes #1743 Fixes #1744

2018-09-06  Iku Iwasa  <iku.iwasa@gmail.com>

	Add ivy-modified-outside-buffer face for ivy-switch-buffer

	Fixes #1742

2018-09-06  Jay Kamat  <jaygkamat@gmail.com>

	Add support for counsel-locate over tramp

	Fixes #1735

2018-09-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Rename "recommended bindings" -> "sample bindings"

	Fixes #1738

2018-09-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-impossible-p): Add org-mode's src blocks

	org-mode's src blocks are already highlighted with their own background
	overlay, so adding inline overlays becomes messy. In addition somehow
	`cursor-type' becomes nil when completing in org-mode's src blocks.

	Fixes #1732

2018-09-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--switch-buffer-action): Remove with-ivy-window wrapper

	Re #1727

2018-09-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-prompt-function): Remove obsolete variable

	Fixes #1731

2018-09-05  Amos Bird  <amosbird@gmail.com>

	Fix terminal usage of ivy

	Fixes #1528 Fixes #1728 Re #199

2018-08-22  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-find-file-delete): reset ivy state

	This updates the file list after `ivy-call`.

2018-08-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-slash): Don't trigger from TAB

	Fixes #1716

2018-08-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Strip properties from returned alist candidate

	Strip idx property from entire candidate returned

	ivy.el (ivy-read): Strip idx property from entire candidate returned 
	following commit 4ca87866037353cb0a0ddcab13d64ab48a9ccb71
	"ivy.el: Avoid modifying alist collection". ivy-test.el (ivy-read): Test
	idx property removal.

	Re: #1706 Fixes #1724

2018-08-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-height-alist): Entries can be functions

	Fixes #1722

2018-08-20  Evgeni Kolev  <evgeni.kolev@uber.com>

	counsel.el (counsel-library-candidates): check dirs in load-path exist

	Fixes #1720

2018-08-20  Magnus Nyberg  <magnus@nexter.se>

	counsel.el (counsel-mode): Display local keymap in mode doc

	Convenience to display remapped commands and any key bindings in 
	describe-mode/-minor-mode.

	Fixes #1718

2018-08-16  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Do not free counsel-outline markers

	This reverts commit 66a1c36c2678f7a4e5d0c0fc8a1fd39f79e105ac
	"counsel.el: Free counsel-outline markers after use" of 2018-08-06
	23:06:02 +0300.

	Re: #1700

2018-08-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Pacify counsel-bookmarked-directory warnings

	counsel.el (counsel-bookmarked-directory): Load required feature and
	declare its definitions.

	Re: #1657

2018-08-13  DEADB17  <DEADB17@gmail.com>

	Interactively specify switches

	Example for `counsel-rg' in this repo:

		-g*.el -- require
	       -g*.org -- require
	       -g!*.el -- require

	Fixes #1408 Fixes #1512 Fixes #1688 Fixes #1559

2018-08-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Add inhibit-field-text-motion

	Results in better candidates for e.g *slime-repl*.

	Fixes #1713

2018-08-13  Akira Komamura  <akira.komamura@gmail.com>

	Add counsel-bookmarked-directory

	Fixes #1657

2018-08-10  Sebastian Wålinder  <s.walinder@gmail.com>

	Added counsel-grep-map, added swiper-avy key to counsel-git-grep

	Fixes #1711

2018-08-09  Sergey Vinokurov  <serg.foo@gmail.com>

	Use ivy--dirname-p to check for directory names

2018-08-09  Sergey Vinokurov  <serg.foo@gmail.com>

	Improve regexps to refer to starts/ends of strings rather than lines

2018-08-09  Sergey Vinokurov  <serg.foo@gmail.com>

	Optimise away string allocations in ivy-add-prompt-count

2018-08-09  Sergey Vinokurov  <serg.foo@gmail.com>

	Simplify ivy-add-prompt-count

2018-08-09  Sergey Vinokurov  <serg.foo@gmail.com>

	Use 'string-match-p' instead of 'string-match' where applicable

2018-08-09  Yutian Li  <hotpxless@gmail.com>

	counsel.el: Bind apropos-command.

	Fixes #1582

2018-08-09  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-alt-done): Sync docstring with manual

	Document behaviour during file name completion as per "(ivy) Key 
	bindings for single selection action then exit minibuffer".

	Re: #1709 Fixes #1710

2018-08-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Avoid modifying alist collection

	Re #1706

2018-08-09  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--reset-state): Simplify sort condition

	Fixes #1706

2018-08-09  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--reset-state): Simplify

2018-08-09  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--reset-state): Filter sorted alist

	Fixes #1705

2018-08-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Extend counsel-unquote-regex-parens tests

	counsel.el (counsel-unquote-regex-parens): Improve error message for
	case that should never happen(TM). ivy-test.el
	(counsel-unquote-regex-parens): Test cons argument and all supported
	parentheses.

	Re: #1704

2018-08-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--buffer-list): Fix regression

	We rely here on `propertize' making a copy of a string. Since the same 
	string is used in *Buffer List*, and we don't want to change faces 
	there.

	Introduced: 1fcbd4913be471f169e58b2a8fb9468ad2504818 Re #1704

2018-08-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Widen counsel-describe-function collection

	counsel.el (counsel-describe-function): Describe also unbound but
	documented function symbols.

	Fixes #1707

2018-08-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Use custom-variable-p in counsel-set-variable

	counsel.el (counsel-set-variable): Use custom-variable-p instead of
	inspecting the custom-type property, which is only set when a defcustom
	has a :type.

	Re: #1643

2018-08-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify variable completion

	(counsel--variable-p): New predicate.
	(counsel-describe-variable, counsel-set-variable): Use it.
	(counsel-variable-list): Remove, replacing with counsel--variable-p.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-on-del-error-function): Simplify

	No need to handle delete-selection-mode here, and this also pacifies the
	Emacs 24 byte-compiler.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-git-checkout-action): Touch-up

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify counsel-imenu-categorize-functions

	counsel.el (counsel-imenu-categorize-functions): Simplify.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Pacify byte-compiler

	ivy.el: Declare inhibit-message before its first use. Declare
	Info-read-node-name-1. swiper.el: Declare inhibit-message for Emacs 24.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Quote function symbols with #'

	counsel.el (counsel-irony-callback, counsel-git-stash)
	(counsel-find-file-move, counsel-find-file, counsel-org-goto-all)
	(counsel-org-file, counsel-semantic): ivy.el (ivy-thing-at-point,
	ivy-alt-done, ivy--sorted-files)
	(ivy--reset-state, ivy-completing-read, ivy--exhibit)
	(ivy-switch-buffer-other-window): swiper.el (swiper-multi, swiper-all):
	#'-quote function symbols.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-library-candidates): Simplify

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--virtual-buffers): Simplify II

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--virtual-buffers): Simplify I

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Use delete-dups where appropriate

	(ivy--directory-done, ivy--reset-state): Replace cl-delete-duplicates
	with delete-dups.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-switch-buffer): Fix this-command usage

	Do not let-bind this-command as per "(elisp) Command Loop Info".

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--M-x-externs): Touch-up

	Document return value format and reformat amx-cache transformation.

	Re: #1613, #1614, #1615

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-thing-at-point): Simplify

	Flatten nested or-let-cond structure.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-apropos): Set sort & preselect

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-apropos): Simplify

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-call): Simplify II

	Reduce nesting of conditionals.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-call): Simplify I

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Add convenience function ivy--parent-dir

	(ivy--parent-dir): New function
	(ivy-backward-delete-char, ivy-backward-kill-word)
	(ivy--reset-state): Use it.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--add-face): Update docstring

	Re: #1634

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--recompute-index): Simplify

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--find-file-action): Simplify

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Use the variable, not function, buffer-file-name

	counsel.el (counsel-git-change-worktree-action)
	(counsel-org-agenda-headlines--candidates): ivy.el (ivy-push-view): 
	doc/ivy-ox.el (ivy-info-dir): Replace calls to buffer-file-name with its
	value.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--buffer-list): Optimise

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Replace assoc with assq where appropriate

	(ivy-completing-read, ivy--filter, ivy--buffer-list): Replace assoc with
	assq.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify regexp unquoting

	(counsel-unquote-regex-parens): Simplify.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Reword docstring of symbol history var

	(counsel-describe-symbol-history): Reword docstring.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: #'-quote defalias definitions

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Optimise counsel-unicode-char

	(counsel--unicode-names): Do allocate candidates twice.
	(counsel-unicode-char): Reorder ivy-read args.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Free counsel-outline markers after use

	(counsel--outline-free-markers): New function.
	(counsel-org-goto-all, counsel-outline): Use it.
	(counsel-outline-candidates): Document onus on callers to free markers.

	Fixes #1700

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Pacify byte-compiler

	The byte-compiler complains when a varaliased user option is used before
	its declaration, so move the declarations to their call site. Keep
	varaliases and declarations together.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify counsel-outline functions

	(counsel-outline-candidates): Flatten nested let-expressions.
	(counsel-outline--add-face): Modify string in place. Use new name
	counsel-outline-face-style instead of obsolete name 
	counsel-org-goto-face-style.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Various counsel-outline docfixes

	(counsel-outline-display-style, counsel-outline-path-separator)
	(counsel-outline-face-style, counsel-outline-custom-faces)
	(counsel-outline-settings, counsel-outline-title)
	(counsel-outline-title-org, counsel-outline-title-markdown)
	(counsel-outline-title-latex, counsel-outline-level-emacs-lisp)
	(counsel-outline-candidates, counsel-outline--add-face): Copy-edit
	documentation for clarity and formatting and according to
	"(elisp) Documentation Tips".

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Various counsel-outline housekeeping

	(counsel-org-goto-all, counsel-outline-title-org)
	(counsel-outline-candidates): #'-quote function symbols.
	(counsel-org-goto): Remove unused internal aliases.
	(counsel-org-agenda-headlines--candidates): Use current name of obsolete
	varaliases.
	(counsel-outline-face-style): Add documented option nil to :type.
	(counsel-outline-settings, counsel-outline-title-markdown)
	(counsel-outline-candidates, counsel-outline-action): Reindent.
	(counsel-outline-title-latex): Do not unnecessarily set match data. 
	Align side comments.  Use inline comments for longer descriptions. Do
	not expect forward-list to return resulting position, as this is not
	documented.
	(counsel-outline--preselect): Set initial value to zero.
	(counsel-outline): Tweak docstring and prompt.	Use assq.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Touch-up counsel-package actions

	(counsel-package-action, counsel-package-action-homepage): Simplify.
	(counsel-package-action-describe): Clarify docstring.

	Fixes #1703

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--package-sort): Docfix

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Simplify counsel-package collection

	(counsel--package-candidates): New function.
	(counsel-package): Use it.
	(counsel-package-make-package-cell): Remove, replacing with
	counsel--package-candidates.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-package): Update docstring

	Clarify wording and document all additional actions.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-package): Fix initial input

	Do not hard-code :initial-input.

2018-08-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-package): Load package.el

2018-08-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--re-builder): Fix for when re-builder returns list

	Fixes #1692

2018-08-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Standardise defalias indentation

	CONTRIBUTING.org: Suggest common-lisp-indent-function setting similar to
	that of lisp-indent-function. counsel.el (counsel--push-xref-marker): 
	ivy.el (ivy--dirname-p): Reindent accordingly.

	Re: #1601, #1602, #1612 Fixes #1702

2018-08-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix mentions of counsel-symbol-at-point in docs

	doc/ivy.org, doc/ivy.texi (Example - counsel-describe-function): Replace
	obsolete counsel-symbol-at-point with its alias ivy-thing-at-point.

	Fixes #1701

2018-08-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--format-minibuffer-line): Make purer

	Copy string argument before destructively removing its properties.

2018-08-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Fontify completion annotations

	(ivy--format-minibuffer-line): Apply completions-annotations face to 
	result of :annotation-function.

	Re: #1489

2018-08-04  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-bookmark): Specify :history

	Re: https://emacs.stackexchange.com/q/43919/15748

2018-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur-use-find): Default to t on non-Linux

	Fixes #1686

2018-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Limit swiper-use-visual-line to 400
	lines

	Re #925

2018-07-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix for alists that require sorting

	Fixes #1687

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): shorten docstring

	Fixes #1684

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-org-goto, counsel-outline): make aliases

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): add :history and :caller

	Also allow to set them in `counsel-outline-settings', and update default
	org-mode setting to reflect `counsel-org-goto'.

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline-title-latex): use bound-and-true-p

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): clean docstring

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): simplify lisp outline-level fn

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): support built-in latex mode

2018-07-30  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): correct and clarify docstrings

2018-07-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Support :annotation-function of completion-extra-properties

	* ivy.el (ivy-completion-in-region): Don't remove text properties.
	(ivy--format-minibuffer-line): When :annotation-function is bound, use
	it.

	Fixes #1489

2018-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-outline-candidates): Refactor

	Re #1681

2018-07-26  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): Use a variable to store mode settings

	Fixes #1681

2018-07-26  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): Handle major modes and display styles

2018-07-26  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-outline): only look for outline regexp at bol

	From the docstring of `outline-regexp':

	"Note that Outline mode only checks this regexp at the start of a line,
	so the regexp need not (and usually does not) start with ‘^’."

2018-07-25  Nicholas D Steeves	<nsteeves@gmail.com>

	Add installation instructions for Debian and derivatives.

2018-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	.dir-locals.el: Simplify outline-regexp

	Re #1681

2018-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-impossible-p): Use string-width

2018-07-23  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Silence Emacs 24 byte-compiler

	Fixes #1677 Fixes #1678

2018-07-23  Davide Masserut  <d.masserut@gmail.com>

	counsel.el (counsel-locate): Add "open as root" action

	Fixes #1676

2018-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix ivy-state-collection alist idx not in
	sync

	For alist-type collections, indices are set as text properties. This is
	to distinguish two items that have the same string description.

	When sorting, things went out of sync: `ivy-call' was looking at
	`ivy-state-collection' which was kept unsorted, but was using the
	"idx" text property of a sorted collection.

	Fixes #1680

2018-07-19  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Silence byte-compiler

	Re: #1669 Fixes #1675

2018-07-19  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-more-chars-alist): Doc fix

	Fixes #1672

2018-07-19  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-alist-setting): Fix fallback; document

2018-07-19  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-more-chars): Simplify

2018-07-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-impossible-p): Improve

	Take the length of all shown candidates into account, not just the 
	currently selected one.

2018-07-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-left-pad): Fix when there's horizonal scroll

2018-07-18  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-find-file-move): Add and bind

2018-07-18  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-find-file-delete): Add and bind

2018-07-17  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-org-capture): Don't overlook templates contexts

	Fixes #1669

2018-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Remove the change to post-command-hook by ESS

	Fixes #1660

2018-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Move set-window-text-height call

	From post-command-hook to minibuffer-setup-hook.

	Re #1667

2018-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix issue of minibuffer height 1 for
	ivy-add-newline-after-prompt

	When there are no candidates and the minibuffer window size is 1, it 
	should be set to 2 instead to add space for the newline.

	Fixes #1667

2018-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Don't insert the default for read-directory-name

	No need for the top two candidates (one of them "./") to point to the 
	same thing.

	* ivy-test.el: Add test for the expected behavior.

2018-07-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-more-chars-alist): Add

	Fixes #1663

2018-07-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Refactor calls to counsel-more-chars

	Re #1663

2018-07-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--push-xref-marker): Silence compiler warning

2018-07-12  ivasonn  <ivasonn@gmail.com>

	Move counsel search commands list to variable.

	Help with extend other commands (for example spacemacs/counsel-search)

	Fixes #1661

2018-07-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-tag): No need to bind org-setting-tags

	Re #1656

2018-07-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag): Allow no space before -- when specifying extra
	args

	Fixes #1498

2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-org-tag): Minor aesthetics

2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-org-tag): Fix for Org 9

	Org 9, which shipped with Emacs 26, introduced a new buffer-local 
	variable org-current-tag-alist which incorporates the values of 
	org-tag-alist and org-tag-persistent-alist.

	Fixes #1654

2018-07-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fixup

	Fixes #1648

2018-07-05  Vincent Zhang  <seagle0128@gmail.com>

	ivy.el: Fix counsel-describe-variable, counsel-describe-function, others
	erroring.

	Fixes #1647 Fixes #1649

2018-07-03  Radon Rosborough  <radon.neon@gmail.com>

	ivy.el: Drop preselected candidate after input

	Fixes #1573 Fixes #1563

2018-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep): Don't pass too long lines as :preselect

	The issue is that :preselect is used as a regex in
	`ivy--preselect-index'. And we get:

	    Invalid regexp: "Regular expression too big"

	if we pass a 100000 chars long string as a regex.

	Fixes #1644

2018-07-03  Justin Burkett  <justin@burkett.cc>

	counsel.el (counsel-set-variable): Add prefix arg behavior.

	Filter out vars without custom-type properties.

	Fixes #1643

2018-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix :predicate not getting applied

	Fixes #1158

2018-06-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--add-face): Move require colir to top-level

	`ivy--add-face' is called frequently, and calls to `require' aren't 
	free.

	Moreover, this bit in the source code of `require' looks troublesome:

	    tem = Fcons (Qrequire, feature);

	Re #1571

2018-06-25  Eric Danan	<eric.danan@u-cergy.fr>

	counsel.el (counsel-org-agenda-headlines): require org

2018-06-19  Basil L. Contovounesios  <contovob@tcd.ie>

	Use compatibility shim for add-face-text-property

	ivy.el (ivy--add-face): Minor simplification.
	(ivy-add-face-text-property): Expand arglist to that of 
	add-face-text-property, but with the order of the last two args flipped.
	 Move compatibility check from runtime to evaluation time. Use
	font-lock-prepend-text-property instead of 
	font-lock-append-text-property when applicable.
	(ivy-append-face): Replace font-lock-append-text-property with 
	ivy-add-face-text-property.
	(ivy-display-style): doc/ivy.org (Installation, Defcustoms): Mention
	Emacs 24.4 instead of 24.5. counsel.el (counsel-git-grep-transformer): 
	ivy-overlay.el (ivy-display-function-overlay): Replace
	add-face-text-property with ivy-add-face-text-property.

	Re: #1634

2018-06-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-prompt): Use ivy-add-face-text-property for compat

	Fixes #1634

2018-06-18  James Wang	<james.wong.academic@outlook.com>

	counsel.el (counsel-locate-cmd-es): Match path

	Fixes #1633

2018-06-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix inability to create a file

	Could not create a file.

	Introduced in: d3099ce0b1c8355ebd83649e29e653c786db27f4

	Re #1623

2018-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix subr-x usage

	counsel.el (counsel-git-worktree-list, counsel-git-branch-list): Let
	split-string do trimming, rather than doing it manually with Emacs 24.4
	string-trim-right. doc/ivy-ox.el: Do not load subr-x during byte-code
	interpretation. swiper.el (swiper-occur): Remove subr-x runtime
	dependency and simplify.

	Fixes #1629 Fixes #1630

2018-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Remove top-level esh-util dependency

	(counsel-prompt-function-dir): Load esh-util on demand.

2018-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Future-proof etags/xref dependency

	(counsel--push-xref-marker): New function localizing etags/xref
	dependency.
	(counsel--find-symbol): Use it.

2018-06-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix dir or file logic error

	Before: when the current *text* is an existing directory, "C-j" will cd
	there. After:  when the current *candidate* is an existing directory,
	"C-j" will cd there.

	Re #1102 Fixes #1623

2018-06-15  Basil L. Contovounesios  <contovob@tcd.ie>

	Update library headers

	colir.el: Quote URL as in docstrings. counsel.el: Extend feature list. 
	ivy-hydra.el: ivy-overlay.el: ivy-test.el: ivy.el: swiper.el: Use
	consistent comments/spacing in library headers. doc/ivy-ox.el: Enable
	lexical-binding.

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Update package keywords

	counsel.el: ivy-hydra.el: Update keywords header as per "(elisp) Library
	Headers".

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Reorganize headings

	(counsel-company, counsel-irony): Move to Completion at point.
	(counsel-apropos, command-history, counsel-faces): Move to Elisp
	symbols.
	(counsel-bookmark, counsel-file-register): Move to Files.
	(counsel-file-jump, counsel-dired-jump): New subheadings split from File
	Jump and Dired Jump.

	(Org): New heading.
	(counsel-org-tag, counsel-org-file, counsel-org-entity)
	(counsel-org-capture, counsel-org-agenda-headlines): Move here.

	(Misc Emacs): Rename to Misc. Emacs.
	(counsel-ibuffer, counsel-switch-to-shell-buffer)
	(counsel-unicode-char, counsel-colors, counsel-colors-emacs)
	(counsel-colors-web): Move here.

	(Misc OS): Rename to Misc. OS.
	(counsel-mode): Promote to top-level heading.

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	Update copyright notices

	.dir-locals.el: Configure copyright-names-regexp for use with
	copyright-update. colir.el: counsel.el: ivy-hydra.el: ivy-overlay.el: 
	ivy-test.el: ivy.el: swiper.el: doc/ivy-ox.el: doc/ivy.org: Update
	copyright notice for 2018. doc/ivy.texi: Re-export.

	Fixes #1624

2018-06-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Map <right> to ivy-forward-char

	Fixes #1622

2018-06-14  Radon Rosborough  <radon.neon@gmail.com>

	ivy.el (ivy-call): Restore previous buffer

	In cases where `set-buffer' was called before `ivy-read', the correct 
	window was restored but the effects of `set-buffer' were lost. Restoring
	the buffer explicitly fixes the problem.

	Evaluate the following code to check if the bug is fixed:

	(with-current-buffer "*scratch*"
	 (set-buffer "*Messages*")
	 (ivy-read "Select one: " (list "X") :action (lambda (x) x))
	 (pcase (buffer-name)
	   ("*scratch*" (message "Buffer was not restored correctly."))
	   ("*Messages*" (message "Buffer was restored correctly."))
	   (_ (message "Something unexpected has happened."))))

	Fixes #1607

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-read): Default :caller to this-command

	Re: #1297, #1606, #1619 Fixes #1621

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-faces): Simplify

	Do not hard-code prompt format.
	(counsel--faces-fmt, counsel-faces--sample-text): Remove.
	(counsel--faces-format-function): Use list-faces-sample-text instead of
	counsel-faces--sample-text. Accept FORMAT argument analogous to
	counsel--faces-fmt and return lambda suitable as ivy-format-function.

	Fixes #1620

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Make face describing more customizable

	(counsel-faces-action-describe): Rename to...
	(counsel-customize-face): ...this.
	(counsel-customize-face-other-window): New function.

	(counsel-describe-face-function): New user option, similar to 
	counsel-describe-function-function and 
	counsel-describe-variable-function.
	(counsel-describe-face, counsel-faces): Use it as the default
	:action.  Remove duplicate actions "d", "i", and "k". Add
	counsel-customize-face-other-window as a new action "C".

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Use face-name-history

	(counsel-describe-face, counsel-faces): Use it.
	(counsel-faces-history): Remove.

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-describe-face): Use face-list

	This collapses face aliases like describe-function.

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-faces): Autoload command

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Touch-up face function ivy-read args

	(counsel-describe-face): Enable :require-match and :sort.
	(counsel-faces): Reorder ivy-read args.

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix face preselects

	(counsel--face-at-point): New function.
	(counsel-describe-face, counsel-faces): Use it to determine :preselect
	face.

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-faces): Clarify docstring

2018-06-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-describe-face): Set :caller

	Fixes #1619

2018-06-14  Eric Danan	<eric.danan@u-cergy.fr>

	ivy.el (ivy--reset-state): Use copy-sequence when sorting collection

	This avoids modifications of external data that could be caused by 
	sorting with a collection function.  Calling `copy-sequence` inside
	`ivy--reset-state` rather than requiring the collection function to do 
	so has the advantage that it only happens if the collection is smaller 
	than `ivy-sort-max-size`, which limits the performance impact.

	Fixes #1617

2018-06-14  Mike Crowe	<mac@mcrowe.com>

	counsel.el: counsel--git-grep-count-func-default submodule support

	(counsel--git-grep-count-func-default): Ask Git where the .git directory 
	is for the repository in the current directory.

	Modern Git puts all the git directories for submodules underneath the
	top level `.git` directory and then leaves a "git-file" in the submodule
	which points back to the repository inside the top-level .git directory.
	This means, that within a submodule, the `.git` file contains something
	like:

	 gitdir: ../../.git/modules/submodule-repo-name

	counsel--git-grep-count-func-default runs "du -s .git 2>/dev/null" which
	is bound to give a very small answer for just this small file.

	So, let's ask Git to tell us where the real .git directory is and
	calculate the size of that.

	Fixes #1558

2018-06-14  Radon Rosborough  <radon.neon@gmail.com>

	swiper.el (swiper--add-overlays): Use count-lines

	Fixes #1600

2018-06-14  Radon Rosborough  <radon.neon@gmail.com>

	swiper.el: Don't highlight multiline matches

	This corrects an inconsistency between the search results and the 
	highlighting which happens when a regexp can match newlines.

2018-06-13  Radon Rosborough  <radon.neon@gmail.com>

	Add .dir-locals-2.el to .gitignore

	Fixes #1608

2018-06-13  Radon Rosborough  <radon.neon@gmail.com>

	Highlight multiple regexps correctly

	Fixes #654 Fixes #1550 Fixes #1587 Supersedes #1551

2018-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-minibuffer-line): Apply ivy-cleanup-string

	Fixes `counsel-yank-pop` when some text with the `field' property is in
	the kill ring (e.g. from `comint-mode').

2018-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-thing-at-point): Strip text properties

	Fixes #1594

2018-06-08  Jimmy Aguilar Mena	<kratsbinovish@gmail.com>

	Fix the format of amx-cache

	Fixes #1613 Fixes #1615

2018-06-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix compile warnings

2018-06-08  Radon Rosborough  <radon.neon@gmail.com>

	Improve aesthetics of reindented code

2018-06-07  Radon Rosborough  <radon.neon@gmail.com>

	Fix indentation

	See https://github.com/abo-abo/swiper/pull/1601#issuecomment-395544571

2018-06-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	CONTRIBUTING.org: Add more info on setting up automatic indentation

	Re #1602

2018-06-07  Radon Rosborough  <radon.neon@gmail.com>

	Suggest changing lisp-indent-function

	Fixes #1602

2018-06-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	.dir-locals.el: Add comment for lisp-indent-function

	Fixes #1601

2018-06-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Support amx in addition to smex

	(counsel--M-x-externs): New function.
	(counsel-M-x): Use it.	Conditionally call amx-rank or smex-rank, when
	available, from the action function.

	Borrowing heavily from and building on the work and suggestions of Jimmy
	Aguilar Mena <kratsbinovish@gmail.com> (@Ergus) in #1580.

	Fixes #1557 Fixes #1585

2018-06-07  Justin Burkett  <justin@burkett.cc>

	Show docstring in counsel-set-variable if lv available

	* counsel.el (counsel-set-variable): Show variable docstring when lv is
	 available

	Fixes #1595

2018-06-07  Eric Danan	<eric.danan@u-cergy.fr>

	ivy.el (ivy-reset-state): Use ivy-sort-max-size for collection functions

	Fixes #1592

2018-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Add prefix arguments to yank commands

	(ivy--yank-by): Clamp new position within original line bounds.
	(ivy-yank-word, ivy-yank-symbol, ivy-yank-char): Accept optional prefix
	argument.

	Fixes #1604

2018-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--yank-by): Allow yank to reach EOL

	Previously, if FN (e.g. forward-word) moved point to the next line, the
	yank would be "aborted" (i.e. original point would be restored and no
	text would be inserted).  This change allows ivy--yank-by to continue
	yanking as far as possible within the current line.

2018-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--yank-by): Make safer

	Wrap motion in unwind-protect to ensure point is restored in the 
	theoretical case that something goes wrong.  Specify FIXEDCASE and 
	LITERAL arguments to replace-regexp-in-string.

2018-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Add new command ivy-yank-symbol

	ivy.el (ivy-yank-symbol): New command. swiper.el
	(swiper--update-input-ivy): Make exception for it. doc/ivy.org (Key
	bindings that alter the minibuffer input): Mention it.

2018-06-06  Basil L. Contovounesios  <contovob@tcd.ie>

	Add Ivy version of isearch-yank-char

	ivy.el (ivy--yank-by): New function generalising old ivy-yank-word.
	(ivy-yank-word): Use it.
	(ivy-yank-char): New command. swiper.el (swiper--update-input-ivy): Make
	exception for it. doc/ivy.org (Key bindings that alter the minibuffer
	input): Mention it.

	Re: #1588

2018-06-06  Radon Rosborough  <radon.neon@gmail.com>

	swiper.el: Replace `isearch-lazy-highlight-face'

	`isearch-lazy-highlight-face' was declared obsolete in Emacs 22.1 in 
	favor of `lazy-highlight', and removed in Emacs 25.1. Therefore,
	`swiper-match-face-1' failed to have any effect.

	Fixes #1591

2018-06-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Fix for spaces in regex

	Example search (in my keys.el):

	    global kbd "\([^"]+\) '\(.*\))

	This will result in:

	    C-c a org-agenda
	   C-c b counsel-bookmark
	   C-c d counsel-descbinds

2018-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-directory-name): Rename from
	counsel-directory-parent

2018-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-imenu-categorize-functions): Fixup

	Fixes #775

2018-05-17  Yevgnen Koh	 <wherejoystarts@gmail.com>

	counsel.el (counsel-imenu): Show functions as "Functions: func".

	Add the missing category of functions for counsel-imenu. The global
	function is display in "Functions: func". All the other contents will
	retain unchanged, e.g.
	   Package: pack
	   Variables: var
	   Import: pack

2018-05-17  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Explicitly create async command buffer

	(counsel--async-command): Pass start-file-process-shell-command an
	existing buffer to avoid tramp-file-name-handler choking in Emacs
	versions prior to 26.

	Fixes #1522

2018-05-15  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Pacify byte-compiler

2018-05-15  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--sort-function): Handle anonymous fns

	ivy-test.el (ivy--sort-function): New test.

	Fixes #1574

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Revert recent obsolete function alias

	(counsel-ibuffer-visit-ibuffer): counsel-ibuffer-visit-vanilla-ibuffer
	was deemed internal enough not to warrant an obsolete function alias.

	Re: #1569

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Improve shell buffer switching

	(counsel-list-buffers-with-mode): Rename to counsel--buffers-with-mode.
	(counsel-switch-to-buffer-or-window): Fix docstring. Rename to
	counsel--switch-to-shell.  Support multiple frames and avoid
	switch-to-buffer pitfalls by using pop-to-buffer.
	(counsel-switch-to-shell-buffer): Use their new names.

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Reorder final sections

	Move Ibuffer section before counsel-mode. Untangle
	counsel-switch-to-shell-buffer from counsel-mode.

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Touch-up Ibuffer functions

	(counsel-ibuffer, counsel-ibuffer--get-buffers): Simplify logic.
	(counsel-ibuffer-visit-buffer-other-window): Improve docstring.
	(counsel-ibuffer-visit-vanilla-ibuffer): Ditto. Rename to
	counsel-ibuffer-visit-ibuffer.

2018-05-14  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Avoid popping up Ibuffer window

	(counsel-ibuffer--get-buffers): Avoid window/frame configuration changes
	when creating a new Ibuffer.

2018-05-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Allow counsel-rg to search for { and }

	Emacs-style escapes are used. To look for e.g. "map}", your input should
	be "map\\}".

	Fixes #1566

2018-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Minor touch-ups

	(ivy--regexp-quote): #'-quote value.
	(ivy--reset-state): #'-quote function symbols. Replace assoc with assq.

2018-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Various sort-related simplifications

	(ivy-rotate-sort, ivy--sorted-files, ivy--reset-state, ivy--sort)
	(ivy--sort-maybe, ivy--flx-sort): Simplify and optimise logic.

2018-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	Conflate caller & this-command in ivy--reset-state

	ivy.el (ivy--reset-state): Fall back to this-command when
	ivy-state-caller is nil.

	Re: #1567

2018-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Change default fallback sort function

	(ivy-string<): New function.
	(ivy-sort-functions-alist): Fall back on it.

	Fixes #1565, #1567

2018-05-13  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--sort-function): Handle list of fns

	Re: #1567

2018-05-11  Radon Rosborough  <radon.neon@gmail.com>

	ivy.el (ivy--sort-function): Handle fallback

	Fixes #1561.

2018-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix :preselect getting deselected with new input

	When there's new input, and it still matches :preselect, the current 
	candidate should not change.

	* ivy.el (ivy--recompute-index): Update.

	* ivy-test.el (ivy-read): Add test.

2018-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-fzf-cmd): Add quotes

	Fixes inputs with spaces in them.

	Fixes #1544

2018-05-06  Muir Manders  <muir.manders@gmail.com>

	Improve swiper handling of invalid regexes

	Now when splitting apart the input by space, we always regex escape each
	part if it is an invalid regex.

	For regex-ignore-order, this fixes a bug where in swiper you couldn't
	hit RET to go to the line of the selected match if your input was an
	invalid regex. ignore-order had logic to escape invalid regexes, but
	swiper calls ivy--regex on the input, which previously was not
	performing the same escaping.

	For regex-plus, you now also get a literal search if you enter an 
	invalid regex (previously it silently failed to search). It seems like 
	this is an improvement in behavior, but perhaps it will annoy regex-plus
	users.

	Fixes #1545

2018-04-29  Alex Kost  <alezost@gmail.com>

	counsel.el: Add counsel-key-binding face

2018-04-26  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-org-entity): Touch-up

	Fixes #1540

2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Work around current-kill pitfalls

	(counsel--yank-pop-kills): Clarify docstring.  Don't fail if kill-ring
	and result of interprogram-paste-function are both nil. Remove obsolete
	ivy-cleanup-string filtering.
	(counsel-yank-pop-action): Avoid unexpected additions to kill-ring.
	(counsel-yank-pop-action-remove): Remove redundant call to
	counsel--yank-pop-kills.
	(counsel-yank-pop-action-rotate): Allow forced update of window system
	selection even when yank pointer rotation is a no-op. Remove unnecessary
	ivy-state-collection update. Avoid unexpected additions to kill-ring.
	(counsel-yank-pop): Remove redundant varbinds.

	Re: #1523

2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Housekeeping

	(counsel-yank-pop-truncate-radius): Relocate to counsel-yank-pop
	sections, where it belongs.
	(counsel-org-headline-display-style): Reindent docstring.
	(counsel-yank-pop-filter): Reword docstring.

2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Minor touch-ups

	(counsel--unicode-names): Refill comment.
	(counsel-grep-swiper-limit): Touch-up docstring.
	(counsel-expression-history): Clarify prompt.  Specify :caller. Do not
	modify history.
	(counsel-shell-command-history):
	(counsel-minibuffer-history): Clarify prompt.

	Fixes #1538

2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fixup obsolete definitions

	(counsel-prompt-function, counsel-yank-pop-height):
	(counsel-evil-registers-height): Declare obsolescence before definition.
	 Do not replicate `use instead' string.
	(counsel-evil-registers-height): Ditto.	 Fix varname typo.
	(counsel-expression-history, counsel-shell-command-history): Declare
	obsolescence before definition.	 Fix version string. Move functions
	under same heading as their replacement counsel-minibuffer-history.

2018-04-24  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Call gtk-launch asynchronously

	(counsel-linux-app-action-default, counsel-linux-app-action-file): Make
	asynchronous.

	Re: #1483

2018-04-23  Basil L. Contovounesios  <contovob@tcd.ie>

	Pacify byte-compiler

	As of recently [1: 495963cfaf], the byte-compiler warns about 
	defvaraliases appearing after their corresponding variable.

	[1: 495963cfaf]: 2018-04-20 17:22:47 -0400
	 * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defvar-function):
	
	https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=495963cfaf535646350051f47c085b84319572f0

	* counsel.el (counsel-org-headline-display-style)
	(counsel-org-headline-path-separator)
	(counsel-org-headline-display-tags)
	(counsel-org-headline-display-todo): Move varaliases before their vars.
	* ivy.el (ivy-backward-delete-char): Call delete-backward-char 
	interactively, forwarding prefix-arg.  This warning was not emitted when
	its alias backward-delete-char was called instead.

2018-04-23  Basil L. Contovounesios  <contovob@tcd.ie>

	Expand documentation of ivy-on-del-error-function

	* doc/ivy.org (Defcustoms): Fix typos and clarify documentation of
	ivy-on-del-error-function.
	* ivy.el (ivy-on-del-error-function): Clarify docstring and custom
	:type.
	(ivy-backward-delete-char): Clarify docstring. Refer to
	delete-backward-char, rather than its alias.

2018-04-23  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: (counsel-M-x-transformer): Optimise II

	Avoid the key-description -> kbd round trip.

2018-04-23  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: (counsel-M-x-transformer): Optimise I

	Reduce number of strings created.

2018-04-23  Basil L. Contovounesios  <contovob@tcd.ie>

	Fix spurious counsel-M-x-transformer bindings

	counsel.el (counsel-M-x-transformer): Only replace C-x 6 with <f2> when
	their definitions are equal.

2018-04-20  Amol Mandhane  <manamol296@gmail.com>

	Add variable to set :dynamic-collection on ivy-completing-read.

	Some functions with completing-read require :dynamic-collection t so
	that the collection function is run again. Helm and Ido have these
	options which the functions can override using (let ...). This commit
	adds a similar option to Ivy.

	Fixes #1524

2018-04-15  nathan moreau  <nathan.moreau@m4x.org>

	ivy.el: a customization mechanism for ivy-height.

	* ivy-height-alist: new variable.

	counsel.el:
	* (counsel-el, counsel--generic, counsel-git-log): make height
	customizable.
	* (counsel-yank-pop-height, counsel-evil-registers-height): kill now
	useless variable.
	* (counsel-yank-pop, counsel-evil-registers): adapt to ivy-height-alist.
	* (counsel-yank-pop-height, counsel-evil-registers-height): make now
	useless variable obsolete.

	Fixes #1531

2018-04-09  Damien Cassou  <damien@cassou.me>

	Give a chance to interprogram-paste-function to alter the kill-ring

	* counsel.el (counsel--yank-pop-kills): Refresh kill-ring before getting
	the list of kills.

2018-04-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Allow browsing kill-ring in read-only buffers

	counsel.el (counsel-yank-pop): Move barf-if-buffer-read-only call from
	here...
	(counsel-yank-pop-action): ...to here.

2018-04-03  Fritz Grabo	 <fritz.grabo@gmail.com>

	CONTRIBUTING.org: Fix typo

2018-04-03  Basil L. Contovounesios  <contovob@tcd.ie>

	colir.el: Require cl-lib dependency

2018-04-03  Basil L. Contovounesios  <contovob@tcd.ie>

	Touch-up ivy-quit-and-run

	ivy.el (ivy-quit-and-run): Add indentation spec.  Eagerly demote our own
	errors for clearer error messages.  Call abort-recursive-edit directly,
	irrespective of delete-selection-mode.
	(ivy-alt-done): swiper.el (swiper-avy): Reindent its call sites.

2018-03-28  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-find-file-mkdir-action): use ivy-text

2018-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-library-other-window): Extract

	Re #1510

2018-03-27  Jonas Bernoulli  <jonas@bernoul.li>

	counsel.el (counsel-find-library): add alternative actions

	Fixes #1510

2018-03-27  Jonas Bernoulli  <jonas@bernoul.li>

	counsel.el (counsel-recentf): add other-frame action

2018-03-27  Jonas Bernoulli  <jonas@bernoul.li>

	counsel.el (counsel-find-file): add other-frame action

2018-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--git-grep-count-func-default): Run du only on .git

2018-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-cmd-default): Add -I: ignore binaries

	Files can be marked as binary in .gitattributes

2018-03-26  Eric Danan	<ricouilletaff@gmail.com>

	ivy.el (ivy--cd): update ivy-state-directory

2018-03-26  Eric Danan	<ricouilletaff@gmail.com>

	ivy.el (ivy--reset-state): allow preselecting a directory with
	read-file-name-inernal

2018-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper): Allow scroll-other-window use

	Fixes #1504

2018-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--extract-matches): Remove extra space

2018-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex): Search "defun \([^ ]+\)" now works

	* ivy-test.el (ivy--split):
	(ivy--regex): Add test.

2018-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--git-grep-count-func): du should not fail

	Fixes #1502

2018-03-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Allow to capture groups from input

	Use case: suppose you have a file with uniform data like this:

	    pathId=72, offset=0, type=7, isUpdate=0, value=471

	You can now extract some of this data for further processing with e.g.
	this input:

	    offset=\([^,]+\),.*value=\([^,]+\),

	Another example, extract all variable names from an Elisp file:

	    defvar \([a-z-]+\)

2018-03-20  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--directory-done): Fix file expansion

	Expand ivy-text file path component relative to ivy--directory before
	passing the result to file/directory predicates.

	Fixes #1494.

2018-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-resume): Simplify

	Re #1095

2018-03-16  Peter  <craven@gmx.net>

	Add text property `buffer` to swiper-multi candidates.

	Fixes #1491. Fixes #1492.

2018-03-15  Eric Danan	<ricouilletaff@gmail.com>

	ivy.el (ivy-switch-buffer): defuns for all actions

2018-03-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--gg-count-sentinel): Fixup

	Revert to the old state:

	- it's preferred to avoid `read', it might execute code;
	- `string-to-number' not only describes the purpose better, but will
	 also return 0 in case the input isn't a number, on which we rely:
	 verify by grepping for something that doesn't exist.

	Fixes #1483

2018-03-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Generalise async counsel processes

	(counsel-delete-process): Take optional process name argument.
	(counsel--async-command): Use it, adding similar optional process name
	argument.  Return process object.  Simplify.
	(counsel--gg-candidates, counsel--gg-count): Reuse
	counsel--async-command.
	(counsel--gg-count-sentinel): New defun extracting lambda sentinel from
	counsel--gg-count.
	(counsel--gg-count): Use it.

2018-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Minor simplifications

	(counsel--gg-count, counsel-linux-app-action-open-desktop): Simplify
	logic.

2018-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--gg-sentinel): Simplify

2018-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--async-filter): Fix & simplify

	The fourth element in (SEC-HIGH SEC-LOW MICROSEC PICOSEC) was only added
	in 24.3.

2018-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--async-sentinel): Simplify II

2018-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--async-sentinel): Simplify I

2018-03-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Make process sentinels more robust

	(counsel--async-sentinel, counsel-cmd-to-dired)
	(counsel--gg-sentinel, counsel--gg-count): Inspect process-status and
	process-exit-status instead of user-facing description.

2018-03-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--line): Don't replace tabs with spaces

	The original intent, I think was the alignment in the minibuffer in case
	of mixed tabs and spaces.

	But doing that prevents `wgrep' from working correctly for files with 
	tabs.

	Fixes #1468

2018-03-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor touch-ups

	counsel.el (counsel--async-exit-code-plist)
	(counsel-async-ignore-re): Fix docstring.
	(counsel-locate-action-extern): Reword docstring and reindent.
	(counsel-locate): Simplify default action. ivy.el
	(ivy-magic-slash-non-match-action): Revert erroneous function-quote.

	Re #1483

2018-02-25  Basil L. Contovounesios  <contovob@tcd.ie>

	Touch-up some defcustom types

	colir.el (colir-compose-method): counsel.el (counsel-prompt-function)
	(counsel-describe-function-preselect): Show function docstrings. ivy.el
	(ivy-sort-matches-functions-alist): Fix quoting. swiper.el
	(swiper-faces): Fix type.

	Fixes #1477

2018-02-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-apps-directories): Fix up type

	Re #1476

2018-02-25  Feng Shu  <tumashu@163.com>

	counsel-linux-apps-directories: Add guixsd's application directory

	* counsel.el (counsel-linux-apps-directories): Add guixsd's application
	directory

	Fixes #1476

2018-02-25  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-ag, counsel-rg): store command persistently

	Fixes #1474

2018-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--switch-buffer-action): Fix virtual buffer priority

	This reverts commit 37c69bcca76a73eb81ed88616ddf2dc0b0a3d2ad.

	Fixes #1473

2018-02-22  Dan Harms  <dan.harms@xrtrading.com>

	Provide hooks to customize counsel-git-grep behavior on large repos

	Fixes #1470

2018-02-21  Justin Burkett  <justin@burkett.cc>

	counsel.el (counsel-outline): autoload

	Fixes #1465

2018-02-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-mkdir-action): Add and bind to "M-o d"

	Fixes #1471

2018-02-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ibuffer--get-buffers): Avoid inf-loop

	Re #1467 Fixes #943

2018-02-21  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-ibuffer--get-buffers): Refactor check for wrap
	around

	Instead of comparing line numbers, we remember the point of the first 
	entry and abort the iteration as soon as this point is encountered for 
	the second time.

	Fixes #1467

2018-02-21  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-ibuffer): Rename variable for ibuffer name

2018-02-21  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-ibuffer) Add action to open vanilla ibuffer

2018-02-21  fabacino  <fabacino@gmail.com>

	counsel.el: Add command `counsel-ibuffer`

	Simple counsel version of `ibuffer`. Credit for the idea belongs to
	@joedicastro.

2018-02-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-file-matcher): Fix for ignore-order

	Fixes #1466

2018-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-file-matcher): Allow use of $ for dirs

	Fixes #1316

2018-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Also works on remote

	* counsel.el (counsel--gg-candidates):
	(counsel--gg-count): Replace `start-process-shell-command' (which relies
	on local-only `start-process') with `start-file-process', which works
	both on local and on remote.

	Fixes #1463

2018-02-15  justin talbott  <justin@waymondo.com>

	add abbreviated path option to ivy-virtual-abbreviate

	This enables the benefit of seeing the exact location of a virtual 
	buffer but with the home relative path, omitting the repetitive
	`/Users/username/` for files in a user’s home directory.

2018-02-15  John Kitchin  <jkitchin@andrew.cmu.edu>

	Add counsel-org-entity

	Fixes #1459

2018-02-14  Sebastian Miele  <sebastian.miele@gmail.com>

	Add /doc/dir, *.info and *-autoloads.el to .gitignore

	Matching files are created (at least) by the Borg package manager.

	Fixes #1457

2018-02-14  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-kill-whole-line): New command

	Fixes #1456.

2018-02-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-exit-with-action): Bring back quotes

	The previous change was breaking `ivy-occur-press'.

	Re #1439.

2018-02-13  Evgeni Kolev  <evgenysw@gmail.com>

	swiper.el (swiper--action): modify isearch-string only when
	evil-search-module is 'isearch

	Fixes #1452

2018-02-12  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify string splitting logic

	ivy.el (ivy--split-negation, ivy--split-spaces): Simplify and optimize
	logic. ivy-test.el (ivy--split-negation, ivy--split-spaces): Add tests.
	(ivy--split): Fix spelling.

	Fixes #1453

2018-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-thing-at-point): Prevent error when url-handler-mode is on

	Test case:

	- Enable `url-handler-mode'
	- Put point on | in
	"http://{{domain}}/wiki/{|_encodeURIComponent(title)}%3Fprintable=yes"
	- call `ffap-file-at-point' will error and print a message

	Fixes #1446

2018-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-display-function-fallback): Add

	Re #1450

	A new display function that requires a specific Emacs version might work
	like this:

	```elisp
	(defun ivy-posframe-workable-p ()
	 "Test ivy-posframe workable or not."
	 (and (>= emacs-major-version 26)
	      (not (or noninteractive
		       emacs-basic-display
		       (not (display-graphic-p))))))

	(defun ivy-posframe-with-check (str)
	 (if (ivy-posframe-workable-p)
	     (ivy-posframe str)
	   (ivy-display-function-fallback str)))
	```

2018-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-directory): Add and bind to "C-M-y"

	Fixes #1333

2018-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--action): A bit more generic

	Re #1406

2018-02-11  Feng Shu  <tumashu@163.com>

	ivy-display-function will be used to set global display function.

	* ivy.el (ivy-display-function): Update docstring, ivy-display-function
	is used set global display function now.
	(ivy-read): Use ivy-display-function first if it is non-nil.

	Fixes #1443

2018-02-11  Feng Shu  <tumashu@163.com>

	Add ivy-display-functions-props and use it

	* ivy.el (ivy--display-function-prop): New function.
	(ivy-display-functions-props): New variable.
	(ivy-read): Use ivy--display-function-prop to get cleanup function.

2018-02-11  Feng Shu  <tumashu@163.com>

	Allow ivy-display-functions-alist adding key: t as fallback

	* ivy.el (ivy-read): Using function associated to t
	 of ivy-display-functions-alist as fallback function.

2018-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Move evil's isearch-string set to swiper--action

	Re #1406

2018-02-09  Basil L. Contovounesios  <contovob@tcd.ie>

	swiper.el: Use new defun ivy--case-fold-p

	(swiper--add-overlays, swiper-all-function): Use ivy--case-fold-p
	introduced in #1447.

2018-02-09  John Eismeier  <john.eismeier@gmail.com>

	Fix some docstring typos

	Fixes #1448

2018-02-09  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Fold case during index recomputation

	(ivy-case-fold-search-default): Use sensible default based on built-in
	user options search-upper-case and case-fold-search. Reduce special
	value 'always' to 't'.	Improve documentation.
	(ivy-toggle-case-fold): Adapt documentation.
	(ivy--case-fold-p, ivy--case-fold-string=): New convenience defuns.
	(ivy-partial, ivy-completion-in-region, ivy--filter)
	(ivy--recompute-index): Use them, also when recomputing index.

	Fixes #1447.

2018-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--switch-buffer-action): Simplify

	Re bef708c26cc93ca1fec19f7e76a3626f3a16bb47

2018-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur-cmd): Update

	Fixes #1441

2018-02-09  Basil L. Contovounesios  <contovob@tcd.ie>

	Turn more quoted lambdas into evaluated ones

	Fixes #1439.

2018-02-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Rename ivy--preferred-re-builders without hyphens

	* ivy.el (ivy--preferred-re-builders): Rename defcustom without double
	hyphens to ivy-preferred-re-builders.  Add obsolete varalias.
	(ivy-rotate-preferred-builders):
	* ivy-hydra.el (ivy--matcher-desc):
	* doc/Changelog.org (ivy-rotate-preferred-builders): Use new name and
	assq in place of assoc where applicable.

	Fixes #1440.

2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor logic and indentation cosmetics

2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>

	Enable sentence-end-double-space in all modes

	.dir-locals.el: Do it.

	Fixes #1434

2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>

	.dir-locals.el: Configure bug-reference-mode

	Enabling bug-reference-mode or bug-reference-prog-mode will link strings
	which look like issue or pull request numbers to the corresponding
	project page.

2018-02-07  Aaron Jensen  <aaronjensen@gmail.com>

	Regexp-quote characters in ivy--regex-fuzzy

	This greatly improves performance when searching large code bases for
	things like `.env.foo`.

	Fixes #1435

2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix and improve counsel-colors-*

	(counsel-colors--best-contrast-color)
	(counsel-colors--update-highlight): Replace with shr-color-visible.
	(counsel-colors--name-to-hex): Fix docstring.
	(counsel-colors--formatter): New defun generalizing 
	ivy--format-function-generic for counsel-colors-emacs and 
	counsel-colors-web and fixing foreground/background contrast of current
	candidate.
	(counsel-colors-emacs, counsel-colors-web): Simplify logic.  Fix 
	docstring.  Do not hard-code ivy-count-format.	Reduce display width. 
	Use counsel-colors--formatter with text properties.
	(counsel-colors--web-colors-alist): Remove.
	(counsel-colors--web-alist): Replacement for 
	counsel-colors--web-colors-alist based on shr-color-html-colors-alist.
	(counsel-colors-action-insert-hex, counsel-colors-action-kill-hex): Use
	text properties.
	(counsel-colors-action-insert-name)
	(counsel-colors-action-kill-name): Redundant; remove.

	Fixes #921 and closes #1436. Fixes #1436

2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>

	.gitignore: Add byte-compiled and backup files

	Fixes #1437

2018-02-06  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-completion-in-region): Allow sorting

	(ivy-sort-functions-alist): Default ivy-completion-in-region to no
	sorting.

2018-02-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Support older Org versions for counsel-org-goto

	The version of org-get-heading which ship with Emacs 24 and 25 can 
	return nil when its two arguments are non-nil.

	counsel.el (counsel-org-goto--get-headlines): Handle this.

	Fixes #1422

2018-02-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-wmctrl): New command

2018-02-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	targets/plain.el: Bind some keys

2018-01-31  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--re-filter, ivy--sort-files-by-date): Simplify

	Fixes #1421

2018-01-31  Basil L. Contovounesios  <contovob@tcd.ie>

	Make counsel--yank-pop-position more robust

	It is unlikely but somehow possible for the properties of S and those of
	its corresponding kill-ring item to not match.	In this case it is
	better to fall back to plain string equality than fail.

	counsel.el (counsel--yank-pop-position): Gracefully degrade if S and its
	properties are not found in kill-ring.

	Fixes #1420

2018-01-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Rely on "du -s" for repo size

	* counsel.el (counsel-git-grep-skip-counting-lines): Remove.  Since
	"du -s" is much cheaper, we don't need to configure skipping it.

	Fixes #1402

2018-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-overlays): Improve highlights with negation

	Example where the change is relevant: in ivy.el, call `swiper' with 
	input "defun!ivy". There is only one match. Unlike before this change,
	"defun" is highlighted only for the match, not anywhere else in the 
	window.

	Another example of useful nagation in ivy.el: "ivy len!--".

	Re #1418

2018-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--highlight-default): Works on negation

	For example, `counsel-M-x' with input "^vi!ew" will correctly highlight
	all commands that match "^vi" but don't match "ew".

	Re #1418

2018-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex-plus): Update and add test

	Fixes #1418

2018-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	targets/plain.el: Add some bindings

2018-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--line): Add bound-and-true-p

	Re #1415

2018-01-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Add helpful-mode

	Fixes #1416

2018-01-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--line): Obey dired-isearch-filenames

	Fixes #1415

2018-01-16  PukiPuki  <dfwong5566@gmail.com>

	Update ivy.el

	minor typo line 577 from explicitely to explicitly

2018-01-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-list-processes): Improve

	Don't mess up the current buffer with a header line.

2018-01-14  vlnx  <vlnx@mail.com>

	Let counsel-set-variable be used non-interactively

2018-01-13  Tomasz Kołodziejski	<tkolodziejski@gmail.com>

	Update doc string

2018-01-13  Tomasz Kołodziejski	<tkolodziejski@gmail.com>

	Preselect current file when showing list of files

2018-01-12  YourFin  <d.junkpobox+github@gmail.com>

	swiper.el (swiper--ivy) Add integration with evil s expressions

	I.e. searching for apple with swiper and then running
	`:s//orange/g` will replace all apples on the line with oranges as 
	expected. Evil uses the last value of `isearch-string' for this 
	completion.

	Fixes #1406

2018-01-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Makefile: Automate generation of ivy.texi

	Re #1405

2018-01-11  Philippe Vaucher  <philippe.vaucher@stvs.com>

	Fix typos

2018-01-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Run gg-count in base directory

	Fixes #1402

2018-01-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Don't treat URLs as dirs

	Fixes #1398

2018-01-08  Nicolas Petton  <nicolas@petton.fr>

	counsel.el (counsel-locate-action-extern): Refactor

	Use start-process-shell-command which already calls call-process with 
	shell-file-name.

	Fixes #1401

2018-01-08  Philippe Vaucher  <philippe.vaucher@stvs.com>

	Advertise counsel-mode

2018-01-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-action): Remove with-ivy-window

	The wrapper isn't necessary.

2018-01-04  Eric Danan	<ricouilletaff@gmail.com>

	ivy.el (ivy-read-action): Support multi-character action keys

	Fixes #1394

2018-01-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg-base-command): Use "-S" in place of "-i"

	"-i" is ignore-case, while "-S" is smart case.

	Fixes #1393

2018-01-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--git-dir): Remove

	Use (ivy-state-directory ivy-last), which holds the value of
	`default-directory' at the point of call of `ivy-read'.

	Fixes #1392

2018-01-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--gg-count): Fixup

2018-01-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Fix history duplicate

	Re #1391

2018-01-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-reverse-i-search): delete-dups

2018-01-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Fix history modified on each char

	Fixes #1391

2018-01-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Decouple counsel-git-grep from counsel--git-dir

	Fix the following bug: suppose I save an ivy-occur session from
	`counsel-git-grep' in project-1. Then do `counsel-git-grep' in 
	project-2.  Going back to use `ivy-occur-press' in the saved session of
	project-1 results in `counsel-git-grep-action' trying to open the file
	in project-2.

	Luckily, each ivy-occur session stores all state in a buffer-local
	`ivy-state' struct, which already has a filed `directory'. We only need
	to fudge this field slightly to represent the project base directory,
	instead of the ususal `default-directory' of the original call.

2018-01-01  Davide Masserut  <d.masserut@gmail.com>

	Add "~/.local/share/applications/" to counsel-linux-apps-directories

2017-12-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic-or-imenu): Add a require

	Fixes #1389

2017-12-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic): Rewrite cands function

2017-12-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Improve

2017-12-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic-or-imenu): New command

	Re #702

2017-12-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic): Expand types recursively

	Fixes #702

2017-12-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic): Add pretty formatting

	* counsel.el (counsel-semantic-history): Add.

	Fixes #702

2017-12-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-files): Speed up

2017-12-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fixup

2017-12-25  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-bookmark): Add 2 actions

	Port 2 actions from counsel-find-file to counsel-bookmark: namely 
	counsel-find-file-extern and counsel-find-file-as-root.

	Closes #948 Fixes #1385

2017-12-25  Damien Cassou  <damien@cassou.me>

	counsel.el (counsel-mode-map): Add counsel-bookmark

	Contributes to #1381

2017-12-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur-cmd): Go back to using ls

	* counsel.el (counsel-find-file-occur-use-find): Add toggle.
	(counsel--occur-cmd-find): Extract.
	(counsel-find-file-occur): Use either "find" or "ls" as base command, 
	depending on `counsel-find-file-occur-use-find'. Seems like "ls" is a 
	better fit: it's shorter, and pressing "g" works better. All "ls" needed
	compared to the previous iteration was the "-d" switch to prevent it
	from expanding directories.

2017-12-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	colir.el (colir-blend-face-background): Update

	* colir.el (colir--blend-background): Extract.

	Re #1293

2017-12-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (colir-blend-face-background): Add tests

	The tests don't actually work, unfortunately, see comment. At least, 
	they describe what should happen.

2017-12-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	colir.el (colir-blend-face-background): Add hack for :foreground

	Test:

	(progn
	 (pop-to-buffer (get-buffer-create "*ivy--add-face*"))
	 (erase-buffer)
	 (let ((str #("One"
		      0 3 (face
			   (:foreground "#DD6F48")))))
	   (insert str "\n")
	   (insert (ivy--add-face str 'ivy-current-match))))

	Re #1293

2017-12-17  Tomasz Kołodziejski	<tkolodziejski@gmail.com>

	Update documentation: ivy-toggle-fuzzy is no more the keybinding

2017-12-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Fix blinking

2017-12-17  cibin mathew  <ikonland@gmail.com>

	Added optional initial-input for swiper-all

	added an optional parameter to supply initial-input for swiper-all
	function

	Fixes #1375

2017-12-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur): Require find-dired

	Re #1351

2017-12-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur-cmd): Major overhaul

	* counsel.el (counsel-git-occur): Use `counsel--expand-ls'.
	(counsel-cmd-to-dired): Now takes `full-cmd' and `process-filter' args.
	(counsel-find-file-occur-cmd): Use "find" in place of "ls". "find" is 
	better since it won't expand the directories.
	(counsel--expand-ls): New defun.
	(counsel--cmd-to-dired-by-type): New defun.
	(counsel-find-file-occur): Do some elaborate command pasting to simply 
	achieve directories being sorted before files.
	(counsel-fzf-occur): Use `counsel--expand-ls'.

	Note to users: if you customized `counsel-find-file-occur-cmd', this 
	change will likely be breaking for you. You need to rewrite your 
	customization in terms of "find", or just use the default value.

	Fixes #1351

2017-12-12  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel--yank-pop-kills): Keep first dup

	Re: #1373

2017-12-11  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop): Add preselect toggle

	(counsel-yank-pop-preselect-last): New defcustom.
	(counsel-yank-pop): Use it.

	Fixes #1371

2017-12-11  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop-action): Save window-start

	Otherwise, calling yank-pop, which expects a previous yank to have saved
	window-start, can result in intrusive recentering of the buffer.

	Fixes #1370

2017-12-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur-cmd): More portable

	xargs doesn't have a "-d" flag on OSX.

	Fixes #1299

2017-12-10  James Nguyen  <james@jojojames.com>

	Add counsel-evil-registers

	Fixes #1368

2017-12-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-action): Extract

	Re #1366

2017-12-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-common-length): Try a different approach

	* ivy-test.el (ivy-completion-common-length): Add test.

	Re #1361

2017-12-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-common-length): Work around inconsistency

	`previous-property-change' behaves strangely, as shown by the added
	test.

	Re #1361

2017-12-10  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Make kill-ring filtering configurable

	(counsel-string-non-blank-p): New function.
	(counsel-yank-pop-filter): New defcustom defaulting to it.
	(counsel--yank-pop-kills): Use it to destructively filter and uniquify
	kill-ring and kill-ring-yank-pointer elements.
	(counsel-yank-pop-action-remove, counsel-yank-pop): Consistently test
	equivalence with equal-including-properties.

	Re: #1356 Fixes #1367

2017-12-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-library): Add :caller

	Fixes #1366

2017-12-09  James Nguyen  <james@jojojames.com>

	Make counsel-yank-pop ivy-height configurable

2017-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-partial-2): Update

2017-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-partial-2): Add version guard

	TODO: Fix this for emacs-24.3

2017-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-common-length): Fix off-by-one

	Fixes #1361

2017-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Expand "(s-c-t-s" appropriately

	* ivy-test.el (ivy-partial-2): Add test.

	Fixes #1361

2017-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-common-length): Simplify

	Simplify the code by returning the position of the text property. This
	will likely be `completions-first-difference'.

	Re #1361

2017-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-minibuffer-history): Add copy-sequence

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Reconcile counsel-yank-pop & ivy-call

	(counsel--yank-pop-kills): New function.
	(counsel-yank-pop): Use it.
	(counsel-yank-pop-action-remove, counsel-yank-pop-action-rotate): Use
	it.  Update collection and preselect for next ivy-call.

	Re: #1133

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Improve counsel-yank-pop actions

	(counsel-yank-pop-action-remove): Simplify logic.
	(counsel-yank-pop-action-rotate): Use current-kill.

	Re: #1133

2017-12-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-action-rotate): Rename from *-position

	Re #1133

2017-12-08  ambihelical	 <ambihelical@users.noreply.github.com>

	Interoperate better with kill-ring

	Make counsel-yank-pop inter-operate better with the existing variable
	kill-ring-yank-pointer

	* Don't let delete leave kill-ring-yank-pointer dangling
	* Add action to set kill-ring-yank-pointer to selection

	Fixes #1133

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	Make consistent use of EOL functions

	* counsel.el (counsel-org-change-tags): Consistently prefer
	line-end-position to its alias point-at-eol.
	* ivy.el (ivy-delete-char, ivy-forward-char, ivy-kill-word): Use eolp.

	Fixes #1357

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Use text prop functions more accurately

	Function remove-text-properties redundantly requires its third argument
	to be a plist, so prefer the otherwise equivalent 
	remove-list-of-text-properties in order to a) reduce the chance of 
	mistakes and b) do what we mean.  The only apparent reason not to use
	the latter is for XEmacs compatibility.

	(ivy-read, ivy-cleanup-string, ivy--insert-prompt): Replace 
	remove-text-properties with remove-list-of-text-properties.

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop): Liken to yank-pop

	The command yank-pop does too much under the bonnet to ever hope to 
	emulate, so use it directly.  This respects and updates various 
	internals, most noticeably kill-ring-yank-pointer, thus allowing 
	consecutive calls to yank to work. See
	https://emacs.stackexchange.com/q/37351/15748.

	(counsel--yank-pop-position): New function.
	(counsel-yank-pop-action): Use yank-pop.
	(counsel-yank-pop): Do The Right Thing w.r.t. point and mark regardless
	of whether last-command was a yank.  Adopt interactive-spec of yank-pop
	and preselect candidate accordingly. Abort on empty/blank kill-ring.

	Fixes #1190 Fixes #1356

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop-truncate-radius): Doc fix

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop): Make purer

	Do not unnecessarily modify kill-ring structure and elements.

2017-12-08  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-yank-pop): Minor touch-ups

	- Hoist common branch code.
	- Heed carriage returns.
	- Consolidate nested lets.

2017-12-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-minibuffer-history): Add delete-dups

	Fixes #1358

2017-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Prefer define-obsolete-variable-alias to defvaralias

	Re #1324

2017-12-07  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix org-get-heading invocation

	(counsel--org-get-heading-args): New defun.
	(counsel-org-goto--get-headlines): Use it. Hoist argument calculation
	out of loop.

	Fixes #1324

2017-12-07  Sebastian Reuße  <seb@wirrsal.net>

	counsel.el: increase org-goto/org-agenda-headlines UI consistency

	* counsel.el (counsel-org-goto): obey new
	‘counsel-org-goto-display-priority’
	(counsel-org-agenda-headlines): obey ‘counsel-org-goto-foo’ variables
	(except for ‘…-face-style’, ‘…-custom-faces’)

	Be compatible with Org versions < 9.1.1

	Rename variables to reflect newly generalized role

	Fixes #1324

2017-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur-cmd): Add

	Re #1299

2017-12-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-stay-on-quit): New defcustom

	Fixes #1319

2017-12-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--cleanup): Add text to history even for "C-g"

	Fixes #1305

2017-12-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-kill): Add and bind to "C-c C-k"

	Fixes #1347

2017-12-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg): Read extra args when current-prefix-arg is
	given

	Re #851

2017-12-05  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: (counsel-org-files): Fix and improve

	(counsel-org-file-ids): Remove function.
	(counsel-org-files): Use org-attach API.  Clarify docstring.

	Re #1340 Fixes #1345

2017-12-05  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-grep): Reject fileless buffers

	Fixes #1343

2017-12-05  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-auto-select-single-candidate): Pacify byte-compiler

2017-12-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer): Handle ivy-state-buffer getting killed

	Fixes #572

2017-12-05  Basil L. Contovounesios  <contovob@tcd.ie>

	Prefer integer positions to markers

	* counsel.el (counsel-jedi): Simplify bounds logic.
	(counsel--py-action): Clarify expected argument type.
	(counsel-el, counsel--py-action):
	* ivy.el (ivy-completion-in-region-action): Consistently set
	ivy-completion-beg and ivy-completion-end to integer positions instead
	of markers.

2017-12-04  Jerome M. Berger  <jeberger@free.fr>

	ivy.el: Disable ivy-auto-select-single-candidate for user@host entry

	Fixes #1326. Fixes #1338.

2017-12-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-files): Use org-attach-directory

	Fixes #1340

2017-12-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--wnd-cands-to-str): Extract

2017-12-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--window-index): Clarify doc

2017-12-04  Justin Burkett  <justin@burkett.cc>

	ivy.el (ivy-occur-grep-mode-map): Use w for wgrep

2017-11-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-mouse-done): Remove ivy-next-line-and-call

	Previously, when completing file names, intermediate dired buffers would
	pop up for directories.

	Re #1279

2017-11-30  nathan moreau  <nathan.moreau@m4x.org>

	Interpret mouse events in the minibuffer managed by ivy.

	mouse events: add help-echo property. mouse events: use interactive
	magic strings. Fix mouse-minibuffer-check error. Apply mouse face even
	when non fancy.

	Handle scroll events.

	This seems to be the best way: portable across implementations, 
	compatible with acceleration/modifiers etc.

	Fix scroll inversion.

	Bind ivy-dispatching-done to mouse 3.

	Adapt tooltip.

	Following ibuffer.el implementation.

	Fixes #1278 Fixes #1279

2017-11-30  WoodenSquares  <woodensquares@mm.st>

	Reworked counsel-fzf to support ctl-u and prompt

	Fixes #1281

2017-11-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Release 0.10.0

2017-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Use fboundp and functionp correctly for great good

	* counsel.el (counsel-el): Simplify predicate to fboundp.
	* ivy.el (ivy-completion-in-region-action): Use fboundp to make feature
	detection more robust while silencing byte-compiler.
	(ivy-switch-buffer): Commands must satisfy functionp, not fboundp.

2017-11-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-describe-function-preselect): New defcustom

	Fixes #1088 Fixes #1330

2017-11-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-list-buffers-with-mode): Use classic dolist

	Re #1334

2017-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Minor major-mode touch-ups

	* counsel.el (counsel-at-git-issue-p, counsel-org-goto, 
	counsel-org-goto-all, counsel-list-buffers-with-mode):
	* swiper.el (swiper-all-buffer-p): Simplify and optimise logic.
	(swiper-font-lock-ensure-p): Fix indentation.

	Fixes #1334

2017-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	Simplify string padding and truncation

	* ivy.el (ivy--truncate-string): Delegate to
	 truncate-string-to-width.
	* ivy-overlay.el (ivy-left-pad): Use ivy--truncate-string.

	Fixes #1329

2017-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-mark-ring): Improve

	(counsel--pad): Remove unnecessary defun.
	(counsel-mark-ring): Support narrowing and ivy-immediate-done. Fix line
	number formatting and mark-ring uniquifying and sorting. Remove
	redundant call to Emacs 25.1 macro save-mark-and-excursion.
	(counsel-mode-map): Replace pop-mark with pop-to-mark-command.

	Fixes #1328

2017-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Minor interactive touch-ups

	(counsel-info-lookup-symbol): Use specialised info-lookup-guess-default
	instead of ivy-thing-at-point. Actually forward to info-lookup-symbol as
	promised. Specify :history and :caller arguments.
	(counsel-git-grep-query-replace): Reduce indentation.
	(counsel-locate-action-extern): Use string interactive spec.
	(counsel-linux-app-action-file, counsel-linux-app-action-open-desktop):
	Remove non-user-errors.

	Fixes #1327

2017-11-29  Basil L. Contovounesios  <contovob@tcd.ie>

	README.md: Update guidelines link

2017-11-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Check string

	Re #1326

2017-11-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-auto-select-single-candidate): Disable on remotes

	Re #1326

2017-11-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-unquote-regex-parens): Handle cons arg

	Fixes #1322

2017-11-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur): Use xargs -d '\n'

	Fixes #1323

2017-11-26  Damien Cassou  <damien@cassou.me>

	Make it possible to configure counsel-describe-variable

	This is useful for users of helpful: https://github.com/Wilfred/helpful.

2017-11-26  Damien Cassou  <damien@cassou.me>

	Make it possible to configure counsel-describe-function

	This is useful for users of helpful: https://github.com/Wilfred/helpful.

2017-11-25  Tomasz Kołodziejski	<tkolodziejski@gmail.com>

	Make sure foo/ directory goes before foo-bar/ directory

	Use directory-file-name.

	Fixes #1315

2017-11-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-capture): Use delq

	Also remove tabs.

	Re #1320

2017-11-24  Eric Danan	<ricouilletaff@gmail.com>

	counsel.el (counsel-org-capture): Add

2017-11-24  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--dirname-p): New function

	Provide compatibility shim for Emacs 25 function directory-name-p.

	Fixes #1317

2017-11-24  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy--minibuffer-setup): Use setq-local

	Fixes #1318

2017-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--init): Turn off reveal-mode for the duration

	Fixes #1312

2017-11-24  Eric Danan	<eric.danan@u-cergy.fr>

	counsel.el (counsel-locate-action-extern): handle cygwin

	Fixes #1314

2017-11-23  nathan moreau  <nathan.moreau@m4x.org>

	Uniformize interface of swiper and counsel-grep{,-or-swiper}.

2017-11-22  Matthew Carter  <m@ahungry.com>

	Add missing re-builder-alist value in docstring

2017-11-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-occur): Fix regex

	Fixes #1299

2017-11-21  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy-overlay.el: Pacify byte-compiler

	Fixes #1301

2017-11-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Makefile: Simplify and reorder compile target

2017-11-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Makefile: Add missing .PHONY targets

2017-11-21  Basil L. Contovounesios  <contovob@tcd.ie>

	Makefile: Reuse implicit variable RM if present

2017-11-21  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy-test.el (ivy-with-r): Use with-output-to-string

	- Reuse existing macro logic.
	- Minimise side effects by passing non-nil NORECORD arg to
	 switch-to-buffer.
	- Consistently quote function symbols as such.

	Fixes #1300

2017-11-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur): Correct regex passed to grep

	Re #1299

2017-11-21  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el: Add buffer->file completion switch action

	Based on the idea of Nathan Moreau <nathan.moreau@m4x.org>.

	Re #1295

2017-11-20  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-add-actions): Delete action dups by key

2017-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sort): Also check this-command

	Fixes #1294

2017-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Don't touch inhibit-message

	Reason: it silences edebug as well.

	Re #1285

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-occur): Add

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-occur): Simplify

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Promote "C-d" from ivy-occur-grep-mode to ivy-occur-mode

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Bind inhibit-message

	Re #1285

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-cmd-to-dired): Reduce boilerplate

	The occur functions no longer pass switches to `ls',
	`counsel-dired-listing-switches' is used instead.

	Additionally, the two leading spaces are added here, not in the occur 
	functions.

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-fzf-occur): Add

	* counsel.el (counsel-cmd-to-dired): Rework for the sake of fzf

	fzf can't work without /dev/tty, so `shell-command-to-string' or even
	`shell-command' won't do.

	Use `start-process-shell-command'. Since we don't know when the process
	will finish, add a sentinel which will move the point to the first file
	found.

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-cmd-to-dired): Rename from counsel-find-dired

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-occur): Actually use git ls-files

2017-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-occur): Add

	* counsel.el (counsel-find-dired): New defun.

2017-11-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Don't fail if buffer was killed

2017-11-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-press-buffer): Fix double pop-to-buffer issue

	Fixes #1284

2017-11-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	.dir-locals.el: Suggest common-lisp-indent-function

	Don't want to put it directly because Emacs complains it's risky.

	Re #1290

2017-11-17  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-grep-action): Simplify logic

	Fixes #1290

2017-11-17  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-grep-base-command): Improve docs & usage

	(counsel-grep-base-command): Document format-string arguments. 
	Canonicalize default grep arguments.
	(counsel-grep): Make more flexible and efficient use of 
	counsel-grep-base-command by using it as a format string instead of 
	parsing it.

2017-11-17  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-grep-or-swiper): Improve logic

	(counsel-grep-or-swiper): De Morgan.  Do not save result of 
	jka-compr-build-file-regexp which is based on a defcustom.  Lookup 
	compressed filenames dynamically via jka-compr-get-compression-info 
	instead.
	(counsel-compressed-file-regex): Delete.

2017-11-17  Basil L. Contovounesios  <contovob@tcd.ie>

	.dir-locals.el: Enforce sentence-end-double-space

	Make the existing convention official.

	Fixes #1291

2017-11-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Fix typo

2017-11-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-fzf): Set extra actions

2017-11-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-fzf-dir-function): Allow to customize

	`projectile-project-root' often ends up returning my home dir, which is
	too big for fzf.

2017-11-13  Jérôme M. Berger  <jeberger@free.fr>

	ivy.el: Add a small refresh delay for dynamic collections.

	This is probably a good idea performance-wise since it limits the number 
	of collection updates when the user is typing. However, the main reason 
	for this change is to work around an Emacs freeze on Windows when the 
	dynamic collection is generated by an external command (see for example 
	this bug in helm-ag which also affects counsel-ag and similar commands: 
	https://github.com/syohex/emacs-helm-ag/issues/188).

	Related to #1218 (but only applies for dynamic collections, where the 
	difference is really noticeable). Helps with #1198 and #786.

	Fixes #1237

2017-11-13  Jérôme M. Berger  <jeberger@free.fr>

	counsel.el: Add a generic minibuffer history browser.

	This supersedes counsel-shell-command-history and
	counsel-expression-history with a generic counsel-minibuffer-history
	function that works for all minibuffer situations.

2017-11-07  Basil L. Contovounesios  <contovob@tcd.ie>

	swiper.el (swiper-font-lock-exclude): Add bbdb-mode

	Fixes #1276

2017-11-07  Damien Cassou  <damien@cassou.me>

	swiper.el (swiper-font-lock-exclude): Add adoc-mode (AsciiDoc)

	Using swiper in adoc-mode results in

	    Symbol’s value as variable is void: adoc-reserved

	https://github.com/sensorflo/adoc-mode/issues/31

2017-11-06  Alexander Miller  <alexanderm@web.de>

	swiper.el (swiper-font-lock-exclude): Add magit-popup-mode

	Fixes #1274

2017-11-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-impossible-p): Bring back org-mode

2017-11-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Disable read-only for the duration

	Re #1273

2017-11-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-mode-map): Bind "R" to read-only-mode

	Fixes #1273

2017-11-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fix org-indent-mode

2017-11-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	Revert "ivy.el (ivy-backward-delete-char): Preselect last dir"

	This reverts commit 31e801f4918d990af49f23c145e68f15b0ff50ec.

	Reason: the new change conflicts with the common use-case of using
	"R" (`dired-do-rename') to move a folder in dired to a parent folder. 
	With the new change, the first item selected after "DEL" is the start 
	folder inside the parent folder.

	Re #1257

2017-11-02  fabacino  <fabacino@gmail.com>

	ivy.el (ivy--exhibit): Update prompt even if there are no candidates

	Previously, the minibuffer prompt was not refreshed in case a dynamic 
	collection returned no candidates. For async commands this makes sense
	as `nil` could be interpreted both as the empty list, meaning no
	candidates found, or as a sign that the process is still running. For
	sync functions however, it is clear that `nil` stands for no candidates
	found and thus the minibuffer should be refreshed. This should fix the
	following problems:

	- Candidates were displayed even though they did not match the filter.
	- The prompt was not selectable.

	Fixes #1183

2017-11-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	Revert "ivy.el (ivy--exhibit): Update prompt even if there are no
	candidates"

	This reverts commit 55d1898d53a7daf91b42acc7182c93550456aa27.

	Re #1183

2017-11-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag-occur): Add --

	Re #1266

2017-11-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-base-command): Add --

	"--" signifies the end of command options.

	Fixes #1266

2017-11-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-impossible-p): Check for point-min

	Fixes #1267

2017-10-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-fzf-function): Enable highlighting

	Fixes #1263

	Two pieces important for highlighting here:

	- Setting `ivy--old-re' sets up highlighting

	- To set up the correct highlight function (fuzzy one, see
	 `ivy-highlight-functions-alist'), I set :re-builder.

2017-10-31  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-git-grep-transformer): Optimise text props

	add-face-text-property is both more flexible and slightly more 
	performant than set-text-properties on the author's machine.

	Fixes #1264

2017-10-31  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Require compile.el faces before use

2017-10-31  fabacino  <fabacino@gmail.com>

	ivy.el (ivy--exhibit): Update prompt even if there are no candidates

	Previously, the minibuffer prompt was not refreshed in case a dynamic 
	collection returned no candidates. This triggered the following 
	problems:

	- Candidates were displayed even though they did not match the filter.
	- The prompt was not selectable.

	Fixes #1183

2017-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-mode-map): Add counsel-faces

	Fixes #1259

2017-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-backward-delete-char): Preselect last dir

	Fixes #1257

2017-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	CONTRIBUTING.org: Rename from CONTRIBUTING.md

	Re #1260

2017-10-30  fabacino  <fabacino@gmail.com>

	CONTRIBUTING.md: Improve grammar

	Fixes #1260

2017-10-30  fabacino  <fabacino@gmail.com>

	Add CONTRIBUTING.md

2017-10-29  Thiago Marques de Melo  <tmdmelo@gmail.com>

	ivy.el (ivy-avy): Selects correct candidate

	When using a display transformer.

	Fixes #1255

2017-10-29  James Nguyen  <james@jojojames.com>

	Add new command counsel-fzf

	Fixes #1151

2017-10-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-require-program): Return result

2017-10-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix sole match case

	* ivy-test.el (ivy-with-r): New macro.
	(ivy-completion-in-region): Add test.

	Fixes #1252

2017-10-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-completion-in-region): Try a different symbol

2017-10-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-completion-in-region): Add test

	Re #1251

2017-10-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix length bug

	Fixes #1251

2017-10-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el: Expect window to be 1 row taller

	Re #1247

2017-10-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix up

	There was a bug when no candidates.

2017-10-17  Evgeni Kolev  <evgenysw@gmail.com>

	counsel.el (counsel-up-directory): Allow editing TRAMP prefix

	Fixes #1242 Fixes #1227

2017-10-17  Dror Levin	<spatz@psybear.com>

	Add trailing space to counsel-imenu ivy prompt

	Fixes #1245

2017-10-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix prefix issue

	Fixes #1244

2017-10-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Update

2017-10-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix compile warning

2017-10-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: shell-quote-argument clean-up

	* counsel.el (counsel-grep-like-occur): Update.
	(counsel-rg-base-command):
	(counsel-grep-base-command): Add warning not to use single quotes.
	(counsel-grep-function): Update.
	(counsel-grep-occur): Update.

	Fixes #1240

2017-10-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag-occur): Fix quoting

	Fixes #1240

2017-10-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Use :initial-input and :unwind

	Previously, Ivy's "prefixing" and "perfect match" index logic was messed
	up for completion-in-region. The reason being is that the initial prefix
	was never passed to Ivy: instead, the collection was pre-filtered on the
	prefix and a "new" completion session didn't know about it.

	With this change:

	- the initial prefix is passed to `ivy-read' as :initial-input,

	- since the initial prefix is expected to remain on "C-g", a special
	 :unwind lambda was added,

	- the collection is still pre-filtered on the initial prefix, even if 
	you erase the initial input, the full candidates won't be restored.

2017-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Don't delete "" for dynamic coll

	Fixes #1236

2017-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	targets/plain.el: Add

2017-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix "/sudo::" in current dir

	Re #1232

2017-10-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Remove empty string from coll

	Fixes #1230

2017-10-10  Jerome M. Berger  <jeberger@free.fr>

	counsel.el: Allow async commands on Tramp buffers

	Makes `counsel--async-command` work on remote buffers. This removes the
	need for the workaround introduced in `counsel-ag-function` with
	#669 and should fix similar issues in other commands or plugins.

	Fixes #1229

2017-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-occur): Update

	Fixes #1225

2017-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-initial-inputs-alist): Fix entry for man

	Fixes #1226

2017-10-06  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el: Fix :group typos

2017-10-06  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-unicode-char): Make lazy

	Use lazy completion table to speed up subsequent invocations. Amortised
	speedup is 2-3x in simulated benchmarks on the author's machine, and
	subsequent invocations feel instantaneous in practice.

	Ensure collection is sorted from the outset, as the result of ucs-names
	is never entirely sorted. This is especially important in later versions
	returning hash maps, as they have even weaker order guarantees than
	alists.

	Consolidate alist and hash table formatting functions: DRY.

	Improve completion transformer: ensure space between char name and 
	glyph; fit line width to default fill-column of 70, allowing for a 
	maximum char-width of 4.

	Remove no-op minibuffer-allow-text-properties binding.

	Add :caller keyword to counsel-unicode-char.

2017-10-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-like-occur): Add

	* counsel.el (counsel-ag-occur): Update.
	(counsel-rg-occur): Update.
	(counsel-grep-occur): Update.

	This fixes the (inconvenient and inconsistent) approach of using the
	cached search result for `ivy-occur'. With the old approach, it was
	impossible to run a search, save to *ivy-occur*, change and save the
	buffer(s), and re-run the search from *ivy-occur* with "g". Now this
	ability is back.

	Sample use:
	   1. `counsel-rg' on a project for a variable to remove/refactor.
	   2. save the search to *ivy-occur*.
	   3. rewrite file1 and save it.
	   4. press "g" in *ivy-occur* to refresh.
	   5. rewrite file2 and save it.
	   ...

	Another issue that's fixed here is the removal of `rg' column limiting
	by width. I use this setting:

	    (setq counsel-rg-base-command
		 "rg -i -M 120 --no-heading --line-number --color never %s .")

	This means that lines longer than 120 will be clobbered by `rg' in order
	to limit search output and speed it up.	 But when saving to *ivy-occur*,
	I don't want those lines to be clobbered any more.

2017-10-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep): Remove counsel--git-dir inconsistency

	For all commands except this one `counsel--git-dir' is a directory. Now
	it's a directory for this one as well.

2017-10-03  Kaushal Modi  <kaushal.modi@gmail.com>

	Adapt to ucs-names now being a hash table in emacs 26+

	* counsel.el (counsel-unicode-char): Generated a formatted hash if
	`ucs-names`
	 returns a hash (as it would, on emacs 26+).

	(http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-26&id=96c2c098aeed5c85733577ebbdaf33af6fbb59e9)

	This change will make `counsel-unicode-char` work in emacs 26.1 as well
	as older versions where ucs-names returned a list.

2017-09-30  Bailey Ling	 <bling@live.ca>

	counsel.el: fix default ag command on windows

2017-09-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (ivy-ffap-url-functions): Check if git is present

	Fixes #1216

2017-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Add treemacs-mode

	Re #1212

2017-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-file): New command

2017-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-prompt): Don't require prompt to end in ": "

	Fixes #1207

2017-09-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Call ivy-overlay-cleanup only when needed

	Fixes #1211

2017-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	Minor changes to counsel-url-expand

	* counsel.el: Rename `counsel-url-expansions' to
	`counsel-url-expansions-alist'.

	* ivy-test.el (counsel-url-expand): Flip `ivy--string-buffer' and
	`equal'. Easier to eval just the `ivy--string-buffer'
	 expression and get a string.

	Re #1164

2017-09-11  Brendan Cully  <brendan@cully.org>

	Add counsel-url-expand helper for ivy-ffap-url-functions

	counsel-url-expand makes it easy to add keyword to URL expansions for 
	ivy-ffap, simply by adding a (REGEXP . FORMAT) pair to 
	counsel-url-expansions.

	Fixes #1164

2017-09-11  Chen Bin  <chenbin.sh@gmail.com>

	counsel.el (counsel-git-grep-occur): Fix output with negative pattern

	Fixes #1173

	Example pattern in this repo: "more in!one di".

2017-09-11  nathan moreau  <nathan.moreau@m4x.org>

	Protect against match-beginning / match-end not integerp.

	This triggered an error on (swiper "[^ ]") (see #1188). Fixes #1188 
	Fixes #1192

2017-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fall back

	When there's no vertical space.

	Fixes #1136

2017-09-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x-history): Add

	* counsel.el (counsel-M-x): Update.

	Fixes #1185

2017-09-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix up previous commits

	Fixes #1187

2017-09-06  nathan moreau  <nathan.moreau@m4x.org>

	Unify the different ways to check for git.

	Merge both variables counsel--git-dir and counsel--git-grep-dir.

2017-09-06  nathan moreau  <nathan.moreau@m4x.org>

	Add a counsel command to checkout a different branch.

2017-09-06  Wilfred Hughes  <whughes@ahl.com>

	Allow ! and space to be escaped in ivy--regex-ignore-order

	This enables ivy--regex-ignore-order users to enter "foo\!" or "foo\ " 
	to match a literal ! or space. ivy--regex-plus attaches a different 
	meaning to spaces, so we do not support this escaping there.

	It also fixes a crash if the user enters multiple !!!. We now just 
	discard these.

	Fixes #976.

2017-09-04  Eric Danan	<eric.danan@u-cergy.fr>

	Ensure action and display transformer are called from initial buffer

	Fixes #1182 Re #717

2017-09-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix compile warning

2017-09-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dired-jump): Obey find-program

	* counsel.el (counsel-file-jump): Same.

	Fixes #1181

2017-09-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-imenu-map): New defvar

	* counsel.el (counsel-imenu): Update.

	* ivy.el (ivy-call-and-recenter): Rename/extract from
	`counsel-git-grep-recenter'.

	Fixes #1180

2017-09-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-immediate-done): Update

	* ivy.el (ivy-completion-in-region-action): Update. Didn't work right
	when only one candidate.

2017-09-01  Edward Betts  <edward@4angle.com>

	correct spelling mistake

2017-08-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region-action): Fix "C-M-j"

	Fixes #1178

2017-08-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-cmd-default): Fix for Windows

	Re #1176

2017-08-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-delete-candidate): Add and bind to "C-d"

2017-08-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: ivy--old-re is either a string or a seq

	Fixes #1159

2017-08-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix arrows not working for ivy--regex-ignore-order

	Fixes #1159

2017-08-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix arrows not working for ivy--regex-ignore-order

	Re #513 Re #522 Fixes #1159

2017-08-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--virtual-buffers): Add delete " -no file- "

2017-08-14  Juergen Hoetzel  <juergen@archlinux.org>

	ivy.el (ivy--virtual-buffers): Ensure bookmarks are loaded

	Also don't use internal bookmark data structures: The file format might
	change again.

2017-08-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--browse-history): Work-around ring-elements

	Fixes #1148

2017-08-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Simplify re-builder / highlight

	Fixes #1147

2017-08-09  James Nguyen  <james@jojojames.com>

	Make counsel-async filter update time configurable

2017-08-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read-with-empty-string-def): Fix typo

2017-08-04  Nicholas D Steeves	<nsteeves@gmail.com>

	Prevent "void-function colir-color-parse" in ivy-test.el

2017-08-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fall back when there's no
	space

	Fixes #1136

2017-08-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-overlays): Skip background for super-long matches

2017-08-04  Steve Purcell  <steve@sanityinc.com>

	Fix ivy-previous-line-or-history behaviour on non-initial result

	ivy-previous-line-or-history should not insert the last history item
	unless the currently-selected completion candidate is the first in the
	list, otherwise it's impossible to navigate back up with successive
	applications of this command.
	 See https://github.com/purcell/emacs.d/issues/473

2017-08-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Update

2017-08-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Fix for ivy-format-function-arrow

	Fixes #1004

2017-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-truncate-lines): New defcustom

	Fixes #1110

2017-07-28  Feng Shu  <tumashu@163.com>

	counsel-git-log: Ignore blank candidates

	Fixes #1122

2017-07-28  Feng Shu  <tumashu@163.com>

	Add counsel-async-ignore-re

2017-07-28  Feng Shu  <tumashu@163.com>

	Add variable counsel-git-log-split-string-re

2017-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sorted-files): Always use predicate

	Fixes #1121

2017-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: ivy-initial-inputs-alist should use caller first

	Fixes #1068

2017-07-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Highlights for more commands

2017-07-25  Gergely Risko  <errge@nilcons.com>

	Do not let bind find-file-hook if not necessary

	Fixes #627 Fixes #1118

	We only do the let binding here for find-file-hook if we are actually 
	going to override it, there are some other modes (git-gutter and 
	diff-hl) that cause user visible warnings if find-file-hook is let 
	bound.	This way the user only has the warning in case of remote files 
	and if she is annoyed with that, can set the 
	counsel-find-file-speedup-remote variable to nil to get rid of them.

2017-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read-with-empty-string-def): Fix typo

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Fix a test failure under Emacs 24.3

	In Emacs 24.4, "symbol-function" was changed to return nil when called 
	on a symbol with no function. Previously, it threw a void-function 
	error. This commit backports that fix so that cl-letf can work properly
	in ivy-test.el. The fix is only installed when running the tests.

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Add some entries to ivy-completing-read-handlers-alist

	These are based on the "enable-old" entries from the ido-ubiquitous 3.x
	overrides:

	https://github.com/DarwinAwardWinner/ido-ubiquitous/blob/3.x/ido-ubiquitous.el#L306-L371

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Add test for ivy-completing-read-handlers-alist

	This includes testing for infinite recursion.

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Prevent infinite recursion when handlers call ivy

	Previously, if a function in ivy-completing-read-handlers-alist called 
	ivy-completing-read, this would result in infinite recursion. However, 
	now if ivy-completing-read is called recursively without incrementing
	"(minibuffer-depth)", it ignores all handlers on the second call, 
	breaking the recursion.

	The result of all this is that functions in 
	ivy-completing-read-handlers-alist can now safely call 
	ivy-completing-read.

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Better handling of nil default to ivy-completing-read

	Now "ivy-completing-read" itself does nothing special when DEF is nil, 
	but there is a new function
	"ivy-completing-read-with-empty-string-def" that treats a nil DEF as 
	equivalent to the empty string for compatibility with
	"completing-read-default". This new function can be used in
	"ivy-completing-read-handlers-alist" to override ivy behavior for 
	specific commands.

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Add test for ivy-completing-read-default-is-empty-string

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Make DEF default to the empty string in ivy-completing-read

	This maintains compatibility with completing-read-default, which 
	effectively treats a nil DEF as the empty string.

	Since this may not always be desired, there is also a variable to allow
	suppression of this behavior named 
	ivy-completing-read-default-is-empty-string.

2017-07-19  Ryan C. Thompson  <rct@thompsonclan.org>

	Add a test for new default behavior

2017-07-19  nathan moreau  <nathan.moreau@m4x.org>

	Git worktree: Fix: avoid to trigger an error while walking the buffers.

	Fixes #1115

2017-07-19  nathan moreau  <nathan.moreau@m4x.org>

	Add an action to kill all buffers from a worktree.

2017-07-19  nathan moreau  <nathan.moreau@m4x.org>

	Extract a helper function to get git toplevel directory.

2017-07-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Consider DEF being a list

	Fixes #1112

2017-07-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-view): Add

	Fixes #1109 Re #929

2017-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Fix error on 24.5

	Fixes #1107

2017-07-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.texi: Update

2017-07-16  Juergen Hoetzel  <juergen@archlinux.org>

	Fix invalid key binding

2017-07-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Bind <next> and <prior>

	Fixes #1099

2017-07-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg-base-command): Remove --max-columns

	While moderately convenient in the minibuffer, this setting may greatly 
	hamper refactoring via wgrep. The perfect solution would remove the
	"--max-columns" specifically for `ivy-occur'. Maybe this can be added
	later.

2017-07-05  Evgeni Kolev  <evgenysw@gmail.com>

	counsel.el (counsel-git-grep-recenter): fix warning by `recenter`

	Without this fix, C-l (in counsel-git-grep-map) would print the warning:
	`recenter'ing a window that does not display current-buffer.

2017-07-04  Greg Lucas	<greg@glucas.net>

	Add ivy-rotate-preferred-builders to switch re builders

	Fixes #1093 Fixes #1094

2017-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-ignore-regexp): Offer
	completion-ignored-extensions

	Fixes #1092

2017-07-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix minibuffer-prompt face with ivy-use-selectable-prompt

	Fixes #1090

2017-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--descbinds-cands): Update regex

	Fixes #1089

2017-06-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix extra initial-input in read-file-name

	e.g. `find-name-dired' will now propose "." as the default, instead of 
	having both the "." and the full path of the current directory.

2017-06-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rg): Search whole Git repository

	The previous behavior was to search the current directory, not very
	convenient.

2017-06-28  Sebastian Christ  <rudolfo.christ@gmail.com>

	counsel.el (counsel-M-x): Don't rebuild cache on every invocation.

	The `smex-ido-cache' needs only be rebuild when new commands has been 
	detected. So, check first if new commands available and then update 
	smex.

	This should speed up sequential invocations of `counsel-M-x'.

2017-06-23  fabacino  <fabacino@gmail.com>

	counsel.el: Fix checkdoc warnings

	Fixes #1081

2017-06-23  fabacino  <fabacino@gmail.com>

	README.md: Mention the possibility to select the prompt line

2017-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Initialize ivy--index with 0

	Fixes #1080

2017-06-22  Justin Burkett  <justin@burkett.cc>

	Guard calls to external programs with helpful message

	* counsel.el (counsel-require-program): Add
	(counsel-git): Add guard
	(counsel-git-grep): Add guard
	(counsel--async-time): Add guard
	(counsel-find-file-as-root): Add guard
	(counsel-emacs-url-p): Add guard
	(counsel-locate-cmd-default): Add guard
	(counsel-locate-cmd-noregex): Add guard
	(counsel-locate-cmd-mdfind): Add guard
	(counsel-locate-cmd-es): Add guard
	(counsel-dpkg): Add guard
	(counsel-rpm): Add guard
	(counsel-file-jump): Add guard
	(counsel-dired-jump): Add guard
	(counsel-ag): Add guard
	(counsel-rg): Add guard
	(counsel-grep): Add guard
	(counsel-recoll): Add guard

	Fixes #1076

2017-06-22  jixiuf  <jixiuf@qq.com>

	Add optional param:initial-input for counsel-git

	Fixes #1074

2017-06-22  Chris Perl	<chris.perl@gmail.com>

	Make counsel-git-grep use counsel-delete-process

	In counsel-git-grep, when proj is t and we're creating an asynchronous 
	process, make sure to call counsel-delete-process on unwind.  Otherwise, 
	we might leave the process running if we broke out of the completion 
	early with ivy-occur.

	Fixes #1075

2017-06-22  Chris Perl	<chris.perl@gmail.com>

	Factor out common code for ivy-occur-grep-mode buffers.

	Fixes #1002. Fixes #1035.

2017-06-21  Chris Perl	<chris.perl@gmail.com>

	Implement counsel-ack like counsel-pt

2017-06-21  fabacino  <fabacino@gmail.com>

	ivy.el (ivy-avy): Get rid of error message when exiting avy silently

2017-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Set completion-in-region-function

	Use the default one for items on `ivy-completing-read-handlers-alist'.

	It's a bit unfortunate that this isn't customizable on
	`ivy-completing-read-handlers-alist' (e.g. use `cadr' and `caddr' to 
	customize both), but doing it so would be a breaking change.

2017-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Remove unwarranted downcase

	* ivy-test.el (ivy-partial): Add test.

	Fixes #1036

2017-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-list-buffers-with-mode): Fix doc

2017-06-11  fabacino  <fabacino@gmail.com>

	Makefile: Add target checkdoc to check documentation guidelines of lisp
	files

2017-06-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-switch-to-buffer-or-window): Fix

2017-06-10  Eric James Michael Ritz  <ericjmritz@yandex.com>

	counsel.el (counsel-file-register): Action to open in other window

	This patch adds an additional action to `counsel-file-register', bound 
	to the `j' key, so that users may press `M-o j' to view file registers 
	in different windows.  The default action remains to open the file in 
	the window from which we called `counsel-file-register'.

	Signed-off-by: Eric James Michael Ritz <ericjmritz@yandex.com>

2017-06-10  Eric James Michael Ritz  <ericjmritz@yandex.com>

	counsel.el (counsel-file-register): Fix typos and style errors

	The recent patch introducing `counsel-file-register' has a few typos and
	mistakes such as pointlessly repeated keywords.	 This patch makes no
	changes to logic but fixes those types and removes duplicate keywords in
	`counsel-file-register'.  This patch also improves the docstring for
	`counsel-file-register` to mention how you *must* use
	`set-register' to create file registers.

	Signed-off-by: Eric James Michael Ritz <ericjmritz@yandex.com>

2017-06-09  fabacino  <fabacino@gmail.com>

	ivy.el: Fix checkdoc warnings

	Fixes #1064

2017-06-09  fabacino  <fabacino@gmail.com>

	counsel.el: Fix checkdoc warnings

2017-06-09  fabacino  <fabacino@gmail.com>

	swiper.el: Fix checkdoc warnings

2017-06-09  fabacino  <fabacino@gmail.com>

	ivy-test.el: Fix checkdoc warnings

2017-06-09  fabacino  <fabacino@gmail.com>

	ivy-hydra.el: Fix checkdoc warnings

2017-06-09  fabacino  <fabacino@gmail.com>

	colir.el: Fix checkdoc warnings

2017-06-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	Rewrite counsel-switch-to-shell-buffer to ivy style

	* counsel.el (counsel-list-buffers-with-mode): Add nreverse so that the
	 buffers are in proper order.
	(counsel-switch-to-shell-buffer): Simplify. Entering a candidate not on 
	the list results in a new `shell'.
	(counsel-switch-to-buffer-or-window): Update.

	Re #990.

2017-06-09  nathan moreau  <nathan.moreau@m4x.org>

	Add a command to switch to shell buffers.

	Use the prefix argument to force the creation of a new shell buffer. 
	This corresponds to what the `shell' commands does.

	Fixes #990

2017-06-09  fabacino  <fabacino@gmail.com>

	ivy.el (ivy--prompt-selectable-p): Fix require-match condition

	The prompt was not selectable, if predicate :require-match was set to
	'confirm or 'confirm-after-completion.

2017-06-09  cydparser  <cydparser@gmail.com>

	Never use color results with counsel-rg

	Running the command on macOS with version 0.5.2 of ripgrep (installed
	from nixpkgs) resulted in visible ANSI color codes.

	Fixes #1060

2017-06-09  fabacino  <fabacino@gmail.com>

	ivy-test.el: Add tests for selectable prompt

	Fixes #1059

2017-06-09  fabacino  <fabacino@gmail.com>

	ivy.el: Make prompt line selectable

	Calling `ivy-done` or `ivy-alt-done` on a selected prompt forwards to
	`ivy-immediate-done`, thus exiting with the current user input instead 
	of the selected candidate.

2017-06-09  Evgeni Kolev  <evgenysw@gmail.com>

	counsel.el (counsel-git-grep-skip-counting-lines): New defcustom

	Refs #524 Fixes #1042

2017-06-07  Eric James Michael Ritz  <ericjmritz@yandex.com>

	counsel.el (counsel-file-register): Use Ivy to open file registers

	GNU Emacs allows you to keep file registers, i.e. registers to quickly 
	open commonly used files (see the link below for more information).

	Truth be told the `counsel-file-register` command will sometimes place 
	the list of files in an undesired position, e.g. covering up important 
	windows.  Nonetheless I find it useful as someone with many file 
	registers.

	Future improvements will be to create a file register from a given open
	file.

	See-Also:
	https://www.gnu.org/software/emacs/manual/html_node/emacs/File-Registers.html#File-Registers

2017-06-06  Yuri D. Lensky  <ydlensky@gmail.com>

	Fix completion of relative directories.

	Before this fix, a directory "~/d/", at least on Windows, gets completed
	to "d/" if default-directory is "~/", whereas it should be completed to
	"~/d/" for completion to continue to work properly.

2017-06-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all): Autoload

	Fixes #1054

2017-06-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix ivy-completing-read when def is a list

	Fixes #1052 Re #1049

2017-06-06  Justin Burkett  <justin@burkett.cc>

	Avoid setting ivy window as minibuffer

	* ivy.el (ivy-completion-in-region): Don't set ivy window to minibuffer
	window

	Fixes #1051

2017-06-05  Steve Purcell  <steve@sanityinc.com>

	Stop counsel-ag-occur from breaking when search string begins with "-"

	Fixes #1048

2017-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Add new argument "def"

	Fixes #1047

2017-06-02  braham  <braham.snyder@gmail.com>

	counsel.el (counsel-yank-pop): ignore entirely empty candidates

	* whose most noticeable effect -- when present in `kill-ring' and
	 not ignored here -- is their preselection upon every new call to
	 `counsel-yank-pop' (since they exactly match an empty initial
	 input); empty initial input could perhaps be special-cased w/r/t
	 preselection, but, regardless:

	* pasting an entirely empty string is a no-op, so `counsel-yank-pop'
	 should likely exclude such candidates (are entirely empty strings
	 ever useful ivy candidates?)

2017-05-30  fabacino  <fabacino@gmail.com>

	ivy.el (ivy-read) Add possibility to auto-select single candidate

	If ivy-auto-select-single-candidate is t and the collection contains a 
	single candidate, select the candidate automatically.

2017-05-26  nathan moreau  <nathan.moreau@m4x.org>

	Add a command to switch to another git worktree.

	Git worktrees: improve ergonomy.

	- Require a match.
	- Don't trigger `ivy-read' when there are no other worktrees.

	Fixes #989

2017-05-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Don't quote regex for files

	Use case: `dired-dwim-target' is on, and `initial-input' is "c++".  It 
	should not be quoted to "c\\+\\+".

2017-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Don't add :preselect to collection

	Fixes #1017

2017-05-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-slash): Fix regression

	Fixes #1027

2017-05-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Fix downcase on non-string

	Fixes #1024

2017-05-20  Georgiy Tugai  <georgiy.tugai@gmail.com>

	Prevent ivy-partial from dropping out of case-folding

	When ivy-case-fold-search is AUTO, the matched partial candidate may
	contains uppercase letters, which disables case-folding in subsequent
	completions and thus over-narrows the result set.

2017-05-19  Georgiy Tugai  <georgiy.tugai@gmail.com>

	Fix interaction of ivy-partial and case-folding

	ivy-partial was sometimes over-eager when case-folding is off (or auto, 
	in the presence of a capital letter).

	Fixes #1019

2017-05-18  Guillaume Papin  <guillaume.papin@epitech.eu>

	counsel-irony: use candidates provided to the async callback

2017-05-18  fabacino  <fabacino@gmail.com>

	Add new function counsel-apropos

2017-05-18  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-org-goto--get-headlines): Simplify code

	Fixes #1013

2017-05-17  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-org-goto--add-face): Keep text properties

	If counsel-org-goto-face-style was set to nil, the headlines were 
	stripped of all their text properties. This caused text to appear which
	was intentionally hidden by org-mode e.g. the uri of a link.

	The fixed function now just applies the default minibuffer face on top 
	of the existing properties, which looks like the entries have not been 
	styled at all but preserves the other properties.

2017-05-17  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-org-goto--get-headlines): Fix point-min bug

	outline-next-heading was always called once before starting the 
	processing of the headlines, which resulted in the first headline to be
	excluded from the list if it was located at the very top of the file
	i.e. at point-min.

	The fixed function now checks if point is already on a heading and only
	calls outline-next-heading if this is not the case before starting the
	processing of the headlines.

2017-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-slash): Fix "C-y"

	From now on, the magic slash only ever does anything if:

	1. It's triggered by `self-insert-command' (and not e.g. `yank'). 2.
	It's at the end of line.

	Besides fixing "C-y" of a full path, which got broken at some point, the 
	following workflow is now available:

	1. "C-M-o w" to copy the current path. 2. "C-y" and edit the path with
	regular commands before "RET".

2017-05-17  fabacino  <fabacino@gmail.com>

	counsel.el: Improve counsel-org-goto functions

	* Use org-get-heading instead of org-entry-get to get a headline which
	 looks like the one in the buffer (e.g. display of links).

	* Add variables counsel-org-goto-display-tags and
	 counsel-org-goto-display-todo to control whether tags and todo
	 keywords should be displayed.

	* Remove 'whole-line from choices of counsel-org-goto-display-style,
	 as the same output can be achieved by setting the two new variables
	 mentioned above.

	Fixes #1008

2017-05-16  braham  <braham.snyder@gmail.com>

	ivy.el (ivy-magic-slash-non-match-action): Fix val naming duplicity

	* `ivy-magic-slash-non-match-cd-selected' and
	 `ivy-magic-slash-non-match-use-selected' were erroneously both
	 used to refer to the same value in different places--retain the
	 former since it's more descriptive

2017-05-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-variable-list): Delete empty name

2017-05-16  Lukas Fürmetz  <fuermetz@mailbox.org>

	counsel-mark-ring: sort by location

2017-05-16  fabacino  <fabacino@gmail.com>

	counsel.el: Add counsel versions of org-goto

	* counsel-org-goto: Go to headline in current org file
	* counsel-org-goto-all: Go to headline in any org file

2017-05-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Fix when scrolled

	`line-number-at-pos' logic works only if the candidate list isn't 
	scrolled, i.e. candidate 0 is at window start.

	Fixes #1004

2017-05-15  Bryan Gilbert  <gilbertw1@gmail.com>

	Customize behavior of the magic slash on non-existing directories

	Fixes #998

2017-05-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all-buffer-p): Add gnus-article-mode

2017-05-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-unicode-char): Show cands in order

	Fixes #1003

2017-05-12  Kaushal Modi  <kaushal.modi@gmail.com>

	Prevent opening an already open file in counsel-grep

	* counsel.el (counsel-grep-action): If a file is already open in
	 a buffer, get that buffer's handle using get-file-buffer.  This
	 is to prevent the scenario where a file is already opened using
	 find-file-literally.  In that case, if find-file is attempted for
	 the same file, user is nagged with question if they intended to
	 switch to opening the file normally from "literally".	Situation
	 escalates when the file is huge (100's of MB).

	  Do find-file only if the searched file is not yet opened in any
	 buffer.

2017-05-11  Kaushal Modi  <kaushal.modi@gmail.com>

	Don't attempt to save readonly files before calling counsel-grep

	* counsel.el (counsel-grep-or-swiper): Save buffer only if the file is
	 writable.  Create let-bound fname instead of calling (buffer-file-name)
	 multiple times.

2017-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-setup): Fix ivy-fixed-height-minibuffer for
	inline

	Fixes #997

2017-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-transformer): Compose face

	Fixes #992

2017-05-06  Aaron Jensen  <aaronjensen@gmail.com>

	Limit rg results to 150 columns

	Emacs doesn't handle long line lengths very well. If you accidentally rg
	a file a file that has very long line lengths it can freeze emacs. This
	prevents rg from returning any results with more than 150 characters.
	Instead, it will indicate that there were results in that file but they
	were elided.

2017-05-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-action-remove): Add and bind to "d"

2017-05-01  Justin Burkett  <justin@burkett.cc>

	Add and use ivy-highlight-face

	ivy.el (ivy-highlight-face): Add counsel.el
	(counsel-describe-function-transformer): Use ivy-highlight-face 
	counsel.el (counsel-describe-function): Update docstring counsel.el
	(counsel-describe-variable-transformer): Use ivy-highlight-face 
	counsel.el (counsel-describe-variable): Update docstring

2017-05-01  Justin Burkett  <justin@burkett.cc>

	Highlight interactive functions in counsel-describe-function

	counsel.el (counsel-describe-function-transformer): Add counsel.el
	(counsel-describe-function): Update docstring

2017-05-01  Justin Burkett  <justin@burkett.cc>

	counsel.el (counsel-describe-variable): Mention highlighting in doc

2017-05-01  Justin Burkett  <justin@burkett.cc>

	Highlight custom variables in counsel-describe-variable

	counsel.el (counsel-describe-variable-transformer): Add

2017-04-27  Basil L. Contovounesios  <contovob@tcd.ie>

	counsel.el (counsel-package-action): Add defvar

	Declare free variable package-alist from package.el to silence 
	byte-compiler.

	Fixes #978

2017-04-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): Remove company-complete-common

	Fixes #969

2017-04-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-irony-annotate): Update due to irony change

	Re Sarcasm/irony-mode#376

2017-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-irony-callback): Update due to irony change

	Re Sarcasm/irony-mode#376

2017-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop): Don't restrict to 3 chars or more

	Fixes #973

2017-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-package-action): Fix package removal

	`package-delete' wants a `package-desc' struct, not a symbol.

	Fixes #970

2017-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-set-variable): Disallow '(function)

	Fixes #960

2017-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-set-variable): Handle defcustom with multiple
	entries

	Fixes #960

2017-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el: Fix byte compiler warnings

2017-04-15  Steven Allen  <steven@stebalien.com>

	Add a format function for the counsel-linux-app menu

	* counsel.el (counsel-linux-app-format-function): Add a custom setting
	to allow
	 the user to select a Linux application format function.

	* counsel.el (counsel-linux-app-format-function-*): Add some predefined
	format
	 functions.

	* counsel.el (counsel-linux-apps-list-desktop-files): Use the
	user-defined
	 format function.

	* counsel.el (counsel-linux-apps-list,
	 counsel--linux-apps-cache-format-function): Invalidate the Linux
	application
	 cache when the format function changes.

2017-04-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Add "i" and "w" as global actions

	Being able to insert the current candidate into a buffer with "M-o i" 
	and to copy it to kill ring with "M-o w" is useful enough to be the 
	standard setting. Additionally, it's documentation for users not aware 
	of (ivy-set-actions t ...).

	* counsel.el: Move `counsel-info-lookup-symbol' action from "i" to "I".

2017-04-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-app): Add "d" action to open desktop file

	* counsel.el (counsel-linux-app-action-open-desktop): New defun.
	(ivy-set-actions): Update.

	Fixes #897

2017-04-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-apps-list): Remove
	file-attribute-modification-time

	It's not defined in all Emacs versions.

	Also, fix some docstrings.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Add back the linux application cache.

	* counsel.el (counsel-linux-apps-list, counsel-linux-apps-parse,
	 counsel-linux-apps-list-desktop-files): Cache parsed desktop files and
	 invalidate the entire cache whenever any desktop file changes. This
	becomes
	 important on machines with many (~500) desktop entries.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Actually search for desktop files recursively

	* counsel.el (counsel-linux-apps-list-desktop-files): Use
	 ~directory-files-recursivly~ instead of ~directory-files~ when
	searching for
	 desktop files.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Add back counsel-linux-apps-faulty

	* counsel.el (counsel-linux-apps-list): Use ~counsel-linux-apps-faulty~
	to keep
	 track of malformed desktop files. This way, we don't parse (and warn
	about
	 them) multiple times. It may also make it easier to debug
	parser/desktop file
	 bugs.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Make the linux application list generation O(N) instead of O(N*N)

	* counsel.el (counsel-linux-apps-list-desktop-files): Use a hashmap to
	 deduplicate desktop entries.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Support TryExec in desktop files

	* counsel.el (counsel-linux-apps-list): Ignore desktop files where the
	program
	 specified in the =TryExec= field either doesn't exist or isn't
	executable by
	 the current user.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Use call-process instead of call-process-shell-command.

	* counsel.el (counsel-linux-app-action-default,
	counsel-linux-app-action-file):
	 Use ~call-process~ instead of ~call-process-shell-command~ to avoid
	executing
	 yet another process (=/bin/sh=) and to avoid potential code injection
	(when
	 opening a file with a malicious name with
	~counsel-linux-app-action-file~).

2017-04-13  Steven Allen  <steven@stebalien.com>

	Hide linux applications when appropriate

	* counsel.el (counsel-linux-apps-list): Hide applications when =Type=
	isn't
	 =Application=, or =Hidden= or =NoDisplay= are =true= (or =1=).

2017-04-13  Steven Allen  <steven@stebalien.com>

	Only parse "Desktop Entry" group

	* counsel.el (counsel-linux-apps-list): Desktop files can contain
	multiple
	 groups (one "Desktop Entry" and multiple "Desktop Actions"). Ensure we
	only
	 look at the "Desktop Entry" group.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Use throw/catch instead of nested if statements.

	* counsel.el (counsel-linux-apps-list): Use throw/catch to avoid nesting
	too
	 deep.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Don't accept empty fields in desktop files

	* counsel.el (counsel-linux-apps-list): Use ~.+~ instead of ~.*~ to
	avoid
	 capturing empty fields.

2017-04-13  Steven Allen  <steven@stebalien.com>

	Refactor counsel-linux-app.

	* counsel.el (counsel-linux-apps-list): Remove the linux application
	 cache (~counsel-linux-apps-alist~). Properly invalidating it (checking
	file
	 modification times) would be almost as much work as recomputing it and
	 computing it is instantaneous (on my system at least).

	* counsel.el (counsel-linux-app-action-file): Don't try to put the
	application
	 binary name in the prompt. Previously, this action would use the first
	 space-delimited "word" of the =Exec= field. However, this isn't
	guaranteed to
	 be meaningful. For example, WINE applications have =env= as the first
	word.

	* counsel.el (counsel-linux-apps-list-desktop-files,
	counsel-linux-apps-list):
	 Factor out the desktop file listing function into
	 ~counsel-linux-apps-list-desktop-files~ and make it properly handle
	 duplicate entries and subdirectories.

2017-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-slash): Change priority in cond

	Move two branches around. It may happen that `ivy-text' exists in
	`default-directory' but not in `ivy--directory'.

	Maybe (setq default-directory ivy--directory) is appropriate?

	Fixes #955

2017-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (ivy-dispatching-done-hydra): Break hint into columns

	In case the hint is longer than `window-width'.

	Fixes #953

2017-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (ivy-dispatching-done-hydra): Quit on "C-g"

	Fixes #922

2017-04-10  Shihpin Tseng  <deftsp@gmail.com>

	ivy.el (ivy-read-action): Allow quit by ESC for better work with evil

	Fixes #952

2017-04-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	Bump to 0.9.1 for ELPA release

2017-04-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-mode-map): Add counsel-describe-face

2017-04-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Minor update

2017-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Correct some docstrings

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-immediate-done): Fix for rgrep

	Fixes #950

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Fix links

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Fix links

	Fixes #945

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	Bump version to 0.9.0

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Link all issues

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Sort stuff

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Clean up whitespace

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Silence byte-compiler

2017-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-symbol): Fix typo

	Fixes #949

2017-04-07  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-find-file): Add new action counsel-find-file-as-root

	Fixes #948

2017-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Prepare for 0.9.0

2017-04-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial): Fix for :dynamic-collection

	Fixes #946

2017-04-06  Evgeni Kolev  <evgenysw@gmail.com>

	swiper.el (swiper--action): Set evil search direction to forward

	Without setting evil-ex-search-direction, evil-search-next and 
	evil-search-previous (bound to `n` and `N` in evil-mode) will repeat 
	swiper's last search, but will use the direction of the pre-swiper 
	search. If there is no previous search before swiper, evil-search-next 
	and evil-search-previous will not work. swiper doesn't have a concept of
	`backward` search, hence it makes sense to always set direction to
	'forward.

2017-04-05  Evgeni Kolev  <evgenysw@gmail.com>

	swiper.el (swiper-goto-start-of-match) New defcustom

	When non-nil, swiper default action will go to the beginning of the 
	match instead of on its end. This behavior is inspired by vim's and 
	evil's way of searching.

	Fixes #944 Fixes #942

2017-03-29  Steve Purcell  <steve@sanityinc.com>

	Define ivy-help-file with defconst

	When the Ivy package is upgraded and the old version removed, the defvar
	will not be redefined when the new package is loaded. With defconst, I
	believe it will.

2017-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-irony): New command

2017-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-left-pad): Trim cands to window-width

2017-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Put overlay at symbol
	start

2017-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region-action): Work for cons cells

	It's often useful to display one thing and insert a (slightly) different 
	thing. Make it possible to reuse `ivy-completion-in-region-action' for 
	this.

2017-03-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-colors--best-contrast-color): Return same color on
	error

	In case `color-name-to-rgb' returns nil.

	Re #921

2017-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Change recursive restore order

	Bring back the old behavior.

	* ivy.el (ivy-recursive-restore): New defun.

	(ivy-call): `undwind-protect' to fix #924. Call `ivy-recursive-restore' 
	for good measure.

	Fixes #937 Re  #924

2017-03-23  Dale Sedivec  <dale@codefu.org>

	Make swiper-avy work with more regexp builders

	Previously, if you were using regexp builders such as ivy--regex-fuzzy 
	or ivy--regex-ignore-order, or anything for which ivy--regex doesn't 
	produce a useful match, swiper-avy would not find candidates in the 
	window where you invoked swiper.  These changes leverage the existing 
	overlays in the window, which were presumably added with the help of 
	your chosen regexp builder, to find candidates for Avy.

2017-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Remove with-ivy-window

	Rely on `ivy-call' selecting the correct window Fixes #928

2017-03-20  Basil L. Contovounesios  <contovob@tcd.ie>

	ivy.el (ivy-rotate-sort): Guard against nil sort

	Do not attempt to rotate sorting functions if they are nil, as this will
	result in a list of sorting functions equal to '(nil).

2017-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-base-command): Single quote regex

2017-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Move ivy-recursive-last logic to ivy-call

	The reason is that `ivy-call' needs stuff from the current `ivy-last' 
	for setup, i.e. deciding which action to call. But the action itself 
	should be called in the context of `ivy-recursive-last'.

	This fixes the issue of e.g. calling `swiper', then recursively calling
	`counsel-M-x' to select `ivy-done' or `ivy-alt-done'.

	Fixes #924

2017-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Use set-ivy-index instead of setq ivy--index

2017-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Remove ivy--current

	Replace all GET with: (ivy-state-current ivy-last). Replace all SET
	with: (setf (ivy-state-current ivy-last) value)

2017-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-function): Add shell-quote-argument

	e.g. to search for "p".

2017-03-16  fabacino  <fabacino@gmail.com>

	ivy.el (ivy-case-fold-search): Add additional value 'always

	If the value of ivy-case-fold-search is set to 'always, the search is 
	always case-insensive, regardless of the input.

	Fixes #916

2017-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Adjust :caller

	The previous change caused problems with e.g. `read-file-name', since 
	then the collection wasn't recognized as `read-file-name-internal'.

2017-03-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Don't require-match for null

	Fixes #909

2017-03-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Remove :require-match

	Fixes #907

2017-03-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Restore ivy-occur-last

2017-03-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el: Use ivy-minibuffer-map

2017-03-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Recommend enable-recursive-minibuffers

	Useful e.g. for `counsel-yank-pop'.

2017-03-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el: Add an alternative "M-o" using hydra

2017-02-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix compilation warnings

2017-02-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-grep-mode): Call wgrep-setup if available

	* ivy.el (ivy-occur-revert-buffer): Call `wgrep-setup', through
	 `ivy-occur-grep-mode'.

	Re #904

2017-02-25  Joonatan O'Rourke  <joonatan.orourke@gmail.com>

	Run wgrep-setup when entering ivy-occur-grep-mode

	wgrep-setup saves the local keymap when entering wgrep mode and restores
	it when exiting. By adding a hook to run it when entering 
	ivy-occur-grep-mode we prevent the keymap from being lost after one 
	edit.

2017-02-24  Torsten Marek  <shlomme@gmail.com>

	ivy.el (ivy-completing-read): Set :caller to this-command

	Fix a bug with custom sorting functions when ivy-read is called from 
	ivy-completing-read.

	When calling ivy-read from ivy-completing-read, always pass in :sort t 
	and :caller this-command. In ivy--reset-state, look up the sorting 
	function using caller.

	Fixes #899

2017-02-23  Mekeor Melire  <mekeor@users.noreply.github.com>

	Correct Circe major-modes in ...-font-lock-exclude

	There is no `circe-mode` but there are `circe-channel-mode`,
	`circe-server-mode` and `circe-query-mode`. See
	https://github.com/jorgenschaefer/circe/blob/a9df12a6e2f2c8e940722e151829d5dcf980c902/circe.el#L1757

2017-02-22  Mekeor Melire  <mekeor@users.noreply.github.com>

	Add circe-mode to swiper-font-lock-exclude

	This solves a bug reported for Circe, an IRC client for Emacs, at
	https://github.com/jorgenschaefer/circe/issues/303. This change was an
	idea of https://github.com/wasamasa. Also thanks to alphor from
	#emacs-circe@freenode.

2017-02-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-apps-list): Check if dir exists

	Fixes #896

2017-02-17  Wilfred Hughes  <me@wilfred.me.uk>

	Ensure counsel-M-x preserves last-command

	Fixes #891. Fixes #893.

2017-02-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read-handlers-alist): New defcustom

	Fixes #892

2017-02-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Add "x" action

2017-02-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all): Fix case-fold-search

	* swiper.el (swiper--add-overlays): Set `case-fold-search'.

	Fixes #880

2017-02-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-tag-action): Fix "C-M-m"

	It has to be performed in the minibuffer window.

	Re #890

2017-02-14  Diego A. Mundo  <therockmandolinist@users.noreply.github.com>

	Apply search highlighting for evil when applicable

	Seems I was a bit hasty in my last pull request, this minor change 
	allows for highlighting the matches on swiper exist if
	`evil-ex-search-persistent-highlight` is set to `t`

	Use previously set variable name evil-ex-search-pattern

	Fixes #888

2017-02-13  therockmandolinist	<diegoamundo@gmail.com>

	Add compatibility with evil-ex-search.

	Fixes #887

2017-02-09  Ruben Maher	 <r@rkm.id.au>

	swiper.el (swiper-font-lock-exclude): Add nix-mode

2017-02-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Bind "C-v" and scroll-up-command

	The ultimate solution to have PgUp and PgDown and whatever else was 
	mapped to `scroll-up-command' bound in `ivy-minibuffer-map'. While still 
	having the standard "C-v" and "M-v" bindings.

	In my config, I have "C-v" globally bound to hydra-vi. This means "C-v" 
	isn't bound in `ivy-minibuffer-map' if only [remap scroll-up-command] is 
	used.

	Re #797 Re #798 Re #535

2017-02-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-cmd-default): Use '%s' quoting

	Fixes #876

2017-02-03  Wilfred Hughes  <me@wilfred.me.uk>

	Allow users to find libraries from counsel-load-library

	Fixes #873

2017-02-02  Justin Burkett  <justin@burkett.cc>

	counsel.el: Improve counsel-package

	Retain more info about packages in candidate list to make adding actions
	easier, and update action functions.

	counsel.el (counsel-package): Update counsel.el
	(counsel-package-action): Update counsel.el
	(counsel-package-action-describe): Update counsel.el
	(counsel-package-action-homepage): Add

2017-02-02  Basil L. Contovounesios  <contovob@tcd.ie>

	Heed non-sort entries in ivy-sort-functions-alist

	Currently, ivy--sort-function does not distinguish between collection
	functions that are not members of ivy-sort-functions-alist and ones
	whose associated sorting function is nil, i.e. no sorting.

	In ivy-completing-read, this meant that the lookup in 
	ivy-sort-functions-alist would always fall through to the default 
	sorting function, even for existing collection functions whose CDR was
	explicitly set to nil.

	Fixes #870

2017-02-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-package): Fix sorting issue

	* counsel.el (counsel-package): Pre-sort the candidates instead of using
	 ":sort t" and a sorting function. Set "+ " as the initial input,
	 instead of "+". This way, you can e.g. type "theme" and match themes,
	 instead from matching only packages that start with "theme".

	(counsel-package-action): Extract.

	(counsel-package-action-describe): Rename from
	`counsel--describe-package'.

	Add some declarations to silence the byte compiler.

	Re #869

2017-02-01  Justin Burkett  <justin@burkett.cc>

	counsel.el (counsel-package): Add func to manage packages.

	Allows installing, deleting, describing, and more to come...

	counsel.el (counsel--package-sort): Add counsel.el
	(counsel--describe-package): Add

2017-02-01  Pásztor János	 <janos.pasztor@balabit.com>

	counsel.el: support universal argument for counsel-unicode-char

2017-01-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	Revert "Add missing parameter for ag"

	This reverts commit c2b0d30515a2fe2741c850b5bb699cf56b69b9d0.

	Fixes #861 Re #858

2017-01-19  Ian Dunn  <dunni@gnu.org>

	Allow spaces in file names when running linux apps.

	* counsel.el (counsel-linux-app-action-file): Quote argument to allow
	spaces.

2017-01-19  Ian Dunn  <dunni@gnu.org>

	Use customizable list of directories when looking for linux apps.

	* counsel.el (counsel-linux-apps-directories): New variable.
	 (counsel-linux-apps-list): Use it.

2017-01-18  Fabrice Popineau  <fabrice.popineau@gmail.com>

	Add missing parameter for ag

	Fixes #858

2017-01-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sort-maybe): Fix byte-compiler warning

2017-01-05  Justin Burkett  <justin@burkett.cc>

	ivy.el: Allow toggling of sorting in ivy-read

	Modify ivy-sort-functions-alist to allow a list of sorting functions to
	apply to a collection. The car of this list is the current one.
	ivy-rotate-sort then rotates this list through the different
	possibilities. I bound it to C-c C-s. Here is a simple example to
	illustrate.

	(setq ivy-sort-functions-alist
	 '((read-file-name-internal .
	   (ivy-sort-file-function-default string-lessp string-greaterp))
	   (internal-complete-buffer . nil)
	   (counsel-git-grep-function . nil)
	   (Man-goto-section . nil)
	   (org-refile . nil)
	   (t . string-lessp)))

	M-x find-file RET C-c C-s now switches from the default sorting to using 
	string-lessp. C-c C-s again switches to string-greaterp and so on.

	ivy.el (ivy-sort-functions-alist): Allow list in cdr of each cell ivy.el
	(ivy-rotate-sort): Add ivy.el (ivy--sort-function): Add and use for 
	lookup in ivy-sort-functions-alist

	Fixes #845

2017-01-04  Lukas Fürmetz  <fuermetz@mailbox.org>

	Add command `counsel-mark-ring'

	Fixes #834

2016-12-29  PythonNut  <PythonNut@users.noreply.github.com>

	Make ivy--flx-sort more intelligent

2016-12-20  momomo5717	<momomo5717@gmail.com>

	counsel.el (counsel-ace-link): Use `cdr' for action.

2016-12-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Update package names in ELPA/MELPA

	Fixes #833

2016-12-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-minibuffer-line): Fix for ivy-display-style nil

	Fixes #828

2016-12-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--occur-insert-lines): Scroll to first cand

	Fixes #829

2016-12-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Simplify

	Re #827

2016-12-15  Jean-Philippe Bernardy  <jeanphilippe.bernardy@gmail.com>

	ivy.el: Fix ivy-highlight-functions-alist

	Re #654 Fixes #827

2016-12-15  joe di castro  <joe@joedicastro.com>

	counsel.el: Add counsel-org-agenda-headlines

	Fixes #825

2016-12-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix counsel-command-history

	Re #826

2016-12-15  joe di castro  <joe@joedicastro.com>

	counsel.el: Add counsel-command-history

	Fixes #826

2016-12-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Simplify previous commit

	Re #691

2016-12-13  Jean-Philippe Bernardy  <jean-philippe.bernardy@tweag.io>

	Add highlighter function configuration to ivy

	Use an alist to figure out the highlight function.

	Fixes #691

2016-12-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Fix window-end call

	Always refresh, otherwise some candidates may not get highlighted.

2016-12-13  Jonas Bernoulli  <jonas@bernoul.li>

	Update copyright year

2016-12-13  Jonas Bernoulli  <jonas@bernoul.li>

	Fix typos

2016-12-13  Jonas Bernoulli  <jonas@bernoul.li>

	Don't claim `swiper' provides `ivy-mode'

	The `ivy' package/library provides `ivy-mode', not `swiper'.

2016-12-13  Jonas Bernoulli  <jonas@bernoul.li>

	Remap `backward-delete-char-untabify' to `ivy-backward-delete-char'

	This is useful for users who have bound this command globally instead of
	`delete-backward-char' (which is already being remapped to the same ivy
	command).

2016-12-13  Jonas Bernoulli  <jonas@bernoul.li>

	Set `outline-regexp' directory local

2016-12-11  Yevgnen Koh	 <wherejoystarts@gmail.com>

	Fix counsel-ag support limiting in files

	Fixes #822 Fixes #823

2016-12-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag): Fix byte-compile warning

2016-12-10  Justin Burkett  <justin@burkett.cc>

	ivy.el (ivy--virtual-buffers): Don't modify recentfs or bookmarks

	Copy recentf-list and bookmark-alist so that put-text-property doesn't
	modify them.

	Fixes #821

2016-12-09  Yevgnen Koh	 <wherejoystarts@gmail.com>

	Make counsel-ag support limiting in files.

	This is be done by detecting " -- " in extra-ag-args after prompting,
	since ag supports " -- pattern file1 file2" style of searching.

2016-12-08  Wilfred Hughes  <whughes@ahl.com>

	swiper-all should consider magit stash buffers too

	These sometimes contain interesting text that isn't currently present in 
	any other buffer.

	Fixes #819

2016-12-08  Yevgnen Koh	 <wherejoystarts@gmail.com>

	Make counsel-ag prompt for extra args when using prefix arg.

	Previously counsel-ag is only prompt for directory when using a prefix
	arg. This commit make it prompt for extra args too. The commit will also
	affect commands like counsel-pt which invokes counsel-ag.

	Fixed counsel-projectile-ag prompt twice bug.

	Fixes #774

2016-12-07  joe di castro  <joe@joedicastro.com>

	Fix little typo

	Fix the typo mentioned in
	https://github.com/abo-abo/swiper/commit/039c58a8d3736252e1994361b86ebcbb2af1854e#commitcomment-20101947

2016-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Use ivy-format-function approach for counsel-faces

	* counsel.el (counsel-faces-action-describe): Remove defun.
	(counsel-faces-action-describe): Simplify.
	(counsel-faces-action-customize): Simplify.
	(counsel-faces-action-insert-name): Replace with 'insert.
	(counsel-faces-action-kill-name): Replace with 'kill-new.
	(counsel--faces-fmt): New defvar.
	(counsel--faces-format-function): New defun.
	(counsel-faces): Update.

	With this change, the candidates are simply (face-list). Additionally,
	`counsel-faces--sample-text' is no longer matched, since it's never part
	of the candidate text.

	Re #815

2016-12-07  joe di castro  <joe@joedicastro.com>

	counsel.el: added three new counsel commands.

	Added `counsel-colors-web`, `counsel-colors-emacs` and `counsel-faces`.

	Fixes #815

2016-12-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Ease the creation of swiper-in-region functions

	* swiper.el (swiper--point-min): New defvar.
	(swiper--point-max): New defvar.
	(swiper--init): Set the new vars.
	(swiper--update-input-ivy): Use the new vars.
	(swiper--action): Use the new var.

	Example - swipe only in the current Org subtree:

	    (defun worf-occur ()
	     (interactive)
	     (let* ((bnd (worf--bounds-subtree))
		    (candidates
		     (save-restriction
		       (narrow-to-region (car bnd) (cdr bnd))
		       (swiper--init)
		       (swiper--candidates))))
	       (ivy-read "pattern: " candidates
			 :require-match t
			 :update-fn #'swiper--update-input-ivy
			 :action #'swiper--action
			 :unwind #'swiper--cleanup
			 :caller 'worf-occur)))

	Here, `save-restriction' is used to select only the candidates in the 
	subtree. The actualy restriction is never shown, it's more seamless than
	`org-narrow-to-subtree' followed by `swiper'.

2016-12-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix byte-compile warning

2016-12-04  Justin Burkett  <justin@burkett.cc>

	counsel.el (counsel-bookmark-avoid-dired): Add

	When non-nil and a directory is selected from counsel-bookmark, forward
	the choice to counsel-find-file instead of opening a dired buffer.

	Fixes #813

2016-12-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Call the action in ivy-state-buffer

	Re #810 Re #760 Re #779 Re #717

2016-11-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-occur): Quote the directory  name

	Fixes #811

2016-11-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Don't mess with default-directory

	Fixes #810 Fixes #760 Fixes #779 Reopen #717

2016-11-29  Syohei YOSHIDA  <syohex@gmail.com>

	Fix typo in ivy-read docstring

2016-11-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Use predicate when reading file names

	* ivy.el (ivy--sorted-files): Add optional arg.
	(ivy--reset-state): Update.

	Fixes #804

2016-11-26  Michael Olson  <mwolson@member.fsf.org>

	Add support for counsel-find-library

	* This is a helpful and unsurprising alternative to using C-. with
	counsel-load-library
	* Extract counsel-library-candidates which is used by both
	counsel-load-library and
	 counsel-find-library
	* Use counsel-find-library in place of counsel-load-library in the docs,
	in order to better match
	 the feel of the surrounding keybindings, which are all locate-based
	rather than mutate-based.

	Fixes #794 Fixes #801

2016-11-25  kimim  <m@kimi.im>

	counsel.el (counsel-grep-post-action-hook): New hook for
	counsel-ag/grep/pt

	Fixes #800

2016-11-25  Wilfred Hughes  <whughes@ahl.com>

	Ignore TAGS buffers in swiper-all

	Factor out the filter logic into a separate function.

	Fixes #787

2016-11-25  Michael Olson  <mwolson@member.fsf.org>

	Remap scroll-up/down-command instead of assigning C-v/M-v so page
	up/down works

	Fixes #797 Fixes #798

2016-11-25  Michael Olson  <mwolson@member.fsf.org>

	Address multiple problems with counsel-rg

	* counsel-ag-function: Take base-cmd as a parameter instead of using
	counsel-ag-base-command
	* counsel-rg-base-command: Include line numbers and current directory so
	it works on Windows
	* Make counsel-rg a modified copy of counsel-ag instead of calling it,
	so we get a working occur buffer
	* Update docs to mention counsel-rg
	* ivy: Add 'counsel-rg to multiple memq lists that check for 'counsel-ag

	Fixes #795 Fixes #796

2016-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-slash): Fix pasting "/etc/"

2016-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix broken "/ssh:"

	Reminder: (file-exists-p "/ssh:") throws.

2016-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix when ivy-text exists

	Fixes #792

2016-11-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-mode): Set view-read-only to nil locally

	Fixes #789

2016-11-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to customize ivy-display-function per caller

	* ivy.el (ivy-display-functions-alist): New defvar.
	(ivy-read): Use `ivy-display-functions-alist' to set
	`ivy-display-function'.
	(ivy-completion-in-region): Don't hardcode `ivy-display-function'.

	Fixes #788

2016-11-19  Manuel Uberti  <manuel.uberti@inventati.org>

	Fix counsel-rg to follow matching candidate

2016-11-19  Manuel Uberti  <manuel.uberti@inventati.org>

	Add `counsel-rg`

	This lets you use [ripgrep](https://github.com/BurntSushi/ripgrep) via
	Counsel.

2016-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix "RET" on no input

	Fixes #782

2016-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Revert "ivy.el (ivy-call): setq default-directory instead of let"

	This reverts commit 2237916a4ebd427ff9dae3ad9cda46a35ce7ace4.

	Fixes #779

2016-11-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): file-name-directory can return nil

	Fixes #780

2016-11-15  jtbm37  <jean@tbm.email>

	New example to show how to associate values

	Fixes #714

2016-11-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Check if ivy-text is a proper dir

2016-11-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recentf): Remove properties from recentf-list

	Fixes #770

2016-11-11  Wilfred Hughes  <whughes@ahl.com>

	Ensure that ivy--regex-ignore-order always returns legal regexps

	The input from the user may not be a valid regexp. Even when a user 
	types a valid regexp, there may be points where the intermediate value 
	is not a valid regexp.

	Fall back to a literal string match if the input is not a valid regexp.

	Fixes #765.

2016-11-10  Yevgnen Koh	 <wherejoystarts@gmail.com>

	Shrink ivy to suitable height when reading actions.

	The original option 'grow-only is related to #402 . Setting
	resize-mini-windows to t seems will not break the original fix, but has
	the benefit that when the action list is to small, it will shrink to
	suitable height.

	Fixes #764 Re #402

2016-11-10  Yevgnen Koh	 <wherejoystarts@gmail.com>

	Shrink ivy back to ivy-height after dispatching actions.

	Before when there are too many actions, ivy will not go back to original
	ivy-height after a C-g in ivy-dispatching-done or performing
	ivy-dispatching-call. The function ivy-shrink-after-dispatching deals
	with these situations.

2016-11-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep): Quote :preselect

2016-11-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): setq default-directory instead of let

	Fixes #760

	May cause a regression w.r.t. file-based commands. Nothing strange
	observed so far.

2016-11-04  Bryan Gilbert  <gilbertw1@gmail.com>

	update 'counsel-bookmark' with the ability to create, edit, and delete
	bookmarks

2016-11-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-pt): Add initial-input arg

	Fixes #757

2016-10-30  Omair Majid	 <omair.majid@gmail.com>

	counsel.el (counsel-rpm): New command

	Fixes #695

2016-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-other-window): Obey ivy-ignore-buffers

	Fixes #745

2016-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix file name completion for when initial-input is a file name

	* ivy.el (ivy--reset-state): cd to filename's directory, set the
	 remaining chars as :preselect.

	Fixes #744

2016-10-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--virtual-buffers): Move to silence compiler

2016-10-29  Wilfred Hughes  <me@wilfred.me.uk>

	Sort virtual buffers after open buffers.

	Fixes #706. Fixes #743.

2016-10-28  Jonas Bernoulli  <jonas@bernoul.li>

	Silence byte-compiler

2016-10-28  travisf  <travisf@jfrog.com>

	Correct ivy-fixed-height-minibuffer size

	Correct the minibuffer height when ivy-fixed-height-minibuffer and 
	ivy-add-newline-after prompt are both t.

	Fixes #737

2016-10-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve recursive minibuffers with two emacsclients

	* ivy.el (ivy-state): New field frame.
	(ivy-read): Save selected frame.
	(ivy--reset-state): Select the active minibuffer window if the frame was 
	switched.

	Fixes #738

	Packages using Ivy should be recompiled, since the definition of 
	ivy-state struct is changed.

2016-10-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-setup): Fixup max-mini-window-height

	Fixes #732

2016-10-25  fabacino  <fabacino@gmail.com>

	ivy.el (ivy-magic-tilde): Fix type

2016-10-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-magic-tilde): New defcustom

	Decide if "~" or "~/" should cd home.

	* ivy.el (ivy--exhibit): Update.

	Fixes #687 Fixes #679

2016-10-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sort-files-by-date): Fix docstring

	Re #723

2016-10-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-info-lookup-symbol): Add preselect

	Fixes #722

2016-10-20  Hong Xu  <hong@topbug.net>

	Correct a minor doc error: `info-describe-symbol' should be
	`info-lookup-symbol'.

2016-10-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	Enable read-only-mode for ivy-occur

	Fixes #720

2016-10-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Set default-directory

	Fixes #717

2016-10-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fix with-ivy-window

	Avoid using `with-ivy-window' macro. Fixes #712

2016-10-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recoll-function): Add shell-quote-argument

	Fixes #713

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-cleanup): Fixup

	Reset cursor only if it's nil.

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fix up

	Avoid bug at (bobp).

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-cleanup): Don't trigger company

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-display-function-overlay): Fix up

	Don't call `ivy-left-pad' with a negative arg.

	This change should theoretically enable you to:

	    (setq ivy-display-function 'ivy-display-function-overlay)

	Note that this isn't recommended: things go crazy for `swiper' etc.
	`'ivy-display-function-overlay' is best used only for in-line completion
	(e.g. `complete-symbol').

	Fixes #707

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-overlay.el (ivy-overlay-cleanup): Restore cursor-type

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add a fake cursor to inline completion display

	* ivy-overlay.el (ivy-cursor): New face.
	(ivy-display-function-overlay): Propertize the string with `ivy-cursor'.

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Makefile: load ivy-overlay.el

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-display.el: Move to wiki

	ivy-display.el is more experimental than useful, and depends on popup.el 
	and lv.el. That's why I don't want to bundle it with Ivy.

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve the overlay offset

	* ivy-overlay.el (ivy-display-function-overlay): Update.

	1. When in `org-mode' take into account `org-indent-mode'.

	2. When completing a prefix, place it so that it lines up with existing 
	text. For example, in an Elisp buffer type "org-" and press "C-M-i". The 
	candidates will all start with "org-" and now will line up with the
	"org-" that's already in the buffer. Instead of just being aligned to 
	the current point.

2016-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Display completion-at-point at point

	* ivy.el (ivy-display-function): New defcustom, which decides how to
	 display the candidates.
	(ivy-completion-in-region): 1. Bind `ivy-display-function' to
	`ivy-overlay'. 2. Bind `ivy--prompts-list' so that the number of
	candidates
	  is not displayed any more (the idea is to have a completely static
	  minibuffer and look at point instead of at the minibuffer). 3. Add
	`ivy-overlay-cleanup' to :unwind. 4. Add :caller.

	(ivy-flip): Remove, now generalized to `ivy-display-function'.

	(ivy--insert-minibuffer): Forward to `ivy-display-function'.

	* ivy-display.el (ivy-display-function-lv): New defun. Corresponds to
	 the old `ivy-flip'.

	(ivy-display-function-popup): New defun. Experiment with `popup-tip'.

	* ivy-overlay.el (ivy-overlay-at): New defvar.
	(ivy-left-pad):
	(ivy-overlay-cleanup):
	(ivy-overlay-show-after): New defun.

	(ivy-overlay): New defun. Remove all visible updates in the minibuffer. 
	1. Ensure the prompt function does nothing, e.g. redisplaying the amount
	  of candidates. 2. Set the minibuffer text foreground to white. 3. Hide
	the cursor in the minibuffer.

2016-10-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-occur): Fix "g"

	Things go wrong when `ivy-text' is changed from the original value and
	"g" is pressed. Extract `ivy-text' from the buffer name.

2016-10-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-multi): Don't use virtual buffers

	Fixes #705

2016-10-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-describe-face): Ensure :preselect string

	Fixes #703

2016-10-05  Zak B. Elep	 <zakame@zakame.net>

	counsel.el (counsel-recentf): add extra actions

	Let `counsel-recentf` be able to open recent files into another window, 
	or even via an external application.

2016-10-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix counsel-grep for files with spaces in the name

	Fixes #700

2016-10-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-hydra-heads): Fixup

	Fixes #696

2016-09-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-at-git-issue-p): Fix for newer magit

	Fixes #692

2016-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-mode): Add "C-r" bindings

	* counsel.el (counsel-shell-command-history): New command.
	(counsel-mode): Bind "C-r" in two places to search through appropriate 
	history.

	Fixes #689

2016-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate-action-extern): Update on w32

	Fixes #688

2016-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Don't switch windows for 'identity action

	Fixes #690

2016-09-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to "C-y" a "/ssh:" file name

	* ivy.el (ivy--magic-file-slash): Update.

2016-09-21  Syohei YOSHIDA  <shohei.yoshida@dena.com>

	Fix for older Emacs

	search-default-mode was introduced at Emacs 25.

2016-09-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add char-fold-to-regexp option to swiper

	* swiper.el (swiper--re-builder): Update.

	Use (setq search-default-mode 'char-fold-to-regexp) for this.

	Fixes #622

2016-09-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all): Fix window-width in -nw

	* swiper.el (swiper-window-width): New defvar. Dynamically rebound to
	 current frame width.
	(swiper-all): Avoid continuation lines for emacs -nw.

2016-09-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Update for Windows

	Don't count on Windows having awk and sed.

	This makes it possible to use `counsel-git-grep' even without Cygwin, 
	just having `git' from the "Git for Windows" build in the PATH is 
	enough.

	Of course, it won't work well for huge repositories.

2016-09-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-multi-action-1): Fix regression

	Due to the recent `with-ivy-window' change.

	Fixes #673

2016-09-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag-function): Use sync on remote

	Apparently, `start-process-shell-command' does not work transparently 
	with remote `default-directory', like `shell-command-to-string' does.

	Fixes #669

2016-09-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Update description comment.

2016-09-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix byte compiler warnings

	* ivy.el (lv-force-update): Declare.
	(lv-message): Declare.

2016-09-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): expand-file-name

	Fixes #668

2016-09-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-minibuffer): Handle empty string

	Fixes #666

2016-09-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-exit-with-action): Remove with-ivy-window

	Fixes #665

2016-09-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-flip): Allow to flip candidates/input

	* ivy.el (ivy--insert-minibuffer): Update.

	Fixes #663

2016-09-12  mn1281  <mn1281@computer>

	Add leading zeros to the hex representation to counsel-unicode-char

	Unicode hex codes typically have leading 0s, and this change also makes 
	searching by hex code easier.

	Sort results. With the leading zeros in place, sorting is in correct 
	numerical order.

	Fixes #662

2016-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-separator): New defcustom

	* counsel.el (counsel--yank-pop-format-function): Update.

	Fixes #660

2016-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recentf): Turn on recentf

	Fixes #659

2016-09-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Replace swiper with counsel (MELPA)

	Fixes #658

2016-09-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix alist and :predicate interaction

	* ivy.el (ivy--reset-state): The 'idx text property refers to the full
	 alist collection, so the full one should fully match :predicate.

	Fixes #657

2016-09-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--flx-featurep): New defvar

	Re #653

2016-09-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-log-cmd): New defvar

	* counsel.el (counsel-git-log-function): Use `counsel-git-log-cmd'.

	Fixes #652

2016-09-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve fuzzy swiper highlight

	* ivy.el (ivy--regex-fuzzy): Is non-greedy now - flx does the same.
	(ivy--format-minibuffer-line): Ensure flx is available.

	* ivy-test.el (ivy--regex-fuzzy): Update test.

	* swiper.el (swiper--add-overlays): Join contiguous matches together.
	(swiper--add-overlay): New defun.

	Fixes #651

2016-09-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep): Specify :re-builder

2016-09-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Extract ivy--flx-propertize from ivy--flx-sort

	* ivy.el (ivy--flx-propertize): New defun.
	(ivy--flx-sort): Don't propertize any more, only sort.
	(ivy--format-minibuffer-line): Add propertize for fuzzy.

	With the new change, the minibuffer propertize is done always for fuzzy. 
	Previously it would only be done if the number of cands was less than 
	200 in `ivy--flx-sort'.

	Now, `flx-score' is called `ivy-height' times. That info is used to 
	propertize the visible cands.

	Fixes #651

2016-09-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix ivy-occur-press for swiper

	* swiper.el (swiper-occur): Set `swiper--current-window-start' to nil.
	(swiper--action): Do nothing extra for null
	`swiper--current-window-start'.

2016-08-31  Wilfred Hughes  <me@wilfred.me.uk>

	Use a lighter color for ivy-remote in dark themes

	Previously, we always used a dark blue, which isn't very visible on dark
	themes.

2016-08-29  Stephen Whipple  <shw@wicdmedia.org>

	Restore window position after using swiper.

	This prevents a "jumping" behavior which occurs when variables such as
	`scroll-conservatively' are set to a high value.

	* swiper.el (swiper--current-match-start): Hold the window-start 
	position for restoration.
	(swiper--action): If `swiper-action-recenter' is nil, then restore the
	window-start that was used during selection.

2016-08-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-call): Use select-window, not with-ivy-window

	Since `with-ivy-window' relies on `with-selected-window', which restores 
	the window state. This is bad if the purpose of the action was to change 
	the selected window.

	So now we use only the first part of `with-ivy-window', which is
	(select-window (ivy--get-window ivy-last)).

	Fixes #639

2016-08-28  Steve Purcell  <steve@sanityinc.com>

	Use EVM in travis to test across multiple Emacs versions

2016-08-27  Steve Purcell  <steve@sanityinc.com>

	Depend on Emacs 24.3, since user-error is used

	Fixes #637

2016-08-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Apply alist change to ivy-occur

	* ivy.el (ivy-occur-press): Pass the whole cons cell to action.

	Fixes #634

2016-08-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make with-ivy-window not necessary in action

	* ivy.el (ivy-exit-with-action):
	(ivy-call): Wrap `with-ivy-window' around (funcall action).

2016-08-25  sooheon  <tngjs0@gmail.com>

	Replace references to evil-jumper with evil-jumps

	* swiper.el (evil-set-jump): Declare. Check for evil-mode, rather than
	evil-jumper-mode. Call `evil-set-jump`.

2016-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Add bookmark-bmenu-mode

2016-08-25  fabacino  <fabacino@gmail.com>

	counsel.el (counsel-imenu): Force rescan if requested

	Use prefix argument to force a rescan of the current buffer regardless
	of its size.

2016-08-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix read-only collection member

	Fixes #626

2016-08-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix compile warning

2016-08-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dpkg): Remove typo

	Fixes #625

2016-08-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Rename ivy-recentf -> counsel-recentf

	Fixes #624

2016-08-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dpkg): New command

2016-08-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all): "M-q" calls query-replace

	* swiper.el (swiper-all-query-replace): New defun.
	(swiper-all-map): New keymap.
	(swiper-all): Update prompt, use `swiper-all-map'.

	Fixes #623

2016-08-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-read-preselect): New test

2016-08-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--recompute-index): Update condition

2016-08-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Add stringp preselect guard

2016-08-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press-and-switch): Use ivy-occur-last

2016-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-mode-map): Make "RET" switch window

	* ivy.el (ivy-occur-press-and-switch): New command.

2016-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Makefile (plain): Print version

2016-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-action): Reveal text in outlines

2016-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Prevent region expanding to prompt

	* ivy.el (ivy--insert-minibuffer): Restore the old mark position.

	Due to text being deleted and added, the mark moved. Now it's possible 
	to e.g. to:

	- "C-x h DEL" to clear the buffer.
	- "M-i M-m M-w" to copy the current candidate (uses `lispy-mark-symbol'
	on "M-m")

2016-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-proj-function): Use greedy regex

2016-08-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix the "C-m" not working for last commit

2016-08-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	Implement unique index for alist completion

	The uniqueness assumption is that the completion system is passed a list 
	of /unique/ strings, of which one (or more) are selected.

	Unlike plain string completion, alists may require violating the 
	uniqueness assumption: there may be two elements with the same `car' but 
	different `cdr'. Example: C function declaration and definition for tag 
	completion.

	Until now, whenever two equal strings were sent to `ivy-read', only the 
	first one could be selected. Now, each alist car gets an integer index 
	assigned to it as a text property 'idx. So it's possible to 
	differentiate two alist items with the same key.

	* ivy.el (ivy-call): Possibly locate the collection item using the 'idx
	property.
	(ivy-read): Remove the added 'idx text property.
	(ivy--reset-state): Add 'idx text property to alist type collection.

	* ivy-test.el: Update test.

2016-08-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Speed up opening remotes

2016-08-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix swiper-all for ivy--regex-ignore-order

	* ivy.el (ivy-re-match): New defun.

	* ivy-test.el (ivy-re-match): New test.

	* swiper.el (swiper-all-function): Separate the cons regex into two
	 parts. Check if the second part also matches.	Set `ivy--old-re' so
	 that there's fancy highlighting in the minibuffer.

	Fixes #620

2016-08-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop): Fix candidates not showing sometimes

	* ivy.el (ivy-cleanup-string): New defun.

	* swiper.el (swiper--candidates): Use `ivy-cleanup-string'.

	* counsel.el (counsel-yank-pop): Use `ivy-cleanup-string'.

2016-08-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-prompt): Improve the extra "\n" logic

	* ivy.el (ivy--insert-prompt): Update.

2016-08-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-proj-function): Use greedy regex

2016-08-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Fix prompt

2016-08-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel-git-grep now supports custom per-project commands

	* ivy.el (ivy-recompute-index-swiper): Return 0 on error.

	* counsel.el (counsel-git-grep-projects-alist): New defvar.

	(counsel-git-grep): When used with "C-u", and inside
	`counsel-git-grep-projects-alist', use the corresponding command 
	instead. Additionally, `counsel-git-grep-proj-function' is used.
	(counsel-git-grep-proj-function): New defun.

	For a possible implementation of the custom git-grep command, see: 
	https://github.com/abo-abo/oremacs/commit/c7effdb94749dc600b1204ea7a9db319ebdb0f00

	Fixes #616

2016-08-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all-function): Add a ">0 cands -> 0 cands" fix

2016-08-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper now respects ivy-re-builders-alist

	* swiper.el (swiper--re-builder): Wrap around the customized re-builder.

	Fixes #613

	Example setting to make swiper fuzzier:

	(setq ivy-re-builders-alist
	     '((swiper . ivy--regex-fuzzy)
	       (t . ivy--regex-plus)))

2016-07-30  justbur  <justin@burkett.cc>

	counsel.el (counsel-file-jump): Allow spaces in path

	* counsel.el (counsel-dired-jump): Allow spaces in path

2016-07-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-file-jump): Skip ".git/"

2016-07-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-dired-jump): Fix up

2016-07-30  justbur  <justin@burkett.cc>

	Add counsel commands for jumping to files

	* counsel.el (counsel-file-jump): New command to jump to file in
	 any sub directory
	* counsel.el (counsel-dired-jump): New command to jump to any sub
	 directory

2016-07-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Ensure regex is a sting

	* ivy.el (ivy-sort-function-buffer): Update.

	* swiper.el (swiper-all-function): Update.

	Fixes #608

2016-07-29  justbur  <justin@burkett.cc>

	counsel.el (counsel-locate-action-extern): Add w32 support

	* counsel.el (counsel-find-file): Add open externally action

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make swiper-all use point positions instead of line positions

	* swiper.el (swiper-all-function): Using point positions speeds up the
	 whole thing by a huge amount. It's a bit less pretty than with the
	 line positions though.

	Remove text properties from `org-mode', otherwise I don't know how to 
	align those strings.
	(swiper-all-action): Separate action.

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make swiper-all async

	* swiper.el (swiper-all-function): New defun.
	(swiper--all-format-function): New defun.
	(swiper-all): Update.
	(swiper-multi-action-2): Update.

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-multi-action-2): Fix swiper-all

	Fixes #581

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-state): directory field stores default-directory

	* ivy.el (ivy-resume): Let `default-directory' to (ivy-state-directory
	 ivy-last).
	(ivy-read): Set (ivy-state-directory ivy-last) to `default-directory'.

	Fixes #591

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	Makefile (plain): Fix target

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic): Fix warnings

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-sort-matches-functions-alist): New sorting for
	ivy-switch-buffer

	* ivy.el (ivy-sort-function-buffer): New defun.

	Fixes #595

2016-07-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer): Reset index to 0 on input

	Since the reset is on input, "C-x b RET" can still be used to cycle the 
	last two buffers.

	Otherwise, the behavior seems intuitive enough.

	Fixes #522 Fixes #513

2016-07-28  justbur  <justin@burkett.cc>

	counsel.el (counsel-locate-action-extern): Make interactive

	* counsel.el (counsel-find-file-extern): Add as alias for the locate
	 action for discoverability

	Fixes #605

2016-07-28  justbur  <justin@burkett.cc>

	Don't quit counsel-linux-app on bad data

	* counsel.el (counsel-linux-apps-list): Don't throw error for bad
	 file. We can just skip the bad .desktop file and issue a warning.

	Fixes #604

2016-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-outline): New command

2016-07-26  Wilfred Hughes  <me@wilfred.me.uk>

	Documenting how to generate texinfo

2016-07-26  Wilfred Hughes  <me@wilfred.me.uk>

	Remove ivy-height from the example configuration.

	This is the default value, so new users don't benefit from setting it.

2016-07-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Add a FAQ section

	Fixes #600

2016-07-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-cmd-history): Update default

2016-07-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): Require avy

	Fixes #593

2016-07-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Customize re-builder

	The point is not to use `ivy--regex-plus' because it treats "!" 
	differently, and those are useful as literals.

2016-07-19  James Bunton  <jamesbunton@delx.net.au>

	Support custom command for counsel-git

	Fixes #590

2016-07-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	Name bookmarked directories using the bookmark name

	* ivy.el (ivy--virtual-buffers): Update.

	Previously, "foo/src" and "bar/src" would be both named "src" when
	(eq ivy-virtual-abbreviate 'name).

	Now, they're named after their bookmarks, e.g. "source of foo" or "bar 
	project".

2016-07-16  Wilfred Hughes  <me@wilfred.me.uk>

	Don't crash if default-directory is nil.

	I think this is a pretty rare occurrence (for some reason I had a
	`*Backtrace*` buffer with `default-directory` set to nil). However,
	`ivy-switch-buffer` would break in this situation.

2016-07-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-describe-face): New command

	Fixes #585

2016-07-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-set-view-recur): Account for mulitple same kind splits

	`window-tree' doesn't return e.g. (vert w1 (vert w2 w3)), but instead
	(vert w1 w2 w3). Adjust for that.

	Fixes #584

2016-07-12  Wilfred Hughes  <me@wilfred.me.uk>

	Spelling fixes

2016-07-12  Wilfred Hughes  <me@wilfred.me.uk>

	Separate readme into distinct ivy/counsel/swiper sections

	Fixes #579

2016-07-11  Wilfred Hughes  <me@wilfred.me.uk>

	Mention that ivy-format-function is the variable described

	Fixes #577

2016-07-08  Kaushal Modi  <kaushal.modi@gmail.com>

	Make counsel-ag extensible

2016-07-05  justbur  <justin@burkett.cc>

	counsel.el (counsel-semantic): Fix let paren

2016-07-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-semantic): New command

	Fixes #490

2016-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Switch directory with "M-o b"

	Fixes #531

2016-07-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Move ivy-toggle-regexp-quote from "M-q" to
	"M-r"

	Fixes #566

2016-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix foo!bar syntax for swiper

	* swiper.el (swiper--re-builder):
	(swiper--update-input-ivy): Take care not to call
	`replace-regexp-in-string' on a cons cell.

	Fixes #565

2016-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Add face customizations to ivy-switch-buffer

	Fixes #568

2016-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Fix interaction with repeat

	Need to set `real-this-command' in order for `repeat' to work.

	Fixes #564

2016-06-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--switch-buffer-action): Improve

2016-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-push-view): Work properly for dired-mode

2016-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add ivy-push-view and ivy-pop-view

	* ivy.el (ivy-default-view-name): New defun.
	(ivy-push-view): New command.
	(ivy-pop-view-action): New defun.
	(ivy-pop-view): New command.
	(ivy-set-view-recur): Extend views, they can now specify the point 
	position.

	Quick explanation:

	1. Use `ivy-push-view' to store a view - your current window tree. This
	contains: all windows on the current frame, and their configuration 
	w.r.t. horizontal or vertical splits. The point positions in each window 
	are stored as well.

	2. Use `ivy-switch-buffer' to select stored views.

	3. Use `ivy-pop-view' to delete a stored view that you don't want any 
	more.

2016-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Breaking change for alist type collection actions

	* ivy.el (ivy-call): The action will be called with collection's ITEM,
	 instead of (cdr ITEM) like before.

	* ivy-test.el (ivy-read): Update test. It's easy to see the breaking
	 change by looking at this test update.

	* counsel.el (counsel-descbinds-action-describe):
	(counsel-descbinds-action-find):
	(counsel-descbinds-action-info):
	(counsel-imenu):
	(counsel-rhythmbox-play-song):
	(counsel-rhythmbox-enqueue-song):
	(counsel-linux-app-action-default):
	(counsel-linux-app-action-file): Update.

2016-06-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Avoid error for 0 candidates

2016-06-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox): Require dbus

2016-06-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-prompt): Add warning

	In case someone keeps a 1-arg function in
	`counsel-prompt-function' (old), instead of 0-arg (new).

2016-06-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-add-prompt-count): Refactor from ivy--reset-state

	* counsel.el (counsel-prompt-function-default): Update.
	(counsel-prompt-function-dir): Update.

2016-06-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Add :caller

2016-06-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-set-prompt): New API

	* ivy.el (ivy-prompt): Called to possibly update the prompt in
	 `post-command-hook'.

	* counsel.el (counsel-prompt-function): Mark as obsolete. Will be
	 removed after a few months.
	(counsel-prompt-function-default): Change from 1 arg to 0 args.
	(counsel-prompt-function-dir): Change from 1 arg to 0 args.
	(counsel-git):
	(counsel-git-grep):
	(counsel-ag): Use `ivy-set-prompt'.

	* Makefile: New target "obsolete". Used to check if obsolete warnings
	 work properly for the current obsolete variables.

	* targets/obsolete-config.el: Used in conjunction with "make obsolete".

	Re #424

2016-06-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate-options): Remove obsolete var

	Obsolete since a50f668 (4 month ago).

2016-06-17  justbur  <justin@burkett.cc>

	Add option for swiper line number to be searchable

	 * swiper.el (swiper-include-line-number-in-search): Add option
	* swiper.el: Use swiper-line-number to store candidate line number
	* ivy.el: Same

	Store swiper line number in new text property swiper-line-number, 
	reserving the display property for the display of text. When the option 
	is enabled the only change is that the line number is included as text 
	in the candidates instead of in the display property.

	Fixes #562

2016-06-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (hydra-keyboard-quit): Declare function

2016-06-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	Purge all dependency on helm-rhythmbox

	Got tired of a breaking interface change every two months.

	* counsel.el (counsel-rhythmbox-play-song): New defun.
	(counsel-rhythmbox-history): New defvar.
	(counsel-rhythmbox): Update.

2016-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): Enable company-mode

	Re #547

2016-06-13  justbur  <justin@burkett.cc>

	Improve readability of imenu candidates

	* counsel.el (counsel-imenu-get-candidates-from): Improve readability

2016-06-13  John Kitchin  <jkitchin@andrew.cmu.edu>

	Add prefix arg for action functions

	This commit makes ivy store prefix args that can be used in action 
	functions. The prefix arg is stored in `ivy-current-prefix-arg'.

	New tests are added to ivy-test.el.

	Fixes #552

	Single actions
	| C-m	  | ivy-done		 | store prefix |
	| M-o	  | ivy-dispatching-done | store prefix |
	| C-j	  | ivy-alt-done	 | store prefix |
	| C-M-j	  | ivy-immediate-done	 | store prefix |
	| TAB TAB | ivy-partial-or-done	 | unsupported	|
	| C-'	  | ivy-avy		 | unsupported	|

	Multiple actions
	| C-M-m | ivy-call		     | store prefix, type prefix again
	for next call |
	| C-M-o | ivy-dispatching-call	     | store prefix, type prefix again
	for next call |
	| C-M-n | ivy-next-line-and-call     | store prefix, type prefix again
	for next call |
	| C-M-p | ivy-previous-line-and-call | store prefix, type prefix again
	for next call |

	** An example application

	no prefix prints first number in a message-box one prefix prints last
	number in a message-box numeric prefix selects the index to print in a
	message-box

	(ivy-read "choose: " '(("a" 1 2 3)
		       ("b" 3 4 5))
	  :action
	  (lambda (x)
	    (message-box "%s"
			 (cond
			  ((null ivy-current-prefix-arg)
			   (elt x 0))
			  ((equal '(4) ivy-current-prefix-arg)
			   (car (last x)))
			  (t
			   (elt x (prefix-numeric-value
	ivy-current-prefix-arg)))))))

2016-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--actionp): Fix lambda being considered a list of actions

2016-06-13  justbur  <justin@burkett.cc>

	counsel.el (counsel-set-variable): Allow new symbols

	If a symbol is not defined, initialize it to nil.

	Fixes #556

2016-06-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Facilitate the sorting of cons cell input to ivy-read

	* ivy.el (ivy--reset-state): When an alist is passed to `ivy-read', and
	 a sorting function is associated via 'caller, the sorting function
	 will receive two cons cells as arguments, instead of two strings as
	 usual.

	Re #554

	Example:

	(defvar ivy-sorter-data '(("b 1" . 1) ("a 2" . 2) ("d 0" . 0) ("c 5" .
	5)))

	(defun isn (a b)
	 (< (cdr a) (cdr b)))

	(add-to-list 'ivy-sort-functions-alist '(ivy-sorter . isn))

	(ivy-read "string: " ivy-sorter-data
		 :sort t
		 :caller 'ivy-sorter)

2016-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add multiple-cursors support to ivy-completion-in-region-action

	* ivy.el (ivy-completion-in-region-action): Do the same thing for each
	 cursor as for point, with respective offset.

	Fixes #547

2016-06-10  Kaushal Modi  <kaushal.modi@gmail.com>

	Escape `%` chars if present in the symbol value

	* counsel-set-variable: The current value of the variable to be modified
	 is displayed in the ivy prompt.  If the symbol value has literal '%'
	 characters they need to be escaped to '%%' so that they are not
	 processed by `ivy--reset-state`.

2016-06-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-read-setq-expression): Fix Eldoc nag

	Fixes #549

2016-06-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-hydra-heads): New command

	Re #548

2016-06-10  Kaushal Modi  <kaushal.modi@gmail.com>

	Show current value of the variable in the prompt

	* counsel-set-variable: The current value of the selected variable is
	 now also shown in the prompt, between the ‹..› brackets.	 That way, the
	 current value of the variable is more explicit to the user.

	Fixes #546

2016-06-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-set-prompt-text-properties-function): New devar

	* ivy.el (ivy-set-prompt-text-properties-default): New defun.

	Fixes #545.

	Notes:

	- User-facing variables should preferably be without `--', hence the
	 rename from `ivy--prompt-text-prop-override-function' to
	 `ivy-set-prompt-text-properties-function'.

	- Using the (defvar foo-function 'foo-function-default) pattern is a
	 simple and easy-to-debug and customize approach.

2016-06-09  Kaushal Modi  <kaushal.modi@gmail.com>

	Make ivy prompt face overriding modular

	* ivy--insert-prompt: The ivy--set-match-props calls inside this 
	function have been moved to the new variable 
	ivy--prompt-text-prop-override-function.  That way, a user can override 
	this variable using add-function, if needed.
	* ivy--set-match-props: To add granular control to text property
	 overrides, now function accepts an optional fourth argument SUBEXP.  By
	 default, the PROPS text property is applied to the whole input string
	 STR if it matches the regexp MATCH.  Now it is possible to apply the
	 text property only to a sub-expression.  The default behavior is
	 retained.

2016-06-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-set-variable): Fix 2nd preselect

	Fixes #544

2016-06-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-set-variable): Add :preselect

	On first completion.

2016-06-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (colir-color-parse): Add test

	Re #543

2016-06-08  Pavel Aslanov  <asl.pavel@gmail.com>

	colir.el (colir-parse-color): Fix color parsing in terminal

	Built-in color-name-to-rgb function is not working properly in terminal 
	as it maps parsed color to colosest available color from available 
	palette, and it is done before blending. This changes basically adds
	function which basiacally parses color in # prefixed format, and
	fallbacks to color-name-to-rgb otherwise.

	Fixes #541 Fixes #543

2016-06-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix common length longer than str

	Example: (setq tab-indent) completes to `tab-always-indent' which has
	'completion-common-length property longer than the original string.

	Re #528

2016-06-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-set-variable): New command

	* counsel.el (counsel-set-variable-history): New defvar.
	(counsel-read-setq-expression): New defun.
	(counsel--setq-doconst): New defun.

2016-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-common-length): Fix double insert bug

	The argument passed to `ivy-completion-common-length' looked like:

	    ("js-indent-level"
	    0 12 (font-lock-face
		  completions-common-part)
	    12 13 (font-lock-face
		   completions-first-difference))

	Note the `font-lock-face' property instead of the `face' property that
	`ivy-completion-common-length' expected. The function now works with 
	both types.

	Fixes #528

2016-06-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Revert "ivy.el (ivy-completion-in-region): Fix double insert bug"

	This reverts commit db94a12d82c6ad4a8adb64d20c1bd148083e9c89.

	Re #528

2016-06-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Add better error message

	When not in a git directory.

	Fixes #537

2016-06-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-or-swiper): Don't grep on compressed files

	* counsel.el (counsel-compressed-file-regex): New defvar.

	Fixes #536

2016-06-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Undo remap

	"C-v" and "M-v" bindings stopped working.

	Fixes #535.

2016-06-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix byte compile warnings

2016-06-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Document all args

	Fixes #533

2016-06-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix double insert bug

	Ensure that the already insert string, e.g. "js-indent-le" is deleted, 
	before the full symbol "js-indent-level" is inserted.

	This used to work only sometimes before.

	Fixes #528

2016-06-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Add require

	Re #529

2016-06-01  Arkadii Rost  <arost@devexperts.com>

	Add forth-block-mode

2016-05-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Add forth-mode

	Fixes #526

2016-05-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-immediate-done): Update docstring

	Fixes #525

2016-05-24  justbur  <justin@burkett.cc>

	counsel.el (counsel-bookmark): Add require

	bookmark-all-names is not autoloaded

2016-05-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-bookmark): Add with-ivy-window

2016-05-24  Ralph Gutkowski  <goodkowski@gmail.com>

	counsel.el (counsel-bookmark): Add

2016-05-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Add workaround for dired-do-copy

	Example scenario: `dired-dwim-target' is t, and a file "foo" is copied 
	from directory-1 to directory-2. But directory-2 already has a file
	"foobar".

	Passed to ivy, :initial-input is "directory-2" and :preselect is
	"directory-2/foo". Without the workaround, the :preselect will choose
	"foobar" when "RET" is pressed. So the only correct way to make a file 
	copy and not a file overwrite would be "foo C-M-j" - much longer than 
	the indented "RET".

	With the workaround, the preselect is disabled, resulting in "./" being 
	selected with "RET".

2016-05-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-company): New command

	Re #331

2016-05-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Prevent (expand-file-name nil)

	Fixes #518

2016-05-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix some checkdoc warnings

2016-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-action-wrap): New defcustom

	* ivy.el (ivy-next-action): Update.
	(ivy-prev-action): Update.

	Fixes #516

2016-05-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region-action): Remove string props

	* ivy.el (ivy-completion-in-region-action): They are removed anyway by
	 `ivy-completion-in-region', but some are added back by ivy's fancy
	 highlights.

	Fixes #517

2016-05-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix last commit

	Fixes #515

2016-05-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	When reading file names, check preselect and initial-input compat

	* ivy.el (ivy--reset-state): Prefer the directory of `initial-input',
	 rather than the directory of `preselect'.

	Re #514

2016-05-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--gg-sentinel): Add a work around

	I've encountered "git-grep" returning exit code 141, even though the 
	output was OK.

2016-05-17  Syohei YOSHIDA  <syohex@gmail.com>

	Remove needless code

	Because hydra is installed as package dependency now.

	Fixes #512

2016-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-cmd-default): New defvar

	It becomes the initial value for `counsel-git-grep-cmd' in each session, 
	instead of hard-coding it in `counsel-git-grep'.

2016-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el: Add a provide statement

2016-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sorted-files): Add a safety work-around

	It can happen that (all-completions "" 'read-file-name-internal) may 
	fail on systems with symlinks. I think it's related to the file 
	functions trying to compute occupied space. In any case, a plain
	`directory-files' is roughly the equivalent and is less likely to fail.

2016-05-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el: Add package tags

	Re #464

2016-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-action-recenter): New defcustom

	* swiper.el (swiper--action): Recenter accordingly.

	Re #116

2016-05-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-load-theme-action): Update

	Add noconfirm arg.

2016-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make "M-o j" consistent for ivy-switch-buffer and counsel-find-file

2016-05-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix ivy-resume for files

2016-05-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Mention "/sudo:"

2016-05-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix problems introduced by "(ivy--filter): Recompute index after sort"

	Use the old logic for 'ivy-recompute-index-swiper and
	'ivy-recompute-index-swiper-async. Otherwise, swiper's re-anchoring 
	doesn't work any more.

	Re #491

2016-05-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix previous commit

	* ivy.el (ido): Don't require 'ido at top-level - it's not used by
	 default.
	(ido-file-extension-lessp): Add declaration.
	(ivy-sort-file-function-using-ido): Clean up trailing whitespace.

	Fixes #498 Fixes #453

2016-05-03  ThibautVerron  <thibaut.verron@gmail.com>

	File sorting function using a priority order for extensions

	This is just the sorting function, as suggested in issue
	https://github.com/abo-abo/swiper/issues/453.
	 I'm not sure of how this option is best presented to the user.
 Also,
	in the long term, it would probably be a good idea to create a "purely
	ivy" variable replacing `ido-file-extensions-order`, in which case the
	new function could completely replace the default function.

2016-05-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-add-actions): New function

	Fixes #470

2016-05-02  jack99999  <git.jackh@neverbox.com>

	fixed typos

2016-05-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el: Fix hydra self-install

	* Makefile: Add a target to test the self-install.

	Fixes #464

2016-04-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-mode-map): Add counsel-info-lookup-symbol

	Fixes #493

2016-04-29  justbur  <justin@burkett.cc>

	ivy.el (ivy--filter): Recompute index after sort

	Fixes #484

2016-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Remove interactive

2016-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Autoload ivy-read

	Fixes #487

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Fix some CUSTOM_ID

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Add CUSTOM_ID to releases 0.6.0 and 0.7.0

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Add custom ids and whitespace in the end

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Add hlines

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Bump version

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Improve for export to HTML

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	Bump version to 0.8.0

2016-04-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Prepare for the 0.8.0 release

2016-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-minibuffer-line): Update

	Add "counsel-ag counsel-pt" to the special highlight behavior.

	Re #483

2016-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add a couple tests for ivy-read with alists

	* ivy-test.el (ivy-read): Add tests.

	To summarize how it works:

	1. Only the keys of the alist are offered for completion, not the values
	- this is the standard Emacs behavior.

	2. `ivy-read' will return the selected key, not the value or the cons 
	cell.

	3. When :action is specified, it will be called with the value 
	corresponding to the selected key. Not the key, and not the cons.

	This allows keys to work as aliases for the actual data, and :action 
	arguments to be simple functions that deal with data (i.e. not having to 
	deal with the `cdr' of the passed argument).

2016-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	When selecting a non-existing key in an alist, return that key

	* ivy.el (ivy-call): Previously, nil was returned.

2016-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	Don't highlight that match in the file name part

	ivy.el (ivy--format-minibuffer-line): Fix for `counsel-git-grep'.

	Fixes #483

2016-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--multi-candidates): Add check

	Avoid calling `make-string' with a negative number.

	Fixes #481

2016-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--magic-file-slash): Allow "non-existing-dir//"

	Fixes #480

2016-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-sentinel): Add safeguard to time-since

	Fixes #479

2016-04-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Add a note on :predicate

2016-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-done): Allow ivy-dispatching-done to exit with no cands

	Example of use:

	(defun ivy-recentf-with-last-input (_x)
	 (ivy-read "Recentf: " recentf-list
		   :action (lambda (f)
			     (with-ivy-window (find-file f)))
		   :initial-input ivy-text
		   :caller 'ivy-recentf))

	(ivy-set-actions t '(("r" ivy-recentf-with-last-input "recentf")))

	The input may match no candidates, but it's still good for
	`ivy-recentf-with-last-input', since it uses `ivy-text' instead of
	`ivy--current'.

2016-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-or-swiper): Use swiper when narrowed

2016-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make the slash more magic during file name completion

	* ivy.el (ivy--magic-file-slash): Extract from `ivy--exhibit'.
	(ivy--exhibit): Update.

	Update to the behavior: the slash ("/") will enter a directory even if 
	its name isn't completely typed out if either:

	1. It's the only candidate. 2. The candidate index isn't 0, i.e. "C-n"
	has been typed at least once. 3. The input isn't "/".

	The above rules still allow to keep the old behavior with "//" moving to 
	root and "/ssh:" opening tramp.

	This is an experimental feature, please report if it breaks someone's 
	workflow.

	Re #321.

2016-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-use-ignore-default): New defcustom

	* ivy.el (ivy-use-ignore): Is now set to `ivy-use-ignore-default'.
	(ivy-toggle-ignore): Update.
	(ivy--reset-state): Update.
	(ivy--switch-buffer-matcher): When `ivy-use-ignore' is t, and they only
	cands that match the input also match `ivy-ignore-buffers' show them
	anyway. But when `ivy-use-ignore' is 'always, show nothing in that case.

	Fixes #477

2016-04-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Set counsel-grep-last-line to nil

2016-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): file-directory-p needs a string

2016-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix read-file-name with specified dir

	* ivy.el (ivy--reset-state): For a call (read-file-name prompt chosen
	default-file-name),
	`ivy--directory' should be set to `chosen'.

	Fixes #475

2016-04-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-mc): Restore interactive

	The command is bound in `swiper-map'. Add a warning for when it's called
	via "M-x", since it's not supposed to be called that way.

2016-04-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-or-swiper): New command

	* counsel.el (counsel-grep-swiper-limit): New defvar.

2016-04-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix compile warning

2016-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix counsel-grep-last-line bug

	Need to reset `counsel-grep-last-line' each time the input changes. That
	var should only be used for cycling the complete cands, not during input
	updates.

2016-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add much faster scrolling to counsel-grep

	* counsel.el (counsel-grep-last-line): New defvar.
	(counsel-grep): Set `counsel-grep-last-line' to nil.
	(counsel-grep-action): Instead of going to `point-min' and
	`forward-line' with a huge arg (e.g. to scroll 50K lines). Scroll 
	relative to the last position stored in `counsel-grep-last-line'.

	This change resulted in a much smoother scrolling in a 50K line file 
	with 22K matches.

2016-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-minibuffer-line): Add ignore-errors

	It's OK to have a bad regex there while editing.

2016-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make ivy--regex work with "[^ ]"

	* ivy.el (ivy--split): Add a work around to not consider spaces like
	"[^ ]". It's pretty hacky, the space has to come right after "[^". But
	better than nothing.

	* ivy-test.el (ivy--split): Add test.

	Use-case: open a freedict file, where each word being defined is with no 
	indentation and the explanation is with indentation.

	`swiper' or `counsel-grep' will now work properly with input "^[^ ]".

2016-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Clean-up previous change

	* counsel.el (counsel--browse-history): Rename from `browse-history'.

	(eshell-history-ring):
	(comint-input-ring): Declare.
	(counsel-esh-history): Add require.
	(counsel-shell-history): Add require.
	(** `counsel-esh-history'): Add an outline.

	Fixes #459

2016-04-13  manuel-uberti  <manuel@boccaperta.com>

	Use Ivy to browse eshell and shell history entries

2016-04-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow a sexp node in ivy-views

	Example:

	(setq ivy-views
	     '(
	       ;;
	       ("lispy + source {}"
		(horz
		 (file "lispy.el")
		 (sexp (bookmark-jump "s:  source"))))))

	The provided sexp will simply be evaluated.

	Fixes #472

2016-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	New feature: virtual views in ivy-switch-buffer

	* ivy.el (ivy-views): New defvar that stores the pre-defined views.
	(ivy-source-views): New defun.
	(ivy-set-view-recur): New defun.
	(ivy--switch-buffer-action): Extend.
	(ivy-set-sources): Attach `ivy-source-views' as an additional source to
	`ivy-switch-buffer'.

	How to use: just set `ivy-views' appropriately. An example value is 
	provided (but nulled, so that it's empty initially).

2016-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make "j"/"k" feedback more solid in ivy-occur buffers

	* ivy.el (ivy-occur-timer): New defvar.
	(ivy-occur-press): Do the overlays also for `counsel-grep'. Put
	`swiper--cleanup' on a 1 second timer.

	Tip: pressing "c" in *ivy-occur* buffers toggles to "calling state". 
	When in the calling state, "j" and "k" will auto-follow the candidate.

2016-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-action): Work better from ivy-occur

2016-04-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add timing information to async commands

	* counsel.el (counsel--async-start):
	(counsel--async-duration): New defvar.
	(counsel--async-command): (re) set `counsel--async-start'.
	(counsel--async-sentinel): recompute `counsel--async-duration'.

	Useful to see how long last query took to process.

2016-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-expression-history): Add docstring

2016-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-expression-history): enable-recursive-minibuffers

2016-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to customize the action hint formatter

	* ivy.el (ivy-read-action-format-function): New defvar.
	(ivy-read-action-format-default): New defun, extracted from
	`ivy-read-action'.
	(ivy-read-action'): Update.

	Fixes #469

2016-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-mc): Remove interactive

2016-04-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-action): New face

	Re #469

2016-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Speed up counsel-grep by up to 40 times

	* counsel.el (counsel-grep-base-command): Update.

2016-04-07  Damien Cassou  <damien@cassou.me>

	Fix remapping commit c9b6e0

	- delete duplication of #'ivy-next-line and #'ivy-previous-line
	- replace alias #'backward-delete-char by #'delete-backward-char because
	 only the second is bound to a key

2016-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-expression-history): New command

	* README.md: Update.

2016-04-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Fix "DEL"

	(define-key map [remap backward-delete-char] 'ivy-backward-delete-char) 
	did not work as expected.

	Re #467

2016-04-07  Damien Cassou  <damien@cassou.me>

	Make sure user keybindings are respected

	* ivy.el: Make sure user keybindings are reused in ivy-minibuffer-map.
	 Without this patch, if the user specifies his own keybinding for a
	 standard command (e.g., `beginning-of-buffer`, normally bound to
	 `M-<`), ivy keeps using the default keybinding (e.g., `M-<`) in
	 ivy-minibuffer-map instead of the user-specified one.

	* ivy-test.el: Add corresponding test

	Fix issue #466.

2016-04-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel-grep should pick candidates closest to point

	* ivy.el (ivy-recompute-index-swiper-async): Update.

	Fixes the algorithm selecting the first matching candidate in case there 
	are 0 matching candidates following point. Now the last matching 
	candidate will be selected, resulting in less scrolling.

2016-04-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag-map): Add

	* counsel.el (counsel-ag): Update.

	Fixes #462

2016-04-05  Ian Dunn  <scholar42@gmail.com>

	Modified ivy to pass predicate when selecting buffers

	* ivy.el (ivy--buffer-list): Add PREDICATE parameter and pass to
	 'all-completions'
	(ivy--reset-state): Pass predicate parameter to 'ivy--buffer-list'.

	This allows 'read-buffer' to filter the buffers with the PREDICATE
	parameter.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel-ag now works with ivy-occur-revert-buffer

	* ivy.el (ivy-occur-revert-buffer): Add `counsel-ag' to the list.

	* counsel.el (counsel-ag-occur): Don't call `ivy-occur-grep-mode' unless
	 needed.

	> (string-match "\"\\(.*\\)\"" (buffer-name))

	Is a hack to recover the old `ivy-text', since it's not a field in
	`ivy-last', and may have changed in the meantime.

	TODO: Fix this sort of hacks, all necessary session data should really
	be in `ivy-last'.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel-grep now works with ivy-occur-revert-buffer

	Press "g" in a *ivy-occur counsel-grep ...* buffer to refresh the list 
	of matches, due to possible changes in the file.

	* counsel.el (counsel-grep-base-command): New defcustom.
	(counsel-grep-occur): New defun.
	(counsel-set-async-exit-code 'counsel-grep): Make it look more like
	swiper.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Improve for counsel-git-grep

	* counsel.el (counsel-git-grep-occur): Avoid calling
	 `ivy-occur-grep-mode', since it erases all local variables.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Add "j" action

	To open the file in other window.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--minibuffer-setup): Ensure inhibit-field-text-motion is nil

	It's normally nil, but may become t when debugging stuff. And that trips 
	up ivy.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Improve "M-n"

	Now uses `ffap-file-at-point' only for 'read-file-name-internal.

2016-04-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-unquote-regex-parens): Improve

	* counsel.el (counsel-grep-function): Use different quoting. Now it's
	 possible to use e.g. "(defun foo" as input.
	(counsel-unquote-regex-parens): Does the proper unquote now - 4 
	replacements instead of previous 2.

	* ivy-test.el (counsel-unquote-regex-parens): Add test.

2016-04-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Revert abf880f

	Re #454

2016-04-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): Simplify

	Add extra symbol bounds only for swiper.

2016-03-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Improve "M-n"

	To replace a symbol with a similar symbol,

	1. Press "C-s" "M-n" for `swiper' and select the symbol at point as
	input. 2. Press "M-q" for `swiper-query-replace' 3. Press "M-n" to yank
	the symbol to replace.

	Here step-3 was modified to yank e.g. "symbol" instead of "\_<symbo\_>" 
	previously.

2016-03-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-sort-functions-alist): Update :type

	Re #453

2016-03-30  Stephen Whipple  <shw@wicdmedia.org>

	ivy.el: Add `counsel-find-file' transformer.

	The `counsel-find-file' caller should have the same behavior as
	`read-file-name-internal'.

2016-03-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Make "M-o" not modify the action

	Re #454

2016-03-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make ivy-set-sources work also for sync completion

	Here's a contrived example of how to use it:

	    (defun my-extra-source ()
	     (append
	      (when (eq 'Git (vc-backend (buffer-file-name)))
		(list "git1" "git2" "git3"))
	      (when (file-exists-p "doc/Changelog.org")
		(list (propertize "doc/Changelog.org" 'face '(:background
	"red"))))))

	    (defun my-find-file ()
	     (interactive)
	     (ivy-read "Find file: " 'read-file-name-internal
		       :action (lambda (x)
				 (with-ivy-window
				   (find-file (expand-file-name x
	ivy--directory))))
		       :require-match 'confirm-after-completion
		       :history 'file-name-history
		       :caller 'my-find-file))

	    (ivy-set-sources
	    'my-find-file
	    '((my-extra-source)
	      (original-source)))

	The function `my-find-file' knows nothing about the extra source, it's 
	only purpose is to introduce a :caller to attach things to, as to not to 
	mess up e.g. `counsel-find-file'.

	The function `my-extra-source' gets called once in `ivy-read' via
	`ivy--reset-state'. It takes no args and returns a list of strings, 
	possibly empty.

2016-03-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Add :caller

2016-03-29  justbur  <justin@burkett.cc>

	counsel.el (counsel-M-x): Add help action

2016-03-29  Eric Danan	<admin@ericdanan.net>

	option to add newline after ivy-read prompt

2016-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-action): Improve cleanup

	When the current input goes from matching to non-matching, ensure that 
	the old overlays are cleaned up.

2016-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Use the "t" key of
	ivy-sort-functions-alist

	Fixes #449

2016-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ace-link): New command

2016-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-grep-action): Reveal outlines

	Just like swiper.

2016-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-avy): Make "C-g" cancel gracefully

	Fixes abo-abo/avy#140

2016-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve counsel-async initial anchoring

	* counsel.el (counsel--async-sentinel): Rely on
	 `ivy-recompute-index-swiper-async' even when `ivy--old-cands' is nil.

	* ivy.el (ivy--recompute-index): Check for `ivy--old-cands' being nil
	 before trying to index it.
	(ivy-recompute-index-swiper-async): When `ivy--old-cands' is nil, look 
	for a string that's closest to the line number at point.

2016-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Reduce counsel-grep char req to 2

2016-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fix breakage due to helm-rhythmbox

2016-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Improve counsel-grep

2016-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): Improve

	Don't add <> bounds for URL.

2016-03-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Add a section on Contributing

	Just copy from avy.

2016-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--directory-done): Fix when ivy-text is a dir

	But when it's different from `ivy--current'.

	Fixes #448

2016-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--switch-buffer-matcher): Fix

2016-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Always remove '(field)

2016-03-21  Constantin Kulikov	<zxnotdead@gmail.com>

	Make ivy-ignore-buffers similar to ido-ignore-buffers.

	Fixes #382

2016-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-function-generic): Fix doc

2016-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-app-action-file): New action on "M-o f"

	* counsel.el (counsel-linux-app-action-default): Rename from
	 `counsel-linux-app-action'.

2016-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-apps-list): Skip spaces around =

	The spec says to ignore the spaces around "=".

	https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

	Fixes #446

2016-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Add counsel-describe-function

	and counsel-describe-variable to the current-window work-around.

	Since they can switch the buffer, ensure that the occur buffer stays 
	active, so that the calling state ("c") still allows to quickly cycle 
	through all those buffers.

2016-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Remove code that sets action index to 1

	Fixes #443

2016-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-thing-at-point): Try ffap-file-at-point

	Very useful on Windows with it's weird path names.

2016-03-17  justbur  <justin@burkett.cc>

	counsel.el (counsel-mode): Allow use of describe-prefix-bindings

	Add option to let counsel-descbinds override describe-bindings in 
	counsel-mode.

	counsel.el (counsel-descbinds): Make signature match describe-bindings 
	counsel.el (counsel--descbinds-cands): Adjust for previous change 
	counsel.el (counsel-mode-override-describe-bindings): New option

2016-03-17  justbur  <justin@burkett.cc>

	ivy.el (ivy-switch-buffer-occur): Add

	Simple occur function for ivy-switch-buffer that drops into a ibuffer 
	session with the selected buffers filtered.

	Fixes #438

2016-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-linux-app): New command

	* counsel.el (counsel-linux-apps-alist):
	(counsel-linux-apps-faulty): New defvar.
	(counsel-linux-apps-list):
	(counsel-linux-app-action): New defun.

2016-03-14  justbur  <justin@burkett.cc>

	counsel.el (counsel-pt-base-command): Add regex flag

2016-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-pt): Remove unused args

2016-03-14  justbur  <justin@burkett.cc>

	counsel.el (counsel-pt): Add

	counsel.el (counsel-pt-base-command): Used in place of 
	counsel-ag-base-command for counsel-pt.

2016-03-14  justbur  <justin@burkett.cc>

	counsel.el (counsel-ag): Add transformer

	Also change command options to match git grep output. This is not 
	critical but it makes the commands more consistent.

2016-03-12  justbur  <justin@burkett.cc>

	counsel.el (counsel-locate-cmd-es): Fix regex

	es doesn't support lazy search

2016-03-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix compilation warnings

2016-03-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fix prompt / require-match issue

	When `ivy--prompt' is nil, the :require-match does nothing.

	Fixes #431

2016-03-11  Ian Dunn  <scholar42@gmail.com>

	Correctly expand the file name at point

	* counsel.el (counsel-find-file): Use expand-file-name after getting a
	 file name at point.

	Fixes #430

2016-03-11  Ian Dunn  <scholar42@gmail.com>

	Fixed counsel-list-processes-action-switch to use correct buffer.

	* counsel.el (counsel-list-processes-action-switch): Use buf instead of
	x for switch-to-buffer.

2016-03-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag): Add dir prompt for "C-u"

	Fixes #429

2016-03-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Bind "M-o f" to find-file-other-window

2016-03-11  justbur  <justin@burkett.cc>

	counsel.el (counsel-locate-cmd-es): Add

	es is the shell version of the everything utility for ms windows, which 
	functions like locate.

	Fixes #426

2016-03-10  justbur  <justin@burkett.cc>

	counsel.el (counsel-prompt-function-dir): Fix format

	The prompt argument was unused, which looked unintentional

	Fixes #425

2016-03-10  justbur  <justin@burkett.cc>

	counsel.el (counsel-prompt-function-dir): Make portable

	Use the built-in eshell-split-path to split the directory path into 
	components instead of split-string which is not likely to work on all 
	systems.

2016-03-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-prompt-function): New defcustom

	* counsel.el (counsel-prompt-function-default):
	(counsel-prompt-function-dir): New defun.
	(counsel-git):
	(counsel-git-grep):
	(counsel-ag): Update.

	To show the root dir:

	    (setq counsel-prompt-function 'counsel-prompt-function-dir)

	Fixes #424

2016-03-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-ag-occur): Add

	Re #423

2016-03-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-sentinel): Start refactor

	This function should only care about producing a list of strings from 
	the process buffer. A new function should take this list and take care
	of everything else.

2016-03-07  justbur  <justin@burkett.cc>

	Add optional exit-code table to counsel--async-cmd

	This argument can be used to associate exit codes with the underlying 
	reason. Used in counsel-ag-function to signal that an exit code of 1 
	means that no matches were found.

	Fixes #421

2016-03-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-expand-file-if-directory): Fix "/ssh:" regression

2016-03-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-map): Bind "C-c C-m" to
	counsel-git-grep-switch-cmd

	* counsel.el (counsel-git-grep-switch-cmd): New command.

	The initial command always runs on all files.

	To run only on *.el files, "C-c C-m" followed by "M-i" -- *.el. To run
	on *.c and *.h files, "C-c C-m" followed by "M-i" -- *.c *.h. To switch
	to all files again, "C-c C-m" and select the appropriate entry.

	Re #420

2016-03-06  justbur  <justin@burkett.cc>

	counsel-ag: Fix escaping problem

	Before this it is not possible to pass the string "string1\|string2" to 
	ag, because inputing string1\|string2 gets translated into
	"string1\\|string2" via %S.

	Instead I use %s and shell-quote-argument to take care of escaping for 
	the command line, which fixes the issue for me.

	Please test.

	Also see https://github.com/syl20bnr/spacemacs/issues/5378

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Bind ivy--regex-function

	Otherwise input like "^\\w+" doesn't work.

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Add docstring

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-occur): Fix for non-file buffers

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-revert-buffer): Move code to swiper-occur

	* ivy.el (ivy-occur-revert-buffer): Shouldn't know what's going on with
	 `swiper'.

	* swiper.el (swiper-occur): Now takes an optional arg. Also moves the
	 point to the first cand.

	TODO: The recovery of `ivy-text' is still hacky.

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve window handling for ivy-occur

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	New command ivy-occur-revert-buffer bound to "g"

	* ivy.el (ivy-occur-mode-map): Move `ivy-occur-press' from "g" to "f". 
	Bind "g" to `ivy-occur-revert-buffer'.
	(ivy-occur-revert-buffer): New command. Does what e.g. `revert-buffer' 
	does for *Help* buffers.

	* swiper.el (swiper-faces): Add :group and :type.
	(swiper-occur): Try to avoid calling `ivy-occur-grep-mode' as it will 
	kill all local variables.
	(swiper--action): Update so that `ivy-occur-toggle-calling' works
	properly.

2016-03-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix swiper not revealing org overlay when at heading body end

	* swiper.el (swiper--ensure-visible): Update.

2016-03-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: define setq-local and defvar-local unless defined

	Fixes #415

	With this commit, ivy works on emacs-24.2.

2016-03-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-mode-map): Add counsel-M-x

	Re #414

2016-03-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: add outline for `counsel-mode'

2016-03-03  justbur  <justin@burkett.cc>

	Add counsel-mode

	A minor-mode that remaps built-in functions that have counsel 
	replacements available.

	Fixes #414

2016-03-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: fix typos

2016-03-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-resume): Add a guard against null :action

	Re syl20bnr/spacemacs#5335

2016-03-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-press): Pulse no longer

	Repeated pulses within a short time span resulted in horrible window 
	flickering.

2016-03-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-occur-mode: new commands on "j", "k", "c"

	* ivy.el (ivy-calling): Make variable buffer-local.
	(ivy-occur-toggle-calling): New command bound to "c".
	(ivy-occur-next-line): New command bound to "j".
	(ivy-occur-previous-line): New command bound to "k".

	This makes `ivy-occur' much more convenient, instead of "gjgjgjg", just
	"cjjj". Especially good for commands that change the contents of the 
	other window, like `describe-function' or `counsel-git-grep'.

	Example:

	- "C-h f" (`describe-funtion')
	- "run" (`self-insert-command')
	- "C-c C-o" (`ivy-occur'); "C-o u" also works.
	- "cjjjjkkkk"

2016-03-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): No "\\_<" for dynamic-collection

	"\\_<" regex is Emacs-specific and should only be done if
	:dynamic-collection is nil. It is nil for `counsel-git-grep' with
	repositories < 20000 lines, but non-nil for larger ones.

	Fixes #409

2016-03-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-dispatching-done should not permanently modify default action index

	* ivy.el (ivy-read): When (numberp (car-safe (ivy-state-action
	ivy-last))), reset it to 1.

	This was an issue for `ivy-read' calls that specified :action as a list
	(`counsel-rhythmbox' and `counsel-list-processes'), instead using a 
	single function and `ivy-set-actions'.

2016-02-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	"C-x C-f" can un-ignore dotfiles with a leading dot input

	* counsel.el (counsel-find-file-ignore-regexp): Add a recommended value, 
	all dotfiles.
	(counsel--find-file-matcher): When `ivy-text' starts with a dot, don't 
	use `counsel-find-file-ignore-regexp'. The generic way to do this is 
	with "C-c C-a" (`ivy-toggle-ignore'), but this is faster and more
	convenient.

	Re #408

2016-02-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer): Don't fall back to switch-to-buffer

	Fixes #410

2016-02-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-expand-file-if-directory): New defun

	* ivy.el (ivy--directory-done): Use `ivy-expand-file-if-directory'.
	(ivy-partial-or-done):	Use `ivy-expand-file-if-directory'.

2016-02-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-alt-done): Simplify

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	Move read-file-name to :display-transformer-fn

	* ivy.el (ivy-set-display-transformer): Set 'read-file-name-internal to
	 'ivy-read-file-transformer.
	(ivy-read-file-transformer): New defun.
	(ivy--format): Simplify.

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	Move switch-to-buffer to :display-transformer-fn

	* ivy.el (ivy-read): Use also COLLECTION as a key for
	 `display-transformer-fn'.
	(ivy--format): Simplify.
	(ivy-switch-buffer-transformer): New defun.
	(ivy-set-display-transformer): Set 'ivy-switch-buffer and
	'internal-complete-buffer to 'ivy-switch-buffer-transformer.

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix a few face declarations

	`customize-face' wasn't working well with them.

2016-02-27  Stephen Whipple  <shw@wicdmedia.org>

	* ivy.el (ivy-format-function-line): Remove `extra' parameter.

	Remove `extra' parameter to match the expected arity.

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-occur): Fix greedy-nongreedy bug

	The regex has to be greedy for the shell command to succeed.

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-transformer): New defun

	* counsel.el (ivy-set-display-transformer):
	 'counsel-git-grep-transformer to 'counsel-git-grep .

	Fixes #399

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-log): New command

	* counsel.el (counsel-git-log-function): New defun.
	(counsel-git-log-action): New defun.

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	Simplify the ivy-format-function interface

	* ivy.el (ivy--format-function-generic): Third arg is no longer a list
	 of cons cells, but a list of strings instead.
	(ivy-format-function-default):
	(ivy-format-function-arrow):
	(ivy-format-function-line): Take a string instead of a cons cell.
	(ivy--format): Feed strings instead of cons cells to
	`ivy-format-function'.

	* ivy-test.el (ivy--format): Update test.

	* counsel.el (counsel--yank-pop-format-function): Take a string instead
	 of a cons cell.

	Re #399

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	New API function ivy-set-display-transformer

	* ivy.el (ivy--display-transformers-list): New defvar.
	(ivy-set-display-transformer): New defun. Keys are :caller, values are 
	str->str lambda.
	(ivy-state): New field display-transformer-fn.
	(ivy-read): Set :display-transformer-fn.
	(ivy--format): Apply :display-transformer-fn to each displayed 
	candidate, in the context of ivy-window.

	* counsel.el (ivy-set-display-transformer): Set for `counsel-M-x'.
	(counsel-M-x-transformer): Promote from `counsel--M-x-transformer'. Now
	takes a string instead of a cons cell.
	(counsel-M-x): No more messing with `ivy-format-function'.

	Re #399

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Fix typo

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--generic): Improve

2016-02-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-async-split-string-re): New defvar

	* counsel.el (counsel--async-sentinel):
	(counsel--async-filter): Use `counsel-async-split-string-re'.

2016-02-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recoll): add unwind

	Fixes #403

2016-02-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	Give ivy-read-read-action enough minibuffer space

	* ivy.el (ivy-read-action): Bind (resize-mini-windows 'grow-only). 
	Return non-nil when everything went OK.
	(ivy-dispatching-done): Call `ivy-done' only if read-action went OK. 
	Previously, an action would be called after "M-o C-g".

	Fixes #402

2016-02-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): Don't add symbol bounds for file
	names

2016-02-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-all): Now auto-updates position

	Fixes #401

2016-02-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Don't fail when font-lock is off

	Fixes #400

2016-02-24  justbur  <justin@burkett.cc>

	Add ivy-fixed-height-minibuffer

	This option attempts to make the minibuffer stay at a fixed height 
	regardless of the number of candidates. Some people prefer this as it
	can be annoying when quickly going through folders of different sizes
	for example

	Fixes #353

2016-02-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-list-processes-action-switch): Improve

	Fixes #398

2016-02-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Update signature

	Now takes a list of candidates, produced by something like
	`swiper--candidates'. This means that a user can call `swiper--ivy' with
	a filter applied on
	`swiper--candidates' to obtain narrowing.

2016-02-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-command): Add sentinel and filter args

	Re #394

2016-02-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-sentinel): Recognize error codes other than 1

	Fixes #394

2016-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex): Don't consider \\(?...\) a group

	* ivy-test.el (ivy--regex): Add test.

	Fixes #393

2016-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Replace "\t"

	`swiper--candidates' replaces "\t" with four spaces for a consistent 
	look in the minibuffer. By the domino effect, this affects
	`swiper--re-builder' and `swiper--update-input-ivy'.

2016-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--preselect-index): Don't use regexp-quote

	I don't remember why `regexp-quote' was needed in the first place.  But 
	it's useful to have it as a regex at least for `lispy--occur-preselet' 
	which returns things like "^42" to preselect line 42.

2016-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix defcustom :type for several variables

	* ivy.el (ivy-sort-functions-alist): Rename fields.
	(ivy-sort-matches-functions-alist): Add :type.
	(ivy-minibuffer-faces): Add :type.

2016-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	Rename counsel-symbol-at-point to ivy-thing-at-point

	* ivy.el (ivy-thing-at-point): New defun.
	(ivy--reset-state): Set `ivy--default' to `ivy-thing-at-point'.

	* counsel.el (counsel-symbol-at-point): Mark obsolete.
	(counsel-describe-variable):
	(counsel-describe-function): Use `ivy-thing-at-point'.

2016-02-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file-ignore-regexp): Fixup :type

2016-02-21  André Peric Tavares	<andre.peric.tavares@gmail.com>

	Add `counsel-locate-cmd-mdfind`

	OS X users might want to use `mdfind` instead of `locate`. The added
	function `counsel-locate-cmd-mdfind` can be used to accomplish that.

2016-02-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	Move all faces to ivy-faces group

	Fixes #389

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur): Add a warning

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Shuffle functions

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate-options): Make obsolete

	* counsel.el (counsel-locate-cmd): New defcustom that replaces
	 `counsel-locate-options'.
	(counsel-locate-cmd-default): New defun. Corresponds to the default 
	value of `counsel-locate-options' on linux.
	(counsel-locate-cmd-noregex): New defun. Corresponds to the default 
	value of `counsel-locate-options' on darwin.
	(counsel-locate-function): Use `counsel-locate-cmd'.

	Fixes #385

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (counsel-unquote-regex-parens): Add test

	* Makefile: Update.

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Shuffle functions and rename headings

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Shuffle functions and rename headings

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Shuffle functions

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Organize the file with outlines

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Bind completion-ignore-case

	It's convenient to have it the same value as `case-fold-search'.

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-imenu): Add :preselect

	Fixes #388

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Organize the file with outlines

2016-02-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Remove obsolete faces

	* swiper.el (swiper-minibuffer-match-face-1):
	(swiper-minibuffer-match-face-2):
	(swiper-minibuffer-match-face-3):
	(swiper-minibuffer-match-face-4): Remove.

2016-02-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-line-or-history): Update

	Don't call `ivy-next-line' when `ivy-previous-history-element' is 
	called.

2016-02-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Identify extra-actions by caller as well

2016-02-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.texi: Re-export from previous commit

2016-02-15  sjLambda  <sjLambda@gmail.com>

	Update the documentation and the manual

	Fixes #386

2016-02-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix initial-input not set to nil for 'read-file-name-internal

	ivy.el (ivy--reset-state): This change is due to (ivy-set-actions t ...)

2016-02-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix an extra action being called for `completing-read'

	* ivy.el (ivy-read): `ivy-call' got confused for a combination of
	 `completing-read' and `ivy-set-actions t` - since there was no first
	 action, the first of the extra actions was assumed to be that.

	Now put `identity' as the first action for `completing-read'.

	Re syl20bnr/spacemacs#5044

2016-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): Handle "M-n M-n" better

2016-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-next-history-element): Use "\\_<" instead of "\\b"

2016-02-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--re-builder): Replace \t with 4 spaces

	Since `swiper--candidates' does it, `swiper--re-builder' must do the 
	same.

2016-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	colir.el (colir-blend-face-background): Improve

	Add a `facep' check. It improves the foreground modification of
	`ivy-current-match'.

2016-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Add @vindex and @kindex automatically

	* doc/ivy-ox.el (info-ivy): New command - easy way to reload the manual.

2016-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	When in prog-mode, "M-n" should wrap input with "\b"

	When searching for occurrences of a symbol, it's useful to omit the 
	cases where the symbol is a part of a larger word.

	"M-n" will insert the symbol, then if the mode is derived from
	`prog-mode', wrap this symbol with \b - the regex notation for word 
	boundary.

	This wrapping can be undone with `undo'.

2016-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--update-input-ivy): Fix a bug

2016-02-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	Customize ivy-occur per command with ivy-set-occur

	* ivy.el (ivy--occurs-list): New defvar.
	(ivy-set-occur): New API function for defining custom occur behavior.
	(ivy--occur-insert-lines): New defun.
	(ivy-occur): Simplify, move counsel-git-grep specific stuff away.

	* counsel.el (counsel-git-grep-occur): New defun.  Sets up an occur 
	buffer with a mode that derives from `grep-mode' that means that the 
	error functions (`next-error' etc) etc are available. Also allows to 
	edit the contents with `wgrep' by pressing "C-x C-q".

	* swiper.el (swiper-occur): New defun, similar to
	 `counsel-git-grep-occur'. Except it turns off `font-lock-mode' to keep
	 the original syntax-highlighted faces.
	(swiper--action): Update to make it work from ivy-occur buffers.

2016-02-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Update

	(Example - =counsel-describe-function=): Add a paragraph on :preselect.

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: CUSTOM_ID should not end in "?"

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Add more CUSTOM_ID

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add a lot of sections to the documentation

	* doc/ivy-ox.el (org-texinfo-plain-list): Wrap the definition lists in
	 @indentedblock.

	* doc/ivy.org: Improve the markup in a lot of places, add sections on 
	Customization, Actions, Commands and API.

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	Provide the :caller in most calls to ivy-read

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fixup face docs

	* ivy.el (ivy-minibuffer-match-face-2):
	(ivy-minibuffer-match-face-3):
	(ivy-minibuffer-match-face-4): Update doc.

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--action): Update regexp-search-ring

	Re #89

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: mention the manual more prominently

2016-02-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Improve the markup

	* doc/ivy.org (defopt): Get rid of the macro.
	(Writing this manual): New section.

	Use a lot more definition lists - they look nice in both HTML and 
	Texinfo export.
	(Hydra in the minibuffer): Extend the section.
	(Saving the current completion session to a buffer): Extend.

	* doc/ivy-ox.el (org-texinfo-plain-list): Improve the user-option
	 formatting.

2016-02-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Improve the Texinfo/HTML export structure

	* doc/ivy-ox.el: Store the settings for org-mode export to HTML and
	 Texinfo.

	* doc/ivy.texi: Update.

	* doc/style.css: Remove. Rely on theme-readtheorg.setup instead.

	The HTML file shouldn't be in this repository to avoid bloat, instead 
	it's in the gh-pages branch at 
	https://github.com/abo-abo/swiper/tree/gh-pages.

2016-02-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix default-directory for ivy-occur + counsel-git-grep

	* ivy.el (ivy-occur): Set `default-directory' to
	 `counsel--git-grep-dir'.

	This way, `next-error' etc will work properly.

2016-02-08  Stephen Whipple  <shw@wicdmedia.org>

	Add ignore pattern toggling

	* ivy.el (ivy-minibuffer-map): Bind "C-c C-a" to `ivy-toggle-ignore'.

	(ivy-use-ignore): New defvar.

	(ivy-toggle-ignore): New command to toggle ignore patterns
	(user-configured filtering). If the ignore patterns are enabled and
	there are zero candidates after ignoring, display the ones that match
	the current text. This feature currently works for
	`ivy-switch-buffer' and `counsel-find-file'.

	(ivy--buffer-list): Simplify.
	(ivy--switch-buffer-matcher): New defun.
	(ivy-switch-buffer): Use `ivy--switch-buffer-matcher'.

	* counsel.el (counsel--find-file-matcher): Use `ivy-use-ignore'.

	Fixes #369

2016-02-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-help-file): Improve location

	Fixes #379

2016-02-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--resize-minibuffer-to-fit): Check frame-root-window-p

	Fixes #380

2016-02-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve Ivy documentation UI

	* ivy.el (ivy-minibuffer-map): Bind "C-h m" to `ivy-help'.
	(ivy-help-file): New defvar, pointing to the ivy-help.org file.
	(ivy-help): New command.

	* ivy-hydra.el (hydra-ivy): Update the layout, give the columns more
	 meaningful names, bind "D" to go to this hydra's definition.

	* doc/ivy.org: Fix a few typos.

	* doc/ivy-help.org: New file.

	Fixes #376

2016-02-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Don't deactivate region

	Fixes #377

2016-02-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Update

	Re #376

2016-02-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Support a list of symbols as collection

	Fixes #375

2016-02-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-stash): New command

	* counsel.el (counsel-git-stash-kill-action): New defun.

	Fixes #374

2016-02-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to compose static collections with `counsel--async-command'

	* ivy.el (ivy--sources-list): New defvar.
	(ivy-set-sources): New defun that sets `ivy--sources-list'
	(ivy--extra-candidates): New defvar.
	(ivy-read): Use `ivy--sources-list' to set `ivy--extra-candidates' - a 
	list that composes itself with `ivy--all-candidates'.
	(ivy--set-candidates): New defun.

	Example - stack `recentf' on top of `counsel-locate':

	    (defun small-test ()
	     (cl-subseq recentf-list 0 10))

	    (ivy-set-sources
	    'counsel-locate
	    '((small-test)
	      (original-source)))

	Here, (original-source) represents the async candidates of
	`counsel-locate'. All extra sources are static - each function is called 
	once to generate a list of strings, which will be filtered later.

	The order matters, so you can have e.g.:

	    (ivy-set-sources
	    'counsel-locate
	    '((original-source)
	      (small-test)))

	Fixes #373

2016-02-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	Modify "M-n" prediction when region is active

	* ivy.el (ivy--reset-state): When the region is active and "M-n" is
	 called, insert the region contents into the minibuffer and deactivate
	 the region. The region deactivation is done for `swiper', to make it
	 easier to search for multiple words or a subword.

2016-01-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Return point

	Fixes #370

2016-01-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-do-completion-in-region): New defcustom

	Fixes #367

2016-01-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-inhibit-action): New variable

	Fixes #363

2016-01-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-ignore-buffers): New defcustom

	* ivy.el (ivy--buffer-list): Use `ivy-ignore-buffers'.

	Fixes #366

2016-01-29  Chen Bin  <chenbin.sh@gmail.com>

	use imenu API to jump to position. required by org-mode

	Fixes #364

2016-01-29  Jules Tamagnan  <jtamagnan@gmail.com>

	Add melpa version badge

	Fixes #338 Fixes #362

2016-01-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Fix extra actions for completing-read

	Re #337

2016-01-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop): Truncate during display

	* counsel.el (counsel-yank-pop-truncate): Remove defcustom.
	(counsel-yank-pop-truncate-radius): New defcustom.
	(counsel--yank-pop-truncate): New defun.
	(counsel--yank-pop-format-function): New defun.

	During the completion, only the context around the match will be shown. 
	By default, the context is +2 lines above and +2 lines below the match. 
	It can be adjusted with `counsel-yank-pop-truncate-radius'. 
	Additionally, `ivy-height' is temporarily bound to 5 during completion. 
	This way, the maximum minibuffer height should be 1+4*5=21 lines.

	Fixes #315

2016-01-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox-current-song): Preselect the current song

	* counsel.el (counsel-rhythmbox-current-song): New defun.

2016-01-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-switch-buffer-other-window): New command

	* ivy.el (ivy-mode-map): Remap `switch-to-buffer-other-window' to
	`ivy-switch-buffer-other-window'.

	Fixes #361

2016-01-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-unicode-char): Display hex codes in left column

2016-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	Simplify the signature for :dynamic-collection functions

	* ivy.el (ivy--reset-state): When given :dynamic-collection, assume the
	 collection function only needs one argument - the string input.

	* counsel.el (counsel-ag-function):
	(counsel-locate-function):
	(counsel-grep-function):
	(counsel-recoll-function): Simplify arglist.

2016-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-at-git-issue-p): New defun

	* counsel.el (counsel-github-url-p):
	(counsel-emacs-url-p): Use `counsel-at-git-issue-p'.

2016-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (ivy-ffap-url-functions): Add Emacs git repo

	* counsel.el (counsel-emacs-url-p): New defun.

2016-01-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-ffap-url-functions): Customize "C-x C-f M-n"

	* ivy.el (ivy-ffap-url-functions): New defvar.
	(ivy--cd-maybe): When calling a function in `ivy-ffap-url-functions' 
	results in a string, stop completion and open that string with
	`ffap-url-fetcher'.

	* counsel.el (counsel-github-url-p): New defun.
	(ivy-ffap-url-functions): Add `counsel-github-url-p' to the list.

	This feature allows to quickly visit Github issues from either
	`magit-commit-mode' or from a version-controlled file. The point has to 
	be at the "#" char in e.g. "#123", that represents an issue.

	It's possible to customize `ivy-ffap-url-functions' to do a similar 
	thing for places other than Github.

	The "C-x C-f M-n" key binding will work better with `counsel-find-file', 
	for plain `find-file' it will open a `dired' buffer in addition to 
	opening the URL.

2016-01-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-list-processes): New command

	* counsel.el (counsel-list-processes-action-delete): New defun.
	(counsel-list-processes-action-switch): New defun.

	* ivy.el: re-indent.

	Fixes #357

2016-01-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-tmm): Fix tmm free variable

	Fixes #356

2016-01-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix swiper "backward" search

	* ivy.el (ivy-recompute-index-swiper): When none of the previous
	 candidates after the point match the current input, instead of
	 returning 0, return the index of the last matching candidate.	This is
	 a good choice, because that candidate is the closest to the point of
	 the initial search start.

	Fixes #319

2016-01-17  Stephen Whipple  <shw@wicdmedia.org>

	Initialize `ivy-last` to empty state.

2016-01-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-flx-limit): Configure when flx is used

	Re #207

2016-01-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--recompute-index): Update cl-position logic

	Re #207

2016-01-15  Stephen Whipple  <shw@wicdmedia.org>

	Add feedback for sole ivy completion.

	When the sole completion is the same as the input, notify the user.

	Fixes #350

2016-01-15  Stephen Whipple  <shw@wicdmedia.org>

	Special case empty ivy-count-format completion.

	- Switch ivy-count-format test to empty string rather than nil.
	- Since the prompt is based on user input, sanitize the prompt to
	 later be formatted, except in the case of empty ivy-count-format.

	Fixes #349

2016-01-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-exclude): Add sauron-mode

	Re #19

2016-01-12  Will Maier	<wcmaier@gmail.com>

	Add rcirc-mode to swiper-font-lock-ensure-exclude

2016-01-12  Will Maier	<wcmaier@gmail.com>

	Refactor swiper-font-lock-ensure

	- expose the list of misbehaving major modes
	- add swiper-font-lock-ensure-p predicate

	No change in behavior.

2016-01-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-filter): Fix up

2016-01-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Insert intermediate candidates during async completions

	* counsel.el (counsel--async-filter): Update.

	Fixes #340

2016-01-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add counsel-descbinds

	* ivy.el (ivy-read-action): Update prompt for "C-M-a".

	* counsel.el (counsel--find-symbol): Use ivy-window.
	(counsel--descbinds-cands): New defun.
	(counsel-descbinds-history): New defvar.
	(counsel-descbinds-action-describe): New defun.
	(counsel-descbinds-action-find): New defun.
	(counsel-descbinds-action-info): New defun.
	(counsel-descbinds): New command. Very similar to `counsel-M-x', except 
	that only bound commands are displayed.

	Fixes #332

2016-01-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy--regex-ignore-order): New test

	Re #345

2016-01-12  Samuel Loury  <konubinixweb@gmail.com>

	Add the '!' behavior into `ivy--regex-ignore-order'

2016-01-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex-plus): Prettify a bit

	Fixes #344

2016-01-12  justbur  <justin@burkett.cc>

	counsel: Add counsel-up-directory to find-file-map

	New function that moves up to the parent directory and at the same time 
	preselects the current directory. This is useful for moving up and down 
	a file tree quickly.

	Fixes #343

2016-01-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-sentinel): Re-display when no cands

2016-01-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--async-sentinel): Fix issue with
	ivy--regex-ignore-order

	Fixes #342

2016-01-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	Change tramp prompt from "Find File: " to "user@host: "

2016-01-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix for 1 cand

	Set `ivy-state-window' properly.

2016-01-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Optimize for 1 cand

	When there's only one candidate, call the action immediately.

2016-01-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix a few bugs

	* ivy.el (ivy-completion-common-length): New defun.

	`all-completions' doesn't always return candidates that can replace the 
	whole region between BEG and END. That's why
	`completion-all-completions' should be used, which marks the common part 
	with 'completions-common-part face. Then the new region to replace is
	((- END common-length) . END).

	Note also that `text-property-any' doesn't always work in
	`ivy-completion-common-length', since the 'face property can be a list.
	(ivy-completion-in-region): Set `enable-recursive-minibuffers'.

	Fixes #341

2016-01-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur): Fix when ivy--old-re isn't a string

2016-01-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Properly support matching ignoring order

	* ivy.el (ivy--regex-ignore-order): Return a list of regexps rather than
	 a single regexp.
	(ivy--re-filter): New defun, extracted from `ivy--filter'.
	(ivy--filter): Update.
	(ivy--format-minibuffer-line): Add special highlighting for
	`ivy--regex-ignore-order'.

	* counsel.el (counsel--find-file-matcher): Use `ivy--re-filter'.

	Fixes #296 Fixes #329

2016-01-07  Felix Lange	 <fjl@twurst.com>

	ivy: fix ivy--resize-minibuffer-to-fit for small delta

	Very small size increments can be necessary if the initial candidate 
	list is short (e.g. 3 items) and line-height is set to something other 
	than zero. In that case, only half of the last line is initially 
	visible. ivy--resize-minibuffer-to-fit recognizes this and tries to 
	enlarge the window up the the exact pixel height required, however 
	window-resize doesn't do anything if the delta is below 
	frame-char-height.

2016-01-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve flx highlighting

	* ivy.el (ivy--flx-sort): Highlight continuous characters with same
	 face.

2016-01-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	Use flx for highlighting fuzzy matches

	* ivy.el (ivy--flx-sort): `flx-score' returns ((score i1 i2 i3 ...)
	str). Use i1, i2, i3 ... to highlight str appropriately.
	(ivy--format-minibuffer-line): Don't re-highlight str for
	`ivy--regex-fuzzy', it was already highlighted by `ivy--flx-sort'.

	Re #207

2016-01-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-add-face-text-property): New defun

	* ivy.el (ivy--format-minibuffer-line): Use
	`ivy-add-face-text-property'.

2016-01-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Fix log 0 issue

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Call ivy-set-actions with t to affect all commands

	* ivy.el (ivy-read): Update.

	Example:

	(ivy-set-actions
	t
	'(("i" insert "insert")))

	Now an "insert" action will be available for all `ivy-read' sessions 
	when pressing "M-o".

	Fixes #337

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Add initial-input

	Re #336

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Don't null initial-input

	This is specifically for 'read-file-name-internal collection. The input
	needs to be set to nil for e.g. `rgrep', which supplies the *absolute*
	path as `initial-input', resulting in a mess.

	For now, don't set input to nil if :action was passed to `ivy-read'.

	Fixes #336

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completion-in-region): Use compact ivy-count-format

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-mode): Set completing-read-function

	* ivy.el (ivy-completion-beg): Rename from `counsel-completion-beg'.
	(ivy-completion-end): Rename from `counsel-completion-end'.
	(ivy-completion-in-region-action): Rename from `counsel--el-action'.
	(ivy-completion-in-region): New defun.
	(ivy-mode): Set `completing-read-function' to 'ivy-completion-in-region.

	* counsel.el: Update due to renames.

	Fixes #331

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Ensure the return result of `ivy-read'

	In some cases, `read-from-minibuffer' will return the whole minibuffer 
	contents (i.e. all available candidates). Return `ivy--current' instead.

2016-01-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Fix window selection

	* counsel.el (counsel--git-dir): New defvar.
	(counsel-git): Update.
	(counsel-git-action): New defun. Use `with-ivy-window', so that each new 
	file chosen with e.g. "C-M-n" is selected in the same window.

2015-12-31  justbur  <justin@burkett.cc>

	Add cousel-ag-base-command var

	Allows the command run by counsel-ag-function to be customized. There 
	are several reasons to allow this: The vimgrep option is a recent 
	addition; on windows it's more convenient to use pt; and the user might 
	want to customize ignored files.

2015-12-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Add bongo-library-mode

2015-12-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Add bongo-playlist-mode

	Re #19

2015-12-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Let-bind this-command

	This change allows in particular to customize `ivy-re-builders-alist' 
	via `this-command' and have `counsel-M-x' work properly with it.

2015-12-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-re-builders-alist): Allow this-command to be a key

	* ivy.el (ivy--reset-state): Allow to specify re-builder with
	 `this-command'.

	Example:

	    (defun asdf ()
	     (interactive)
	     (completing-read "prompt: " '("abc" "abcd" "def")))

	    (global-set-key (kbd "C-c t") 'asdf)

	    (setq ivy-re-builders-alist
		 '(
		   (asdf . ivy--regex-fuzzy)
		   (t . ivy--regex-plus)))

	This is useful for commands that you didn't write. For new commands that 
	you write, consider using `ivy-read' and :caller.

	Fixes #330

2015-12-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-imenu): Work when given positions are overlays

	* counsel.el (counsel-imenu-get-candidates-from): In semantic-enabled
	 buffers, `imenu--make-index-alist' returns overlays for items.

	(counsel-imenu): Add `with-ivy-window' wrapper.

2015-12-19  Chen Bin  <chenbin.sh@gmail.com>

	support imenu

2015-12-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix compilation warnings

	* Makefile: Don't load files before compilation.

	* ivy.el (swiper--cleanup):
	(swiper--add-overlays): Declare.

	Fixes #324

2015-12-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix recursive minibuffer exit with "C-g"

	* ivy.el (ivy-read): Make it so e.g. "C-h f C-h v C-g" goes back to the
	 describe-function selection.

2015-12-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix ivy-reverse-i-search broken by recursive update

	* ivy.el (ivy-recursive-restore): New defvar.
	(ivy-read): Don't restore `ivy-last' on exit if `ivy-recursive-restore' 
	is nil.
	(ivy-reverse-i-search): Bind `ivy-recursive-restore' to nil.

	Fixes #323

2015-12-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	Improve swiper for multiple occurrences on one line

	* swiper.el (swiper--current-line):
	(swiper--current-match-start): New defvar.
	(swiper--init): Update.
	(swiper--update-input-ivy): Don't move to line NUM if
	`swiper--current-line' is equal to NUM. Later, store NUM in
	`swiper--current-line' to avoid calling `line-number-at-pos'. 
	Additionally store `swiper--current-match-start' - it's necessary to 
	move there before searching for the regexp, since the point currently is 
	after the old regexp.

	Fixes #314

2015-12-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--get-window): Return a valid window

	Even if STATE is invalid.

2015-12-09  Samuel Loury  <konubinixweb@gmail.com>

	Make ivy--regex-plus recognize ! at the beginning of the str

	When one types '!foo, he expects the candidates to be filtered out by
	'foo'.

2015-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/ivy.org: Add "Variable Index" node

2015-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el: Bump version to 0.7.0

2015-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Update up to 706349f

2015-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Use completing-read-default for tmm

	Fixes #316

2015-12-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Add vc-dir-mode

	Re #19

2015-12-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el: Structure all faces into ivy-faces custom group

2015-11-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el: Use show-all if outline-show-all isn't there

	Fixes #312

2015-11-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Update up to 2bec99d

2015-11-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fixes on the previous docstring edits

2015-11-27  sjLambda  <sjLambda@gmail.com>

	Edit documentation strings in ivy.el

	Fixes #308

2015-11-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <shw@wicdmedia.org>

	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  <shw@wicdmedia.org>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Ivy-resume should restore the buffer for swiper

	* ivy.el (ivy-resume): Update.

	Fixes #302

2015-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <konubinixweb@gmail.com>

	Warn the user about the behavior of ivy--regex-ignore-order

	Fixes #296 Fixes #305

2015-11-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	Minor fixes to ivy.org and export to ivy.texi

	Fixes #304

2015-11-24  sjLambda  <sjLambda@gmail.com>

	ivy.org manual edits

2015-11-24  kovrik  <kovrik0@gmail.com>

	Fix `counsel-ag` on Windows

2015-11-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Require outline

	Fixes #297

2015-11-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-alt-done): Refactor

	Collect all `ivy--directory' branches into a single `cond'.

2015-11-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <shw@wicdmedia.org>

	Improve ivy TRAMP support

2015-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Fix off by one

	Re #295

2015-11-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <konubinixweb@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	README.md: Add more bindings

2015-11-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Replace "\t" with "    "

	This will allow the minibuffer strings to align nicer for
	`swiper-multi'.

2015-11-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--truncate-string): New defun

	* ivy.el (ivy-format-function-default): Use `ivy--truncate-string'.

2015-11-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate): Add INTIAL-INPUT arg

	Fixes #289

2015-11-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sort-files-by-date): Fix due to destructive cl-sort

2015-11-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-sort-functions-alist): Update doc

	Mention `ivy-sort-max-size'.

2015-11-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Add eww-mode

2015-11-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Add occur-mode

2015-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-occur-mode-map): Bind "q" to quit-window

2015-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-dispatching-done): Don't set action permanently

2015-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel--find-symbol): Silence byte compiler

2015-11-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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"
	<input>.

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-alt-done): Ensure the trailing slash for directories

	* ivy.el (ivy-alt-done): Update.

2015-11-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	doc/ivy.org: Start writing a manual

2015-11-05  Stephen Whipple  <shw@wicdmedia.org>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-overlays): Take extra WND arg

2015-11-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-query-replace): Should exit minibuffer

2015-11-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Input "/sudo::" goes to current directory instead of root's home

	* ivy.el (ivy-alt-done): Update.

	Re #283

2015-11-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Add "definition" action

2015-11-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Bind "C-M-a" to ivy-read-action

2015-11-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox): Add :caller

	This results in more descriptive *ivy-occur* buffers.

2015-11-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <miketz@users.noreply.github.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude debbugs-gnu-mode

2015-11-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (with-ivy-window): Ensure window is live

	* ivy.el (ivy--get-window): New defun.

2015-11-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-mc): Update

2015-11-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ffap): Move require

2015-10-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude eems-stream-mode

	Re #19

2015-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	"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	 <ohwoeowho@gmail.com>

	ivy.el: "M-n" should prefer url at point to symbol at point

	* ivy.el (ivy--reset-state): Update.

2015-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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. "<f1> f", enter "for", navigate to
	"format" and press "C-g". Calling `ivy-resume' will point to "format" 
	still.

2015-10-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git): Update default-directory

2015-10-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Amend exception list

	Re #19

2015-10-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-alt-done): Fix up last commit

2015-10-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	"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	 <ohwoeowho@gmail.com>

	Fix pasting file paths on Windows

	* ivy.el (ivy--exhibit): Update.

	Fixes #272

2015-10-22  Stephen Whipple  <shw@wicdmedia.org>

	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	 <ohwoeowho@gmail.com>

	Add a test for the perfect match logic

	Re #270

2015-10-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-resume): Pass caller

	Fixes #245

2015-10-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-sort-functions-alist): Upgrade to defcustom

	Add the proper :type.

2015-10-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-extra-directories): Improve :type

2015-10-16  Jon Miller	<jonEbird@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy-test.el (swiper--re-builder): Update

	Due to last commit

2015-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--re-builder): Fix "^a" -> "^" case

	Fixes #262

2015-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Fix window selection in counsel-locate

	* counsel.el (counsel-locate): Use `with-ivy-window'.

2015-10-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--recompute-index): Fixup

	Fixes #258

2015-10-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-virtual-abbreviate): New defcustom

	* ivy.el (ivy--virtual-buffers): Update.

	Fixes #255

2015-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (hydra-ivy): Make the docstring a rectangle

2015-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el: Add a lot of avy declares

2015-10-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-last): Update docstring

2015-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-use-virtual-buffers): Update docstring

2015-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Default ivy-display-style to 'fancy for Emacs>=24.5

	* ivy.el (ivy-display-style): Update.

2015-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-count-format): Extend customize choices

2015-10-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Fix typo

	Re #253

2015-10-06  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude help-mode

	Fixes #248

2015-10-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper--candidates): Avoid line-move for large buffers

	Re #227

2015-10-04  PythonNut  <PythonNut@users.noreply.github.com>

	swiper-avy: show avy hints in minibuffer as well

2015-10-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix "End of buffer" for swiper and visual-line-mode

	Fixes #247

2015-10-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <PythonNut@users.noreply.github.com>

	Implement ivy-avy

2015-10-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel--gg-candidates): Use counsel-git-grep-cmd

2015-10-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Less strict on :preselect

2015-10-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex-fuzzy): Add minibuffer highlighting

	* ivy-test.el (ivy--regex-fuzzy): Update test.

	Re #207

2015-09-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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, "<f1> 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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-prompt): Improve truncation

	Re #240

2015-09-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Add mu4e

	Re #19

2015-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--insert-prompt): Avoid negative length error

2015-09-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--resize-minibuffer-to-fit): Make compatible with 24.3

	Fixes #220

2015-09-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Remove obsolete version check

2015-09-22  Julien Wietrich  <julien.w6h@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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  <julien.w6h@gmail.com>

	Revert multiple frames workaround

	Since SHA:d8d7ed45f07b52ab63eca444f0e6fa03747fab9e workaround
	SHA:435f2b6edfe3ab517c9eda56c6351f0bcfdf3845 is no longer required.

2015-09-19  Julien Wietrich  <julien.w6h@gmail.com>

	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  <PythonNut@users.noreply.github.com>

	Add autoloads to some important functions

2015-09-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Make "<left>" and "<right>" behave as in fundamental-mode

	Fixes #232

2015-09-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop): Add autoload

2015-09-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-format-function-default): Fix boundp bug

	Fixes #225

2015-09-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-yank-pop-truncate): Add group

2015-09-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Fix compiler warning

2015-09-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--resize-minibuffer-to-fit): Make compatible with 24.3

	Re #220

2015-09-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-format-function-default): Handle fringe-mode 0

	Fixes #219

2015-09-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Move swiper-minibuffer-faces to ivy.el

	Fixes #217

2015-09-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	Declare some SLIME functions

	* counsel.el (slime-symbol-start-pos):
	(slime-symbol-end-pos):
	(slime-contextual-completions): Declare.

2015-09-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-function): Fix up

	Set `ivy--old-re' for the benefit of fancy minibuffer faces.

2015-09-07  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-minibuffer-line): Fix nil regexp

2015-09-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--format-minibuffer-line): Use add-face-text-property

2015-09-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-cl): New command

	* counsel.el (counsel--el-action): Add `with-ivy-window' wrapper.

2015-08-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-jedi): New command

	* counsel.el (counsel--py-action): New defun.

	Add a few declares as well.

2015-08-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <fjl@twurst.com>

	ivy: enlarge the minibuffer window if the candiate list doesn't fit

	Fixes #161 Fixes #198

2015-08-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Set line-spacing to 0 in the minibuffer

	* ivy.el (ivy--minibuffer-setup): Update.

	Fixes #198

2015-08-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-kill-ring-save): Add and bind to "M-w"

	Fixes #197

2015-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Fix up last commit

	Check if string before using `string-match'.

2015-08-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <tsdh@gnu.org>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <xuchunyang56@gmail.com>

	(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  <tsdh@gnu.org>

	(counsel-locate): Allow customizing locate options

2015-08-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	doc/Changelog.org: Add

2015-08-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Fix window focus issue

	"C-M-n" should work fine now.

2015-08-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <xuchunyang56@gmail.com>

	Allow ivy-count-format to be set as nil

2015-07-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (org-bound-and-true-p): Use bound-and-true-p

2015-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add a few more Org declarations

	Re #179

2015-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (org-last-tags-completion-table): Declare

	Re #179

2015-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (org-setting-tags): Declare dynamic var

	Re #179

2015-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-from-isearch): New command

	Fixes #180

2015-07-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (org-bound-and-true-p): Update declare

2015-07-27  Erik Hetzner  <egh@e6h.org>

	Use recoll -t instead of recollq

2015-07-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recoll): Simplify

2015-07-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-recoll): New command

	* counsel.el (counsel-recoll-function): New function.

2015-07-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-org-change-tags): Improve removing tags

2015-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Add actions for counsel-describe-function

2015-07-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add actions for counsel-describe-variable

2015-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-dispatching-done): Add a trailing newline

2015-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-dispatching-done): Display the candidate

2015-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow "C-g" to interrupt ivy-dispatching-done

	* ivy.el (ivy-dispatching-done): Update.

2015-07-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy-hydra.el: Add featurep for hydra

	Fixes #174

2015-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-variable-list): Add

	* counsel.el (counsel-describe-variable): Use `counsel-variable-list'.

2015-07-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Update avy--goto -> avy-action-goto

2015-07-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Ignore Man-mode

2015-07-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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  <egh@e6h.org>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-rhythmbox-history): Add

	* counsel.el (counsel-rhythmbox): Update.

2015-07-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-locate-history): Add

2015-07-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fixup

	Re #165

2015-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Don't put empty string on history

2015-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--reset-state): Fixup

2015-07-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Fixup the last two commits

	* counsel.el (counsel-find-file): Update.

	* ivy.el (ivy--buffer-list): Update.

	Re #164

2015-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add a custom keymap for counsel-find-file

	* counsel.el (counsel-find-file-map): New defvar.

	Re #164

2015-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add a custom keymap for ivy-switch-buffer

	* ivy.el (ivy-switch-buffer-map): New defvar.

	Re #164

2015-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-restrict-to-matches): Add and bind to "S-SPC"

2015-06-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-find-file): Use `file-name-history'

	* counsel.el (package-installed-p): Declare.

2015-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-history): New defvar

	* counsel.el (counsel-git-grep): Use `counsel-git-grep-history'.

2015-06-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Fixup compilation warnings related to smex

2015-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-unicode-char): Use action-style call

	Fixes #160

2015-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-load-theme): New command

2015-06-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy-hydra.el (hydra-ivy): Bind "C-g"

	To make sure that "C-g" really exits the hydra.

2015-06-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <kaushal.modi@gmail.com>

	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	<greg@glucas.net>

	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	<greg@glucas.net>

	Add support for Windows drive letters

2015-06-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-alt-done): Enable recursive minibuffers

	Re #145

2015-06-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Fix non-file completions ability to enter tramp completion

	* ivy.el (ivy-alt-done): Update.

	Re #145

2015-06-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	"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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	"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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Fixup

	Re #136

2015-06-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy-hydra.el (defhydra): Wrap in eval-when-compile

2015-06-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Call smex-rank

	Re #136

2015-06-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-initial-inputs-alist): Add man and woman

2015-06-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (hydra-ivy/body): Autoload

2015-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): Call smex-initialize

	Otherwise, smex-cache isn't defined.

2015-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Replace "C-x 6" with "<f2>" in counsel-M-x

	counsel.el (counsel--format-function-M-x): Update.

2015-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el: Add a bunch of autoload cookies

2015-06-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-M-x): New command

	* counsel.el (counsel--format-function-M-x): New defun.

	Re #136.

2015-06-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-symbol-at-point): Improve

	Fixes #137

2015-06-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-minibuffer-map): Bind ivy-yank-word to "M-j"

	Re #133

2015-06-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Fixup compilation warnings

2015-06-04  Tassilo Horn  <tsdh@gnu.org>

	Regexp-quote name of candidate buffer to be preselected

	Fixes #128

2015-06-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--done): Set ivy--current

	Fixes a bug of using :action for completing file names.

2015-06-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-recentf): New command

	Fixes #124

2015-05-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-info-lookup-symbol): Add a require

	In case it's called non-interactively.

2015-05-28  Tassilo Horn  <tsdh@gnu.org>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Avoid ensuring font lock when magit-blame-mode is active

	swiper.el (swiper-font-lock-ensure): Update.

2015-05-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Don't double-quote preselect

	The :preselect is already quoted in `ivy--preselect-index'.

2015-05-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): Don't start on empty input

	Fixes abo-abo/avy#50

2015-05-24  Ingo Lohmar	 <i.lohmar@gmail.com>

	ivy.el (ivy-next-line): Fix wraparound at end of candidates

2015-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-avy): Use only the current window

	Fixes #117

2015-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Bump version

2015-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Add a secion on Ivy

2015-05-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Check for a cons initial-input

2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* 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	 <ohwoeowho@gmail.com>

	Fixup compilation warnings

2015-05-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	When building a regex, consider ^ only at start

	swiper.el (swiper--re-builder): Update.

2015-05-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-info-lookup-symbol): Turn on sorting

2015-05-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Don't error on incomplete bad regexp in counsel-git-grep

	counsel.el (counsel-git-grep-matcher): Update.

2015-05-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Warn if not in a repository

2015-05-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-kill-word): Add and bind to "M-d"

	Fixes #94

2015-05-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Add sample init

	Fixes #112

2015-05-15  __rompy  <rompy.under@gmail.com>

	Fixed ivy--preselect-index on windows where the drives folders ends with
	a backslash (C:\, D:\)

2015-05-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial-or-done): Update doc

	Re #105

2015-05-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial-or-done): Always forward to `ivy-alt-done'

	Fixes #105

2015-05-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Keep the last ivy--index for :dynamic-collection

2015-05-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Forward to minibuffer-complete for filenames only if "^/"

	* ivy.el (ivy-partial-or-done): Update.

	Fixes #102

2015-05-12  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial-or-done): Fixup

2015-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Ignore fundamental-mode

	ELP uses this.

2015-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Update test

	ivy-test.el (swiper--re-builder): Rename from `ivy--transform-re'.

2015-05-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-backward-kill-word): Add and bind to "M-DEL"

	Fixes #94

2015-05-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix the transition from a bad regex to good one

	* ivy.el (ivy--filter): Update.

	Fixes #93

2015-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	Declare swiper-map

	Fixes #90

2015-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	Rename avy-swiper to swiper-avy

	* swiper.el (swiper-avy): Rename and fix the regex.

2015-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-use-virtual-buffers): New defcustom

	Re #84

2015-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <tsdh@gnu.org>

	Simplify ivy-partial-or-done

2015-05-08  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-partial-or-done): Handle empty input

	Fixes #81

2015-05-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Merge ivy--collection into ivy-last

	* ivy.el (ivy--collection): Delete defvar.
	(ivy-read): Update.
	(ivy--exhibit): Update.

2015-05-05  Oleh Krehel	 <ohwoeowho@gmail.com>

	Require dired when completing file names

	* ivy.el (ivy-read): Update.

	Fixes #78

2015-05-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	Make "TAB" switch directories properly

	* ivy.el (ivy-partial-or-done): Forward to `ivy-alt-done'.

	Fixes #75

2015-05-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	"TAB" shouldn't delete input when no candidate

	ivy.el (ivy-partial-or-done): Update.

	Fixes #74

2015-05-04  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el: Bump version

2015-05-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-resume): Quote the preselect

2015-05-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix the candidate index for `ivy-resume'

	* ivy.el (ivy--preselect-index): The the regex, not the plain text.

2015-05-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Merge ivy-def into ivy-last

	* ivy.el (ivy-def): Remove defvar.
	(ivy-read): Update.
	(ivy--filter): Update.

2015-05-01  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Allow for "/ssh:user@" as well as for "/ssh:"

	* ivy.el (ivy-alt-done): Update.

	Re #59

2015-04-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Reset `ivy-text' earlier

	Related to `counsel-git-grep' "-3 chars more".

2015-04-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex): Fixup

	Fixes #62

2015-04-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Improve hidden buffer completion further

	* ivy.el (ivy--exhibit): Update.

	Fixes #68 Fixes #69

2015-04-29  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Add optional initial-input

	* counsel.el (counsel-git-grep): Update.

	Fixes #66

2015-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-re-builders-alist): Improve doc

	Re #62

2015-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Makefile: Update

2015-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude `elfeed-search-mode'

2015-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--filter): Fixup

	Fixes #65

2015-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	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:`
	<kbd>C-j</kbd> and get completion.

	Re #59

2015-04-28  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Minibuffer faces should inherit minibuffer-prompt

	* ivy.el (ivy-confirm-face): Update.
	(ivy-match-required-face): Update.

	Re #60

2015-04-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Reset to the first candidate when switching directories

	* ivy.el (ivy--cd): Update.

2015-04-24  Oleh Krehel	 <ohwoeowho@gmail.com>

	Propertize remote buffers with ivy-remote face

	* ivy.el (ivy-remote): New face.
	(ivy-read): Update.

	Fixes #61

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Fixup preselect addition

	It was unnecessarily inserting `preselect' when completing tags.

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (Info-current-file): Declare

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Avoid sorting org refile candidates

	* ivy.el (ivy-read): Update.

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	Exclude jabber-chat-mode from font-lock

	* swiper.el (swiper-font-lock-ensure): Update.

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Fixup

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-done): Update wrt globs

	Re #55

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Fix

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Check for stand-alone ivy

	Re #54

2015-04-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-done): Don't expand globs

	Re #55

2015-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Update video link

2015-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy-test.el (ivy-read): Update test.

	REQUIRE-MATCH is nil by default.

2015-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-done): Fixup

2015-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--add-face): Don't fail for weird str

	Fixes #44

2015-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--ivy): Fix preselect being added

2015-04-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	README.md: Add a note on outdated ivy package

	Fixes #51

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Don't add the `default-directory'

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper--add-overlays): Make bounds optional

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-count): Ignore case

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Fix double-sorting for file names

	* ivy.el (ivy--sorted-files): Update.
	(ivy-read): Update.

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy--sorted-files): Avoid returning an empty list

	Fixes #49

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--regex): Switch to non-greedy ".*?" joiner

	Fixes #47

2015-04-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-done): Expand file name for empty text

	Fixes #45

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	`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	 <ohwoeowho@gmail.com>

	Use cl-plusp instead of plusp

	* ivy.el (cl-lib): Add require.
	(ivy-alt-done): Update.

	Re #43

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep-count): Add defun

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Fix compilation warnings

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	Bind arrows

	* ivy.el (ivy-minibuffer-map): Update.

	Re #40

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add an optimization to speed up matching

	* ivy.el (ivy-completions): Update.

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Bump version

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-done): Still expand "./" though

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Propertize directories with ivy-subdir face

	* ivy.el (ivy-subdir): New defface.
	(ivy-completions): Update.

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy--preselect-index): Give priority to perfect match

2015-04-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completions): Fix an optimization

2015-04-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	counsel.el (counsel-git-grep): Fix the default-directory

2015-04-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-alt-done): Update for 0 candidates

2015-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el: Move all defvar before their first use

2015-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add ivy key bindings to "C-h m"

	* ivy.el (ivy-mode): Update.

	Re #37

2015-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to customize the dotted directories

	* ivy.el (ivy-extra-directories): New defcustom.
	(ivy--sorted-files): Update.

	Re #38

2015-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude dired-mode

2015-04-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Switch from `with-no-warnings' to `declare-function'

2015-04-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow to complete dir with "/" if it's a perfect match

	* ivy.el (ivy--exhibit): Update.

2015-04-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Add work-around for DEF not being in COLLECTION for `completing-read'

	* ivy.el (ivy-read): Update.

2015-04-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Remove dependency on ivy

	ivy.el now comes together with swiper.

	Re #36.

2015-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completing-read): Rely more on `all-completions'

2015-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Don't try to fontify huge buffers

	* swiper.el (swiper-font-lock-ensure): Update.

2015-04-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el: Bump version

2015-04-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Fix thing-at-point in describe-function and -variable

	* counsel.el (counsel-describe-variable): Update.
	(counsel-describe-function): Update.

2015-04-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Add ivy-mode

	* ivy.el (ivy-completing-read): New defun.
	(ivy-mode): New global minor mode.

2015-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude org-agenda-mode

	Re #19

2015-04-09  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <steve@sanityinc.com>

	Fix invalid package header line

2015-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Fixup prefixes

2015-04-03  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el (couns-clj): Add with-no-warnings

2015-04-02  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Update comments

2015-03-31  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <nivekuil@gmail.com>

	Add defcustom for ivy-backward-delete-char

2015-03-30  Oleh Krehel	 <ohwoeowho@gmail.com>

	Allow duplicate candidates in `ivy-read'

	* ivy.el (ivy-completions): Use `eq' instead of `equal' in
	 `cl-position'.

2015-03-27  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Enable recursive minibuffers

	* swiper.el (swiper-query-replace): Update.

	Fixes #31.

2015-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	Default ARG to 1 for arrows

	* ivy.el (ivy-next-line): Update.
	(ivy-previous-line): Update.

2015-03-26  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	"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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-query-replace): Call only in minibuffer

2015-03-25  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Ignore gnus modes

2015-03-23  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Omit erc-mode

	Re #28

2015-03-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	Update Copyright

2015-03-22  Oleh Krehel	 <ohwoeowho@gmail.com>

	Move swiper-helm to another repo

2015-03-22  John Mastro	 <john.b.mastro@gmail.com>

	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	 <john.b.mastro@gmail.com>

	swiper.el (swiper-min-highlight): New defcustom

	(swiper--add-overlays): Use `swiper-min-highlight'

2015-03-22  John Mastro	 <john.b.mastro@gmail.com>

	swiper.el (swiper--init): Set `swiper--opoint'

	(swiper): Don't set `swiper--opoint'

2015-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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  <steve@sanityinc.com>

	Fix invalid package header line

2015-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	swiper-helm.el: Fix typo

2015-03-21  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Remove the helm bits

	They are now in swiper-helm.el. Available for install separately from 
	MELPA.

2015-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper-helm.el: Copy all helm stuff here

2015-03-20  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-completions): Simplify

2015-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	README.md: Add build status

2015-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy-test.el: Add testing

	* Makefile: Add a test and compile target.

2015-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Return nil when there is no match

	* ivy.el (ivy-done): Update.
	(ivy-read): Update.

2015-03-19  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Silence a few compilation warnings

2015-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Bring last history candidate to front

2015-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Add git file completion

	* counsel.el (couns-git): Add.

2015-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--helm): Require helm-match-plugin

	This seems to be necessary after a recent helm update.

2015-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el: Fix ivy-history recording the full text instead of input

	* ivy.el (ivy-read): Update.

	Fixes #21

2015-03-18  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper-font-lock-ensure): Exclude a few modes

	Re #19

2015-03-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	Work around magit highlighting problem

	* swiper.el (swiper-font-lock-ensure): Update.

	Re #19

2015-03-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--opoint): Fix bad defvar

2015-03-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Add Clojure completion at point

2015-03-17  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Fix error for empty buffer

	* swiper.el (swiper--candidates): Update.
	(swiper--action): Update.

	Fixes #17.

2015-03-16  killdash9  <killdash9>

	Need to check value of variable

2015-03-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Clean up overlays better on "C-g"

	* swiper.el (swiper--cleanup): Improve.

	Fixes #11.

2015-03-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	Open invisible overlays using isearch

	* swiper.el (swiper--update-input-ivy): Improve.

	Fixes #11.

2015-03-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	ivy.el (ivy-read): Return immediately for less than 2 candidates

2015-03-16  Oleh Krehel	 <ohwoeowho@gmail.com>

	counsel.el: Add

2015-03-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	Truncate candidates to window width in the minibuffer

	* ivy.el (ivy-completions): Update.

2015-03-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el (ivy-previous-line): Change to `cl-decf'

	Re #15

2015-03-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el: Make ivy the default back end

2015-03-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	Don't recenter unless necessary

	* swiper.el (swiper--update-input-ivy): Update.

2015-03-15  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <xavier.garrido@gmail.com>

	Fix use of cl-incf

	* ivy.el (ivy-next-line): Update.

	Fixes #15

2015-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	Require delsel for `minibuffer-keyboard-quit'

	* ivy.el (ivy-backward-delete-char): Update.

	Fixes #14.

2015-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Reveal invisible overlays

	* swiper.el (swiper--ivy): Update.
	(swiper--ensure-visible): New defun.
	(swiper--action): Update.

	Fixes #11.

2015-03-14  Steve Purcell  <steve@sanityinc.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	ivy.el: Add `ivy-exit'

	* ivy.el (ivy-done): Update.
	(ivy-read): Update.
	(ivy-exit): New defvar.

2015-03-14  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Account for zero-length regex matches

	* swiper.el (swiper--add-overlays): Update.

	Fixes #6.

2015-03-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	README.md: Update

2015-03-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	Update dependencies.

	* ivy.el: Depend on emacs "24.1".

	* swiper.el: Depend on ivy "0.1.0".

2015-03-13  Oleh Krehel	 <ohwoeowho@gmail.com>

	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  <killdash9>

	familiar isearch key bindings while helm is active

2015-03-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--regex): Update signature

2015-03-11  Syohei YOSHIDA  <syohex@gmail.com>

	Use cl-lib macros instead of cl.el

2015-03-11  Syohei YOSHIDA  <syohex@gmail.com>

	add autoload cookie for lazy loading

2015-03-11  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add dependency on emacs 24.1

2015-03-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	Add compatibility alias for `font-lock-ensure'

	* swiper.el (swiper-font-lock-ensure): Add.

	Fixes #1.

2015-03-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	README.md: Add

2015-03-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	swiper.el (swiper--regex): Zero groups without space

	* swiper.el (swiper--update-input): Update the face order accordingly.

2015-03-10  Oleh Krehel	 <ohwoeowho@gmail.com>

	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	 <ohwoeowho@gmail.com>

	Initial import

