Skip to content

Commit 9fc0a1e

Browse files
committed
test(data): add mentions with ranges replay test
1 parent e274f74 commit 9fc0a1e

File tree

2 files changed

+183
-0
lines changed

2 files changed

+183
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"extmarks":[[1,2,0,{"virt_text":[["▌󰭻 ","OpencodeMessageRoleUser"],[" "],["USER","OpencodeMessageRoleUser"],["","OpencodeHint"],[" (2025-10-12 23:38:21)","OpencodeHint"],[" [msg_9daca16bf0017x95VD45mw3k8Q]","OpencodeHint"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":false,"virt_text_win_col":-3,"priority":10,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[2,3,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[3,4,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[4,4,5,{"ns_id":3,"end_row":4,"hl_group":"OpencodeMention","end_col":44,"priority":1000,"hl_eol":false,"right_gravity":true,"end_right_gravity":false}],[5,5,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[6,6,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[7,6,23,{"ns_id":3,"end_row":6,"hl_group":"OpencodeMention","end_col":48,"priority":1000,"hl_eol":false,"right_gravity":true,"end_right_gravity":false}],[8,7,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[9,8,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[10,9,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[11,10,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[12,11,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[13,12,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[14,13,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[15,14,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[16,15,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[17,16,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[18,17,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[19,18,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[20,19,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[21,20,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[22,21,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}],[23,22,0,{"virt_text":[["▌","OpencodeMessageRoleUser"]],"virt_text_pos":"win_col","virt_text_repeat_linebreak":true,"virt_text_win_col":-3,"priority":4096,"virt_text_hide":false,"right_gravity":true,"ns_id":3}]],"lines":["","----","","","when @lua/opencode/ui/streaming_renderer.lua renders a diff, only the first character, the + has the extmark. the rest of the line doesn't seem to have the highlight?","","here's an example from @tests/data/planning.json","","** edit** `diff-test.txt`","","```txt","-this is a string","+this is a great string","","```","","the - and the + are highlighted in the right color but none of the text is. any ideas?","","[lua/opencode/ui/streaming_renderer.lua](lua/opencode/ui/streaming_renderer.lua)","","[tests/data/planning.json](tests/data/planning.json)","","[lua/opencode/ui/session_formatter.lua](lua/opencode/ui/session_formatter.lua)",""],"timestamp":1761108491,"actions":[]}
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
[
2+
{
3+
"properties": {},
4+
"type": "server.connected"
5+
},
6+
{
7+
"properties": {
8+
"info": {
9+
"role": "user",
10+
"time": {
11+
"created": 1760312301247
12+
},
13+
"id": "msg_9daca16bf0017x95VD45mw3k8Q",
14+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
15+
}
16+
},
17+
"type": "message.updated"
18+
},
19+
{
20+
"properties": {
21+
"part": {
22+
"type": "text",
23+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
24+
"text": "when @lua/opencode/ui/streaming_renderer.lua renders a diff, only the first character, the + has the extmark. the rest of the line doesn't seem to have the highlight?\n\nhere's an example from @tests/data/planning.json\n\n** edit** `diff-test.txt`\n\n```txt\n-this is a string\n+this is a great string\n\n```\n\nthe - and the + are highlighted in the right color but none of the text is. any ideas?",
25+
"id": "prt_9daca16bf0022KbzVMI7i65MRT",
26+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
27+
}
28+
},
29+
"type": "message.part.updated"
30+
},
31+
{
32+
"properties": {
33+
"part": {
34+
"synthetic": true,
35+
"type": "text",
36+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
37+
"text": "Called the Read tool with the following input: {\"filePath\":\"/Users/cam/Dev/neovim-dev/opencode.nvim/lua/opencode/ui/streaming_renderer.lua\"}",
38+
"id": "prt_9daca16c2001opnx6HTUdEAJaV",
39+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
40+
}
41+
},
42+
"type": "message.part.updated"
43+
},
44+
{
45+
"properties": {
46+
"part": {
47+
"synthetic": true,
48+
"type": "text",
49+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
50+
"text": "test",
51+
"id": "prt_9daca16c2002SJNzz49CNIFyyl",
52+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
53+
}
54+
},
55+
"type": "message.part.updated"
56+
},
57+
{
58+
"properties": {
59+
"part": {
60+
"source": {
61+
"path": "/Users/cam/Dev/neovim-dev/opencode.nvim/lua/opencode/ui/streaming_renderer.lua",
62+
"type": "file",
63+
"text": {
64+
"value": "@lua/opencode/ui/streaming_renderer.lua",
65+
"end": 43,
66+
"start": 5
67+
}
68+
},
69+
"type": "file",
70+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
71+
"url": "file:///Users/cam/Dev/neovim-dev/opencode.nvim/lua/opencode/ui/streaming_renderer.lua",
72+
"filename": "lua/opencode/ui/streaming_renderer.lua",
73+
"id": "prt_9daca16c2003hMotbE5rccrYoN",
74+
"mime": "text/plain",
75+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
76+
}
77+
},
78+
"type": "message.part.updated"
79+
},
80+
{
81+
"properties": {
82+
"part": {
83+
"synthetic": true,
84+
"type": "text",
85+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
86+
"text": "Called the Read tool with the following input: {\"filePath\":\"/Users/cam/Dev/neovim-dev/opencode.nvim/tests/data/planning.json\"}",
87+
"id": "prt_9daca16c3001bZ9uR15m68W1TM",
88+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
89+
}
90+
},
91+
"type": "message.part.updated"
92+
},
93+
{
94+
"properties": {
95+
"part": {
96+
"synthetic": true,
97+
"type": "text",
98+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
99+
"text": "test",
100+
"id": "prt_9daca16c30024lnVaBquSAsD4l",
101+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
102+
}
103+
},
104+
"type": "message.part.updated"
105+
},
106+
{
107+
"properties": {
108+
"part": {
109+
"source": {
110+
"path": "/Users/cam/Dev/neovim-dev/opencode.nvim/tests/data/planning.json",
111+
"type": "file",
112+
"text": {
113+
"value": "@tests/data/planning.json",
114+
"end": 215,
115+
"start": 191
116+
}
117+
},
118+
"type": "file",
119+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
120+
"url": "file:///Users/cam/Dev/neovim-dev/opencode.nvim/tests/data/planning.json",
121+
"filename": "tests/data/planning.json",
122+
"id": "prt_9daca16c3003EkkIdX54sm9uix",
123+
"mime": "text/plain",
124+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
125+
}
126+
},
127+
"type": "message.part.updated"
128+
},
129+
{
130+
"properties": {
131+
"part": {
132+
"synthetic": true,
133+
"type": "text",
134+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
135+
"text": "Called the Read tool with the following input: {\"filePath\":\"/Users/cam/Dev/neovim-dev/opencode.nvim/lua/opencode/ui/session_formatter.lua\"}",
136+
"id": "prt_9daca16c2004dgt3o9FT1BUWPZ",
137+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
138+
}
139+
},
140+
"type": "message.part.updated"
141+
},
142+
{
143+
"properties": {
144+
"part": {
145+
"synthetic": true,
146+
"type": "text",
147+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
148+
"text": "test",
149+
"id": "prt_9daca16c2005WSv0B6gfUZmoVK",
150+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
151+
}
152+
},
153+
"type": "message.part.updated"
154+
},
155+
{
156+
"properties": {
157+
"part": {
158+
"type": "file",
159+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
160+
"url": "file:///Users/cam/Dev/neovim-dev/opencode.nvim/lua/opencode/ui/session_formatter.lua",
161+
"filename": "lua/opencode/ui/session_formatter.lua",
162+
"id": "prt_9daca16c2006W0Z6M3NVKB8rQv",
163+
"mime": "text/plain",
164+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
165+
}
166+
},
167+
"type": "message.part.updated"
168+
},
169+
{
170+
"properties": {
171+
"part": {
172+
"synthetic": true,
173+
"type": "text",
174+
"messageID": "msg_9daca16bf0017x95VD45mw3k8Q",
175+
"text": "{\"context_type\":\"diagnostics\",\"content\":\"Found 2 errors:\\n Line 607: Undefined field `callID`.\\n Line 179: Undefined field `info`.\"}",
176+
"id": "prt_9daca16bf0037QOQWJXBLwJimF",
177+
"sessionID": "ses_62582b05affe1Z3mvuBraNHkzT"
178+
}
179+
},
180+
"type": "message.part.updated"
181+
}
182+
]

0 commit comments

Comments
 (0)