mirror of
https://github.com/zed-industries/zed.git
synced 2024-10-24 23:47:05 +00:00
Register unknown buffer on the fly if completions are requested for it
This commit is contained in:
parent
34bcf6f072
commit
b9a7b70e52
1 changed files with 5 additions and 10 deletions
|
@ -663,6 +663,7 @@ impl Copilot {
|
|||
>,
|
||||
T: ToPointUtf16,
|
||||
{
|
||||
self.register_buffer(buffer, cx);
|
||||
let (server, registered_buffer) = match &mut self.server {
|
||||
CopilotServer::Starting { .. } => {
|
||||
return Task::ready(Err(anyhow!("copilot is still starting")))
|
||||
|
@ -681,17 +682,11 @@ impl Copilot {
|
|||
..
|
||||
} => {
|
||||
if matches!(status, SignInStatus::Authorized { .. }) {
|
||||
if let Some(registered_buffer) = registered_buffers.get_mut(&buffer.id()) {
|
||||
if let Err(error) = registered_buffer.report_changes(buffer, &server, cx) {
|
||||
return Task::ready(Err(error));
|
||||
}
|
||||
|
||||
(server.clone(), registered_buffer)
|
||||
} else {
|
||||
return Task::ready(Err(anyhow!(
|
||||
"requested completions for an unregistered buffer"
|
||||
)));
|
||||
let registered_buffer = registered_buffers.get_mut(&buffer.id()).unwrap();
|
||||
if let Err(error) = registered_buffer.report_changes(buffer, &server, cx) {
|
||||
return Task::ready(Err(error));
|
||||
}
|
||||
(server.clone(), registered_buffer)
|
||||
} else {
|
||||
return Task::ready(Err(anyhow!("must sign in before using copilot")));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue