Skip to content

Commit 96fe4f6

Browse files
committed
fix CopilotPanel error
1 parent 7d5eb7e commit 96fe4f6

File tree

2 files changed

+22
-21
lines changed

2 files changed

+22
-21
lines changed

lua/copilot/extensions/panel.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ local panel = {
99
}
1010

1111
panel.send_request = function (opts)
12+
opts = opts or {}
1213
local client = opts.client or not vim.tbl_isempty(panel.client) and panel.client or vim.lsp.get_active_clients({name="copilot"})[1]
1314
if not panel.client then return end
1415
local completion_params = util.get_completion_params()
@@ -19,10 +20,10 @@ end
1920

2021
function panel.create (client, max_results)
2122
panel.client = client or vim.lsp.get_active_clients({name="copilot"})[1]
22-
if not client then print("Error, copilot not running") end
23+
if not panel.client then print("Error, copilot not running") end
2324
panel.max_results = max_results or 10
2425
panel.buf = type(panel.uri) == "number" or vim.api.nvim_create_buf(false, true)
25-
vim.api.nvim_buf_set_name(panel.buf, "copilot:///" .. tostring(panel.buf))
26+
vim.api.nvim_buf_set_name(panel.buf, "pb" .. tostring(panel.buf))
2627
panel.uri = vim.uri_from_bufnr(panel.buf)
2728
return panel
2829
end

lua/copilot/extensions/print_panel.lua

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
local a = vim.api
2-
local cmd = vim.cmd
32
local wo = vim.wo
43
local handler = require("copilot.handlers")
54
local format = require("copilot_cmp.format")
65
local print_panel = {}
76

87
local set_text = function (full_text)
9-
vim.api.nvim_buf_set_lines(print_panel.bufnr, 0, -1, false, {})
10-
vim.api.nvim_buf_set_option(print_panel.bufnr, "modifiable", true)
11-
vim.api.nvim_buf_set_option(print_panel.bufnr, "readonly", false)
8+
a.nvim_buf_set_option(print_panel.bufnr, "modifiable", true)
9+
a.nvim_buf_set_option(print_panel.bufnr, "readonly", false)
10+
a.nvim_buf_set_lines(print_panel.bufnr, 0, -1, false, {})
1211

1312
local ft = vim.bo.filetype
14-
vim.api.nvim_buf_call(print_panel.bufnr, function ()
13+
a.nvim_buf_call(print_panel.bufnr, function ()
1514
vim.bo.filetype = ft
1615
end)
17-
vim.api.nvim_buf_set_lines(print_panel.bufnr, 0, #full_text, false,full_text)
16+
a.nvim_buf_set_lines(print_panel.bufnr, 0, #full_text, false,full_text)
1817

19-
vim.api.nvim_buf_set_option(print_panel.bufnr, "modifiable", false)
20-
vim.api.nvim_buf_set_option(print_panel.bufnr, "readonly", true)
18+
a.nvim_buf_set_option(print_panel.bufnr, "modifiable", false)
19+
a.nvim_buf_set_option(print_panel.bufnr, "readonly", true)
2120
end
2221

2322
local format_entry = function (number, str)
@@ -77,7 +76,7 @@ end
7776

7877
local create_win = function ()
7978
local oldwin = a.nvim_get_current_win() --record current window
80-
local height = tostring(math.floor(vim.api.nvim_win_get_height(oldwin)*.3))
79+
local height = tostring(math.floor(a.nvim_win_get_height(oldwin)*.3))
8180
cmd(height .. "split")
8281
local win = a.nvim_get_current_win()
8382
wo.number = false
@@ -91,7 +90,7 @@ end
9190
print_panel.select = function (id)
9291
if not id then id = print_panel.current or 1 end
9392
local selection = print_panel.entries[id]
94-
vim.api.nvim_win_set_cursor(print_panel.win, {selection.linenr, 0})
93+
a.nvim_win_set_cursor(print_panel.win, {selection.linenr, 0})
9594
vim.cmd("normal zt")
9695
print_panel.current = id
9796
print_panel.linenr = selection.linenr
@@ -117,11 +116,11 @@ print_panel.set_options = function ()
117116
buf = { bufhidden = "wipe", buftype = "nofile", swapfile = false, buflisted = false, }
118117
}
119118
for option, value in pairs(opts.win) do
120-
vim.api.nvim_win_set_option(print_panel.win, option, value)
119+
a.nvim_win_set_option(print_panel.win, option, value)
121120
end
122121

123122
for option, value in pairs(opts.buf) do
124-
vim.api.nvim_buf_set_option(print_panel.bufnr, option, value)
123+
a.nvim_buf_set_option(print_panel.bufnr, option, value)
125124
end
126125
end
127126

@@ -146,19 +145,20 @@ print_panel.create = function (bufnr)
146145
})
147146
end
148147

149-
local id = vim.api.nvim_create_augroup("Panel", {
148+
local id = a.nvim_create_augroup("Panel", {
150149
clear = false
151150
})
152151

153-
vim.api.nvim_create_autocmd({"TextChangedI", "TextChangedP"}, {
152+
a.nvim_create_autocmd({"TextChangedI", "TextChangedP"}, {
154153
callback = function ()
155-
print("callback")
156-
require("copilot.extensions.panel").send_request()
154+
require("copilot.extensions.panel").send_request({
155+
uri = "pb"
156+
})
157157
end,
158158
group = id,
159159
})
160160

161-
vim.api.nvim_create_autocmd("WinEnter", {
161+
a.nvim_create_autocmd("WinEnter", {
162162
callback = function ()
163163
if print_panel.entries then
164164
print_panel.select(print_panel.entries.current)
@@ -168,11 +168,11 @@ print_panel.create = function (bufnr)
168168
group = id,
169169
})
170170

171-
vim.api.nvim_create_autocmd("WinClosed", {
171+
a.nvim_create_autocmd("WinClosed", {
172172
pattern = { tostring(print_panel.win) },
173173
callback = function ()
174174
-- cleanup panel triggers
175-
vim.api.nvim_create_augroup("Panel", { clear = true })
175+
a.nvim_create_augroup("Panel", { clear = true })
176176
handler.remove_handler_callback("PanelSolution", "pb")
177177
handler.remove_handler_callback("PanelSolutionsDone", "pb")
178178
end,

0 commit comments

Comments
 (0)