mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-01 21:21:15 -03:00
Better fix to make cd completions work again
This commit is contained in:
11
complete.cpp
11
complete.cpp
@@ -1159,18 +1159,19 @@ void completer_t::complete_from_args( const wcstring &str,
|
|||||||
const wcstring &desc,
|
const wcstring &desc,
|
||||||
complete_flags_t flags )
|
complete_flags_t flags )
|
||||||
{
|
{
|
||||||
/* If type is COMPLETE_AUTOSUGGEST, it means we're on a background thread, so don't call proc_push_interactive */
|
|
||||||
|
|
||||||
std::vector<completion_t> possible_comp;
|
std::vector<completion_t> possible_comp;
|
||||||
|
|
||||||
parser_t parser(PARSER_TYPE_COMPLETIONS_ONLY);
|
bool is_autosuggest = (this->type == COMPLETE_AUTOSUGGEST);
|
||||||
|
parser_t parser(is_autosuggest ? PARSER_TYPE_COMPLETIONS_ONLY : PARSER_TYPE_GENERAL);
|
||||||
if (this->type != COMPLETE_AUTOSUGGEST)
|
|
||||||
|
/* If type is COMPLETE_AUTOSUGGEST, it means we're on a background thread, so don't call proc_push_interactive */
|
||||||
|
if (is_autosuggest)
|
||||||
proc_push_interactive(0);
|
proc_push_interactive(0);
|
||||||
|
|
||||||
parser.eval_args( args.c_str(), possible_comp );
|
parser.eval_args( args.c_str(), possible_comp );
|
||||||
|
|
||||||
if (this->type != COMPLETE_AUTOSUGGEST)
|
if (is_autosuggest)
|
||||||
proc_pop_interactive();
|
proc_pop_interactive();
|
||||||
|
|
||||||
complete_strings( this->completions, str.c_str(), desc.c_str(), 0, possible_comp, flags );
|
complete_strings( this->completions, str.c_str(), desc.c_str(), 0, possible_comp, flags );
|
||||||
|
|||||||
@@ -767,7 +767,7 @@ int parser_t::eval_args( const wchar_t *line, std::vector<completion_t> &args )
|
|||||||
expand_flags_t eflags = 0;
|
expand_flags_t eflags = 0;
|
||||||
if (! show_errors)
|
if (! show_errors)
|
||||||
eflags |= EXPAND_NO_DESCRIPTIONS;
|
eflags |= EXPAND_NO_DESCRIPTIONS;
|
||||||
if (this->parser_type != PARSER_TYPE_GENERAL && this->parser_type != PARSER_TYPE_COMPLETIONS_ONLY)
|
if (this->parser_type != PARSER_TYPE_GENERAL)
|
||||||
eflags |= EXPAND_SKIP_CMDSUBST;
|
eflags |= EXPAND_SKIP_CMDSUBST;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user