Skip to content

Commit d246c52

Browse files
committed
fixup scrolltop
1 parent e79d26c commit d246c52

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

lua/magenta/init.lua

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -102,12 +102,8 @@ local function append_to_main(opts)
102102
local lines = vim.split(opts.text, '\n', {})
103103
if #lines == 0 then return end
104104

105-
local top_line = vim.api.nvim_buf_line_count(main_area.bufnr) + 1;
106-
107-
if opts.scrolltop then
108-
require('magenta.util.scroll_buffer').scroll_buffer(main_area.bufnr, top_line)
109-
end
110105

106+
local top_line = vim.api.nvim_buf_line_count(main_area.bufnr);
111107
local last_line = vim.api.nvim_buf_get_lines(main_area.bufnr, -2, -1, false)[1] or ""
112108

113109
vim.api.nvim_buf_set_option(main_area.bufnr, 'modifiable', true)
@@ -119,9 +115,13 @@ local function append_to_main(opts)
119115

120116
vim.api.nvim_buf_set_option(main_area.bufnr, 'modifiable', false)
121117

122-
-- Scroll to bottom
123-
local final_line = vim.api.nvim_buf_line_count(main_area.bufnr)
124-
vim.api.nvim_win_set_cursor(main_area.winid, { final_line, 0 })
118+
if opts.scrolltop then
119+
local offset = #lines > 1 and 1 or 0
120+
require('magenta.util.scroll_buffer').scroll_buffer(main_area.bufnr, top_line + offset)
121+
else
122+
local final_line = vim.api.nvim_buf_line_count(main_area.bufnr)
123+
vim.api.nvim_win_set_cursor(main_area.winid, { final_line, 0 })
124+
end
125125
end
126126

127127
-- Function to send message to Anthropic

0 commit comments

Comments
 (0)