mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-03-15 15:05:27 +08:00
Add some more cancellability to autosuggestions
This commit is contained in:
parent
94acb6ed5d
commit
c6302e3b3f
11
reader.cpp
11
reader.cpp
@ -1298,7 +1298,7 @@ struct autosuggestion_context_t
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (searcher.go_backwards())
|
||||
while (! reader_thread_job_is_stale() && searcher.go_backwards())
|
||||
{
|
||||
history_item_t item = searcher.current_item();
|
||||
|
||||
@ -1312,9 +1312,12 @@ struct autosuggestion_context_t
|
||||
this->autosuggestion = searcher.current_string();
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Maybe cancel here */
|
||||
if (reader_thread_job_is_stale())
|
||||
return 0;
|
||||
|
||||
/* Try handling a special command like cd */
|
||||
wcstring special_suggestion;
|
||||
if (autosuggest_suggest_special(search_string, working_directory, special_suggestion))
|
||||
@ -1322,6 +1325,10 @@ struct autosuggestion_context_t
|
||||
this->autosuggestion = special_suggestion;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Maybe cancel here */
|
||||
if (reader_thread_job_is_stale())
|
||||
return 0;
|
||||
|
||||
// Here we do something a little funny
|
||||
// If the line ends with a space, and the cursor is not at the end,
|
||||
|
Loading…
x
Reference in New Issue
Block a user