Skip to content

Commit 96e1bb1

Browse files
committed
fix: issue on Linux and URIs
Fixes #486
1 parent 642d6e9 commit 96e1bb1

File tree

2 files changed

+35
-15
lines changed

2 files changed

+35
-15
lines changed

lua/copilot/panel/utils.lua

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
local M = {}
22

3-
local panel_uri_prefix = "copilot:///"
3+
local panel_uri_prefix = "copilot://"
44

55
---@return string panelUri
66
function M.panel_uri_from_doc_uri(doc_uri)
7-
return panel_uri_prefix .. vim.fs.normalize(vim.uri_to_fname(doc_uri))
7+
local fname = vim.uri_to_fname(doc_uri)
8+
9+
if vim.fn.has("win32") > 0 then
10+
fname = "/" .. fname
11+
end
12+
13+
return panel_uri_prefix .. vim.fs.normalize(fname)
814
end
915

1016
---@return string doc_uri
1117
function M.panel_uri_to_doc_uri(panel_uri)
12-
return panel_uri:gsub("^" .. panel_uri_prefix, "file:///")
18+
return panel_uri:gsub("^" .. panel_uri_prefix, "file://")
1319
end
1420

1521
---@param bufname string

tests/test_panel.lua

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
local eq = MiniTest.expect.equality
22
local child_helper = require("tests.child_helper")
33
local child = child_helper.new_child_neovim("test_panel")
4-
local reference_screenshot = MiniTest.expect.reference_screenshot
4+
-- local reference_screenshot = MiniTest.expect.reference_screenshot
55
local utils = require("copilot.panel.utils")
66

77
local T = MiniTest.new_set({
@@ -57,26 +57,40 @@ end
5757

5858
T["panel.utils()"] = MiniTest.new_set()
5959

60-
T["panel.utils()"]["panel_uri_from_doc_uri works"] = function()
61-
local panel_uri = "copilot:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua"
60+
T["panel.utils()"]["panel_uri_from_doc_uri"] = function()
61+
local panel_uri = ""
62+
63+
if vim.fn.has("win32") > 0 then
64+
panel_uri = "copilot:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua"
65+
else
66+
panel_uri = "copilot:///home/antoi/test.lua"
67+
end
68+
6269
local doc_uri = utils.panel_uri_to_doc_uri(panel_uri)
63-
eq(doc_uri, "file:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua")
70+
71+
if vim.fn.has("win32") > 0 then
72+
eq(doc_uri, "file:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua")
73+
else
74+
eq(doc_uri, "file:///home/antoi/test.lua")
75+
end
6476
end
6577

6678
T["panel.utils()"]["panel_uri_to_doc_uri"] = function()
67-
local doc_uri = "file:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua"
79+
local doc_uri = ""
80+
81+
if vim.fn.has("win32") > 0 then
82+
doc_uri = "file:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua"
83+
else
84+
doc_uri = "file:///home/antoi/test.lua"
85+
end
86+
6887
local panel_uri = utils.panel_uri_from_doc_uri(doc_uri)
6988

7089
-- Windows result
71-
if
72-
panel_uri == "copilot:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua"
73-
then
90+
if vim.fn.has("win32") > 0 then
7491
eq(panel_uri, "copilot:///C:/Users/antoi/AppData/Local/nvim-data/lazy/copilot.lua/lua/copilot/suggestion/init.lua")
7592
else
76-
eq(
77-
panel_uri,
78-
[[copilot:///C:\Users\antoi\AppData\Local\nvim-data\lazy\copilot.lua\lua\copilot\suggestion\init.lua]]
79-
)
93+
eq(panel_uri, "copilot:///home/antoi/test.lua")
8094
end
8195
end
8296

0 commit comments

Comments
 (0)