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,
|
T: ToPointUtf16,
|
||||||
{
|
{
|
||||||
|
self.register_buffer(buffer, cx);
|
||||||
let (server, registered_buffer) = match &mut self.server {
|
let (server, registered_buffer) = match &mut self.server {
|
||||||
CopilotServer::Starting { .. } => {
|
CopilotServer::Starting { .. } => {
|
||||||
return Task::ready(Err(anyhow!("copilot is still starting")))
|
return Task::ready(Err(anyhow!("copilot is still starting")))
|
||||||
|
@ -681,17 +682,11 @@ impl Copilot {
|
||||||
..
|
..
|
||||||
} => {
|
} => {
|
||||||
if matches!(status, SignInStatus::Authorized { .. }) {
|
if matches!(status, SignInStatus::Authorized { .. }) {
|
||||||
if let Some(registered_buffer) = registered_buffers.get_mut(&buffer.id()) {
|
let registered_buffer = registered_buffers.get_mut(&buffer.id()).unwrap();
|
||||||
if let Err(error) = registered_buffer.report_changes(buffer, &server, cx) {
|
if let Err(error) = registered_buffer.report_changes(buffer, &server, cx) {
|
||||||
return Task::ready(Err(error));
|
return Task::ready(Err(error));
|
||||||
}
|
|
||||||
|
|
||||||
(server.clone(), registered_buffer)
|
|
||||||
} else {
|
|
||||||
return Task::ready(Err(anyhow!(
|
|
||||||
"requested completions for an unregistered buffer"
|
|
||||||
)));
|
|
||||||
}
|
}
|
||||||
|
(server.clone(), registered_buffer)
|
||||||
} else {
|
} else {
|
||||||
return Task::ready(Err(anyhow!("must sign in before using copilot")));
|
return Task::ready(Err(anyhow!("must sign in before using copilot")));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue