Skip to content

Commit 4e8450a

Browse files
committed
1 parent 2e0f560 commit 4e8450a

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

src/vs/editor/contrib/inlineCompletions/suggestWidgetInlineCompletionProvider.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,13 @@ export class SuggestWidgetInlineCompletionProvider extends Disposable {
190190
}
191191
}
192192

193-
function rangeStartsWith(rangeToTest: Range, prefix: Range): boolean {
193+
export function rangeStartsWith(rangeToTest: Range, prefix: Range): boolean {
194194
return (
195-
rangeToTest.startLineNumber === prefix.startLineNumber &&
196-
rangeToTest.startColumn === prefix.startColumn &&
197-
(rangeToTest.endLineNumber < prefix.endLineNumber ||
198-
(rangeToTest.endLineNumber === prefix.endLineNumber &&
199-
rangeToTest.endColumn <= prefix.endColumn))
195+
prefix.startLineNumber === rangeToTest.startLineNumber &&
196+
prefix.startColumn === rangeToTest.startColumn &&
197+
(prefix.endLineNumber < rangeToTest.endLineNumber ||
198+
(prefix.endLineNumber === rangeToTest.endLineNumber &&
199+
prefix.endColumn <= rangeToTest.endColumn))
200200
);
201201
}
202202

src/vs/editor/contrib/inlineCompletions/test/suggestWidgetModel.test.ts

+12
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,20 @@ import { createTextModel } from 'vs/editor/test/common/editorTestUtils';
3232
import { ILabelService } from 'vs/platform/label/common/label';
3333
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
3434
import { minimizeInlineCompletion } from 'vs/editor/contrib/inlineCompletions/inlineCompletionsModel';
35+
import { rangeStartsWith } from 'vs/editor/contrib/inlineCompletions/suggestWidgetInlineCompletionProvider';
3536

3637
suite('Suggest Widget Model', () => {
38+
test('rangeStartsWith', () => {
39+
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 1, 1)), true);
40+
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 10, 5)), true);
41+
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 10, 4)), true);
42+
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 9, 6)), true);
43+
44+
assert.strictEqual(rangeStartsWith(new Range(2, 1, 10, 5), new Range(1, 1, 10, 5)), false);
45+
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 10, 6)), false);
46+
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 11, 4)), false);
47+
});
48+
3749
test('Active', async () => {
3850
await withAsyncTestCodeEditorAndInlineCompletionsModel('',
3951
{ fakeClock: true, provider, },

0 commit comments

Comments
 (0)