vim.cmd("edit /tmp/brokencode-selection.lua") vim.bo.filetype = "lua" vim.api.nvim_buf_set_lines(0, 0, -1, false, { "local first = 1", "local second = 2" }) vim.api.nvim_buf_set_mark(0, "<", 1, 6, {}) vim.api.nvim_buf_set_mark(0, ">", 2, 11, {}) vim.cmd("normal! gv") vim.cmd("normal! \27") local selection = require("brokencode.selection") local value = selection.get({ line1 = 1, line2 = 2 }) assert(value == "first = 1\nlocal second", value) local prompt = selection.prompt({ line1 = 1, line2 = 2 }, "Explain this") assert(prompt:find("File: /tmp/brokencode%-selection.lua"), prompt) assert(prompt:find("Explain this", 1, true), prompt) vim.api.nvim_buf_set_lines(0, 0, -1, false, { "abcdef", "uvwxyz" }) vim.cmd("normal! gg0\22j4l\27") local block = selection.get({ line1 = 1, line2 = 2 }) assert(block == "abcde\nuvwxy", block)