Add LSP logs into the end of the editor, not after its caret

Also prevent tabs from being added in readonly editors
This commit is contained in:
Kirill Bulatov 2024-01-15 22:05:49 +02:00
parent 1b35b93e77
commit 92add99260
2 changed files with 9 additions and 3 deletions

View file

@ -4513,7 +4513,7 @@ impl Editor {
} }
pub fn tab(&mut self, _: &Tab, cx: &mut ViewContext<Self>) { pub fn tab(&mut self, _: &Tab, cx: &mut ViewContext<Self>) {
if self.move_to_next_snippet_tabstop(cx) { if self.move_to_next_snippet_tabstop(cx) || self.read_only(cx) {
return; return;
} }

View file

@ -405,8 +405,14 @@ impl LspLogView {
{ {
log_view.editor.update(cx, |editor, cx| { log_view.editor.update(cx, |editor, cx| {
editor.set_read_only(false); editor.set_read_only(false);
editor.handle_input(entry.trim(), cx); let last_point = editor.buffer().read(cx).len(cx);
editor.handle_input("\n", cx); editor.edit(
vec![
(last_point..last_point, entry.trim()),
(last_point..last_point, "\n"),
],
cx,
);
editor.set_read_only(true); editor.set_read_only(true);
}); });
} }