The built-in function `completing-read' prompts a user to select from a set of candidates, providing [[minibuffer]] [[completion]] to narrow and complete the user input.

==Completion styles==
See CompletionStyles for how minibuffer text is matched to completion alternatives, for example using prefix or substring matching.
==Related built-in packages==
===Icomplete===
* [IcompleteMode] provides incremental MiniBuffer completion with previews.
===Ido===
* [InteractivelyDoThings Ido] provides `ido-completing-read', which is similar to `completing-read'.
==Related external packages==
===auto-completing-read===
[:auto-completing-read.el]
* <tt>[[auto-completing-read.el]]</tt> provides functions that are variants of `completing-read' and `ido-completing-read' designed to minimize the number of keystrokes needed to select an option.  You can use these functions in your own commands as replacements for `completing-read' and `ido-completing-read'.
===Helm===
* [[Helm]] provides its own completion interface and completion functions.
===Icicles===
* [[Icicles]] -- In Icicle [[minor mode]], `completing-read' is itself enhanced in many ways: optionally automatically completing as much as possible, and optionally automatically selecting the sole matching candidate.  Exiting Icicle mode returns `completing-read' to its original behavior.

----
CategoryCompletion
