Don't do intermediate fuzzy directory matching with $PATH

When expanding an executable with $PATH, don't attempt to
interpret the directories in PATH as fuzzy matching. Fixes #2413.
This commit is contained in:
ridiculousfish
2015-10-03 15:44:57 -07:00
parent bec6d5c174
commit aeaacedf75
3 changed files with 11 additions and 5 deletions

View File

@@ -1147,11 +1147,12 @@ void completer_t::complete_cmd(const wcstring &str_cmd, bool use_function, bool
nxt_completion.append(str_cmd);
size_t prev_count = this->completions.size();
expand_flags_t expand_flags = EXPAND_FOR_COMPLETIONS | EXECUTABLES_ONLY | EXPAND_NO_FUZZY_DIRECTORIES | this->expand_flags();
if (expand_string(nxt_completion,
&this->completions,
EXPAND_FOR_COMPLETIONS | EXECUTABLES_ONLY | this->expand_flags(), NULL) != EXPAND_ERROR)
expand_flags, NULL) != EXPAND_ERROR)
{
/* For all new completions, if COMPLETE_NO_CASE is set, then use only the last path component */
/* For all new completions, if COMPLETE_REPLACES_TOKEN is set, then use only the last path component */
for (size_t i=prev_count; i< this->completions.size(); i++)
{
completion_t &c = this->completions.at(i);