ido-completing-read+

Homepage: https://github.com/DarwinAwardWinner/ido-completing-read-plus

Author: Ryan C. Thompson

Updated:

Summary

A completing-read-function using ido

Commentary

If you use the excellent `ido-mode' for efficient completion of
file names and buffers, you might wonder if you can get ido-style
completion everywhere else too. Well, that's what this package
does! ido-ubiquitous is here to enable ido-style completion for
(almost) every function that uses the standard completion function
`completing-read'.

This package implements the `ido-completing-read+' function, which
is a wrapper for `ido-completing-read'. Importantly, it detects
edge cases that ordinary ido cannot handle and either adjusts them
so ido *can* handle them, or else simply falls back to Emacs'
standard completion instead. Hence, you can safely set
`completing-read-function' to `ido-completing-read+' without
worrying about breaking completion features that are incompatible
with ido. (Package authors interested in implementing ido support
within their packages can also use `ido-completing-read+' instead
of `ido-completing-read' to provide a more consistent user
experience.)

To use this package, call `ido-ubiquitous-mode' to enable the mode,
or use `M-x customize-variable ido-ubiquitous-mode' it to enable it
permanently. Once the mode is enabled, most functions that use
`completing-read' will now have ido completion. If you decide in
the middle of a command that you would rather not use ido, just use
C-f or C-b at the end/beginning of the input to fall back to
non-ido completion (this is the same shortcut as when using ido for
buffers or files).

Note that `completing-read-default' is a very general function with
many complex behaviors that ido cannot emulate. This package
attempts to detect some of these cases and avoid using ido when it
sees them. So some functions will not have ido completion even when
this mode is enabled. Some other functions have ido disabled in
them because their packages already provide support for ido via
other means (for example, magit). See `M-x describe-variable
ido-cr+-disable-list' for more information.

ido-completing-read+ version 4.0 is a major update. The formerly
separate package ido-ubiquitous has been subsumed into
ido-completing-read+, so ido-ubiquitous 4.0 is just a wrapper that
loads ido-completing-read+ and displays a warning about being
obsolete. If you have previously customized ido-ubiquitous, be sure
to check out `M-x customize-group ido-completing-read-plus' after
updating to 4.0 and make sure the new settings are to your liking.


This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see .

Dependencies

Reverse dependencies