Improve /tabs completion workflow (#16168)

Follow-up of https://github.com/zed-industries/zed/pull/16154

Reworks /tabs arguments to allow:
* current tab by default, if no arguments are present
* fuzzy-matching over paths of the related tabs
* `all` case to insert all tabs at once

Release Notes:

- N/A
This commit is contained in:
Kirill Bulatov 2024-08-13 18:40:24 +03:00 committed by GitHub
parent 7b613cb169
commit 7aed240729
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 202 additions and 158 deletions

View file

@ -5,7 +5,7 @@ use assistant_slash_command::{
ArgumentCompletion, SlashCommand, SlashCommandOutput, SlashCommandOutputSection,
};
use futures::FutureExt;
use gpui::{AppContext, Task, WeakView, WindowContext};
use gpui::{Task, WeakView, WindowContext};
use language::LspAdapterDelegate;
use ui::prelude::*;
use wasmtime_wasi::WasiView;
@ -42,7 +42,7 @@ impl SlashCommand for ExtensionSlashCommand {
query: String,
_cancel: Arc<AtomicBool>,
_workspace: Option<WeakView<Workspace>>,
cx: &mut AppContext,
cx: &mut WindowContext,
) -> Task<Result<Vec<ArgumentCompletion>>> {
cx.background_executor().spawn(async move {
self.extension