提交 6ba28095 编写于 作者: R Rob Lourens

#57418 also for builtin non-EH search

上级 bc784b68
......@@ -238,11 +238,12 @@ export class TextSearchResult implements ITextSearchResult {
this.range = range;
if (previewOptions) {
const previewStart = Math.max(range.startColumn - previewOptions.leadingChars, 0);
const previewEnd = Math.max(previewOptions.totalChars + previewStart, range.endColumn);
const previewEnd = previewOptions.totalChars + previewStart;
const endOfMatchRangeInPreview = Math.min(previewEnd, range.endColumn - previewStart);
this.preview = {
text: fullLine.substring(previewStart, previewEnd),
match: new OneLineRange(0, range.startColumn - previewStart, range.endColumn - previewStart)
match: new OneLineRange(0, range.startColumn - previewStart, endOfMatchRangeInPreview)
};
} else {
this.preview = {
......
......@@ -94,4 +94,22 @@ suite('TextSearchResult', () => {
range: new OneLineRange(5, 30, 33)
});
});
test('truncating match', () => {
const previewOptions: ITextSearchPreviewOptions = {
leadingChars: 4,
maxLines: 1,
totalChars: 5
};
assert.deepEqual(
new TextSearchResult('foo bar', new OneLineRange(0, 4, 7), previewOptions),
<ITextSearchResult>{
preview: {
text: 'foo b',
match: new OneLineRange(0, 4, 5)
},
range: new OneLineRange(0, 4, 7)
});
});
});
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册