Skip to content

Commit 5a467da

Browse files
committed
pass in startLine, endLine, startCol
1 parent 18bafaf commit 5a467da

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

addons/addon-serialize/src/SerializeAddon.test.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,17 +149,19 @@ describe('SerializeAddon', () => {
149149
});
150150

151151
it('serializes rows within a provided range', async () => {
152-
await writeP(terminal, 'hello\r\nworld');
152+
await writeP(terminal, 'prompt>hello\r\nworld');
153153

154154
const output = serializeAddon.serializeAsHTML({
155155
range: {
156-
start: 0,
157-
end: 0
156+
startLine: 0,
157+
endLine: 0,
158+
startCol: 7
158159
}
159160
});
160161
const rowMatches = output.match(/<div><span>.*?<\/span><\/div>/g) || [];
161162
assert.equal(rowMatches.length, 1, output);
162163
assert.ok(rowMatches[0]?.includes('hello'));
164+
assert.ok(!output.includes('prompt>'));
163165
assert.ok(!output.includes('world'));
164166
});
165167

addons/addon-serialize/src/SerializeAddon.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,8 +453,8 @@ export class SerializeAddon implements ITerminalAddon , ISerializeApi {
453453
const range = options.range;
454454
if (range) {
455455
return handler.serialize({
456-
start: { x: 0, y: typeof range.start === 'number' ? range.start : range.start.line },
457-
end: { x: terminal.cols, y: typeof range.end === 'number' ? range.end : range.end.line }
456+
start: { x: range.startCol, y: typeof range.startLine === 'number' ? range.startLine : range.startLine },
457+
end: { x: terminal.cols, y: typeof range.endLine === 'number' ? range.endLine : range.endLine }
458458
});
459459
}
460460
if (!onlySelection) {

addons/addon-serialize/typings/addon-serialize.d.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,15 @@ declare module '@xterm/addon-serialize' {
9292
includeGlobalBackground: boolean;
9393

9494
/**
95-
* The row range to serialize. This is prioritized over {@link onlySelection}.
95+
* The range to serialize. This is prioritized over {@link onlySelection}.
9696
*/
97-
range?: ISerializeRange;
97+
range?: ISerializeBufferRange;
98+
}
99+
100+
export interface ISerializeBufferRange {
101+
startLine: number;
102+
endLine: number;
103+
startCol: number;
98104
}
99105

100106
export interface ISerializeRange {

0 commit comments

Comments
 (0)