Skip to content

Commit 96669d7

Browse files
authored
fix(permission_window): split multiline patterns (#262)
1 parent 3ef4e8d commit 96669d7

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

lua/opencode/ui/permission_window.lua

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,11 @@ function M.format_display(output)
130130
table.insert(content, (icons.get(perm_type)) .. ' *' .. perm_type .. '* `' .. permission.title .. '`')
131131
else
132132
table.insert(content, (icons.get(perm_type)) .. ' *' .. perm_type .. '*')
133-
local lines = permission.patterns or {}
134133
table.insert(content, string.format('```%s', perm_type))
135-
for i, line in ipairs(lines) do
136-
table.insert(content, line)
134+
for _, pattern in ipairs(permission.patterns or {}) do
135+
for _, line in ipairs(vim.split(pattern, '\n')) do
136+
table.insert(content, line)
137+
end
137138
end
138139
table.insert(content, '```')
139140
end

tests/unit/permission_window_spec.lua

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,14 @@ describe('permission_window', function()
4242

4343
assert.is_not_nil(captured_opts)
4444
assert.is_not_nil(captured_opts.content)
45-
assert.are.equal(5, #captured_opts.content)
45+
assert.are.equal(7, #captured_opts.content)
4646
assert.is_true(captured_opts.content[1]:find('*bash*', 1, true) ~= nil)
4747
assert.are.equal('```bash', captured_opts.content[2])
48-
assert.are.equal("python3 - <<'PY'\nprint('hello')\nPY", captured_opts.content[3])
49-
assert.are.equal('```', captured_opts.content[4])
50-
assert.are.equal('', captured_opts.content[5])
48+
assert.are.equal("python3 - <<'PY'", captured_opts.content[3])
49+
assert.are.equal("print('hello')", captured_opts.content[4])
50+
assert.are.equal('PY', captured_opts.content[5])
51+
assert.are.equal('```', captured_opts.content[6])
52+
assert.are.equal('', captured_opts.content[7])
5153
end)
5254

5355
it('displays description when available', function()

0 commit comments

Comments
 (0)