当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript SuggestRegistry.register方法代码示例

本文整理汇总了TypeScript中vs/editor/common/modes.SuggestRegistry.register方法的典型用法代码示例。如果您正苦于以下问题:TypeScript SuggestRegistry.register方法的具体用法?TypeScript SuggestRegistry.register怎么用?TypeScript SuggestRegistry.register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vs/editor/common/modes.SuggestRegistry的用法示例。


在下文中一共展示了SuggestRegistry.register方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: test

	test('#21484: Trigger character always force a new completion session', function () {

		disposables.push(SuggestRegistry.register({ scheme: 'test' }, {
			provideCompletionItems(doc, pos): ISuggestResult {
				return {
					incomplete: false,
					suggestions: [{
						label: 'foo.bar',
						type: 'property',
						insertText: 'foo.bar',
						overwriteBefore: pos.column - 1
					}]
				};
			}
		}));

		disposables.push(SuggestRegistry.register({ scheme: 'test' }, {
			triggerCharacters: ['.'],
			provideCompletionItems(doc, pos): ISuggestResult {
				return {
					incomplete: false,
					suggestions: [{
						label: 'boom',
						type: 'property',
						insertText: 'boom',
						overwriteBefore: doc.getLineContent(pos.lineNumber)[pos.column - 2] === '.' ? 0 : pos.column - 1
					}]
				};
			}
		}));

		model.setValue('');

		return withOracle((model, editor) => {

			return assertEvent(model.onDidSuggest, () => {
				editor.setPosition({ lineNumber: 1, column: 1 });
				editor.trigger('keyboard', Handler.Type, { text: 'foo' });

			}, event => {
				assert.equal(event.auto, true);
				assert.equal(event.completionModel.items.length, 1);
				const [first] = event.completionModel.items;
				assert.equal(first.suggestion.label, 'foo.bar');

				return assertEvent(model.onDidSuggest, () => {
					editor.trigger('keyboard', Handler.Type, { text: '.' });

				}, event => {
					assert.equal(event.auto, true);
					assert.equal(event.completionModel.items.length, 2);
					const [first, second] = event.completionModel.items;
					assert.equal(first.suggestion.label, 'foo.bar');
					assert.equal(second.suggestion.label, 'boom');
				});
			});
		});
	});
开发者ID:SeanKilleen,项目名称:vscode,代码行数:58,代码来源:suggestModel.test.ts

示例2: test

	test('only from', function () {

		const foo: any = {
			triggerCharacters: [],
			provideCompletionItems() {
				return {
					currentWord: '',
					incomplete: false,
					suggestions: [{
						label: 'jjj',
						type: 'property',
						insertText: 'jjj'
					}]
				};
			}
		};
		const registration = SuggestRegistry.register({ pattern: 'bar/path', scheme: 'foo' }, foo);

		provideSuggestionItems(model, new Position(1, 1), undefined, [foo]).then(items => {
			registration.dispose();

			assert.equal(items.length, 1);
			assert.ok(items[0].support === foo);
		});
	});
开发者ID:developers23,项目名称:vscode,代码行数:25,代码来源:suggest.test.ts

示例3: setup

	setup(function () {

		model = Model.createFromString('FOO\nbar\BAR\nfoo', undefined, undefined, URI.parse('foo:bar/path'));
		registration = SuggestRegistry.register({ pattern: 'bar/path' }, {
			triggerCharacters: [],
			shouldAutotriggerSuggest: true,
			provideCompletionItems() {
				return [{
					currentWord: '',
					incomplete: false,
					suggestions: [{
						label: 'aaa',
						type: 'snippet',
						codeSnippet: 'aaa'
					}, {
							label: 'zzz',
							type: 'snippet',
							codeSnippet: 'zzz'
						}, {
							label: 'fff',
							type: 'property',
							codeSnippet: 'fff'
						}]
				}];
			}
		});
	});
开发者ID:ChristianAlexander,项目名称:vscode,代码行数:27,代码来源:suggest.test.ts

示例4: test

	test('Backspace should not always cancel code completion, #36491', function () {
		disposables.push(SuggestRegistry.register({ scheme: 'test' }, alwaysSomethingSupport));

		return withOracle(async (model, editor) => {
			await assertEvent(model.onDidSuggest, () => {
				editor.setPosition({ lineNumber: 1, column: 4 });
				editor.trigger('keyboard', Handler.Type, { text: 'd' });

			}, event => {
				assert.equal(event.auto, true);
				assert.equal(event.completionModel.items.length, 1);
				const [first] = event.completionModel.items;

				assert.equal(first.support, alwaysSomethingSupport);
			});

			await assertEvent(model.onDidSuggest, () => {
				CoreEditingCommands.DeleteLeft.runEditorCommand(null, editor, null);

			}, event => {
				assert.equal(event.auto, true);
				assert.equal(event.completionModel.items.length, 1);
				const [first] = event.completionModel.items;

				assert.equal(first.support, alwaysSomethingSupport);
			});
		});
	});
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:28,代码来源:suggestModel.test.ts


注:本文中的vs/editor/common/modes.SuggestRegistry.register方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。