Merge pull request #59 from SilasMarvin/silas-patch-eof-error

Patched EOF error when chatting
This commit is contained in:
Silas Marvin
2024-08-11 14:20:29 -07:00
committed by GitHub
3 changed files with 12 additions and 7 deletions

2
Cargo.lock generated
View File

@@ -1566,7 +1566,7 @@ dependencies = [
[[package]] [[package]]
name = "lsp-ai" name = "lsp-ai"
version = "0.4.1" version = "0.5.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"assert_cmd", "assert_cmd",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "lsp-ai" name = "lsp-ai"
version = "0.5.0" version = "0.5.1"
description.workspace = true description.workspace = true
repository.workspace = true repository.workspace = true

View File

@@ -421,8 +421,12 @@ async fn do_code_action_resolve(
)))?; )))?;
let file_text = rx.await?; let file_text = rx.await?;
let (messages_text, text_edit_line) = if chat.trigger == "" { let (messages_text, text_edit_line, text_edit_char) = if chat.trigger == "" {
(file_text.as_str(), file_text.lines().count() + 1) (
file_text.as_str(),
file_text.lines().count(),
file_text.lines().last().unwrap_or("").chars().count(),
)
} else { } else {
let mut split = file_text.split(&chat.trigger); let mut split = file_text.split(&chat.trigger);
let text_edit_line = split let text_edit_line = split
@@ -435,7 +439,8 @@ async fn do_code_action_resolve(
.context("trigger not found when resolving chat code action")?; .context("trigger not found when resolving chat code action")?;
( (
messages_text, messages_text,
text_edit_line + messages_text.lines().count() + 1, text_edit_line + messages_text.lines().count(),
messages_text.lines().last().unwrap_or("").chars().count(),
) )
}; };
@@ -515,8 +520,8 @@ async fn do_code_action_resolve(
let edit = TextEdit::new( let edit = TextEdit::new(
Range::new( Range::new(
Position::new(text_edit_line as u32, 0), Position::new(text_edit_line as u32, text_edit_char as u32),
Position::new(text_edit_line as u32, 0), Position::new(text_edit_line as u32, text_edit_char as u32),
), ),
response.insert_text.clone(), response.insert_text.clone(),
); );