本文整理汇总了TypeScript中vs/editor/common/editorCommonExtensions.CommonEditorRegistry.registerDefaultLanguageCommand方法的典型用法代码示例。如果您正苦于以下问题:TypeScript CommonEditorRegistry.registerDefaultLanguageCommand方法的具体用法?TypeScript CommonEditorRegistry.registerDefaultLanguageCommand怎么用?TypeScript CommonEditorRegistry.registerDefaultLanguageCommand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vs/editor/common/editorCommonExtensions.CommonEditorRegistry
的用法示例。
在下文中一共展示了CommonEditorRegistry.registerDefaultLanguageCommand方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: sequence
}
});
}
};
});
return sequence(factory).then((values): WorkspaceEdit => {
let result = values[0];
if (rejects.length > 0) {
return {
edits: undefined,
rejectReason: rejects.join('\n')
};
} else if (!result) {
return {
edits: undefined,
rejectReason: localize('no result', "No result.")
};
} else {
return result;
}
});
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeDocumentRenameProvider', function(model, position, args) {
let {newName} = args;
if (typeof newName !== 'string') {
throw illegalArgument('newName');
}
return rename(model, position, newName);
});
示例2: illegalArgument
if (!(resource instanceof URI) || !Range.isIRange(range)) {
throw illegalArgument();
}
const model = accessor.get(IModelService).getModel(resource);
if (!model) {
throw illegalArgument('resource');
}
return getDocumentRangeFormattingEdits(model, Range.lift(range), options);
});
CommonEditorRegistry.registerLanguageCommand('_executeFormatDocumentProvider', function (accessor, args) {
const { resource, options } = args;
if (!(resource instanceof URI)) {
throw illegalArgument('resource');
}
const model = accessor.get(IModelService).getModel(resource);
if (!model) {
throw illegalArgument('resource');
}
return getDocumentFormattingEdits(model, options);
});
CommonEditorRegistry.registerDefaultLanguageCommand('_executeFormatOnTypeProvider', function (model, position, args) {
const { ch, options } = args;
if (typeof ch !== 'string') {
throw illegalArgument('ch');
}
return getOnTypeFormattingEdits(model, position, ch, options);
});
示例3: sequence
for (let value of values) {
if (Array.isArray(value) && value.length > 0) {
suggestions.push(value);
}
}
});
};
});
return sequence(factory).then(() => {
// add snippets to the first group
const snippets = SnippetsRegistry.getSnippets(model, position);
if (suggestions.length === 0) {
suggestions.push([snippets]);
} else {
suggestions[0].push(snippets);
}
return suggestions;
});
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeCompletionItemProvider', (model, position, args) => {
let triggerCharacter = args['triggerCharacter'];
if (typeof triggerCharacter !== 'undefined' && typeof triggerCharacter !== 'string') {
throw illegalArgument('triggerCharacter');
}
return suggest(model, position, triggerCharacter);
});
示例4: provideSignatureHelp
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import {TPromise} from 'vs/base/common/winjs.base';
import {IModel, IEditorPosition} from 'vs/editor/common/editorCommon';
import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
import {SignatureHelp, SignatureHelpProviderRegistry} from 'vs/editor/common/modes';
import {CancellationToken} from 'vs/base/common/cancellation';
import {toThenable} from 'vs/base/common/async';
export function provideSignatureHelp(model:IModel, position:IEditorPosition, cancellationToken = CancellationToken.None): Thenable<SignatureHelp> {
let support = SignatureHelpProviderRegistry.ordered(model)[0];
if (!support) {
return TPromise.as(undefined);
}
return toThenable(support.provideSignatureHelp(model, position, cancellationToken));
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeSignatureHelpProvider', provideSignatureHelp);
示例5: defaultComparator
}
} else {
return defaultComparator(a, b);
}
}
function snippetDownComparator(a: ISuggestionItem, b: ISuggestionItem): number {
if (a.suggestion.type !== b.suggestion.type) {
if (a.suggestion.type === 'snippet') {
return 1;
} else if (b.suggestion.type === 'snippet') {
return -1;
}
} else {
return defaultComparator(a, b);
}
}
if (options.snippetConfig === 'top') {
return snippetUpComparator;
} else if (options.snippetConfig === 'bottom') {
return snippetDownComparator;
} else {
return defaultComparator;
}
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeCompletionItemProvider', (model, position, args) => {
return provideSuggestionItems(model, position);
});
示例6: provideHover
import {TPromise} from 'vs/base/common/winjs.base';
import {IReadOnlyModel, IEditorPosition} from 'vs/editor/common/editorCommon';
import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
import {Hover, HoverProviderRegistry} from 'vs/editor/common/modes';
import {CancellationToken} from 'vs/base/common/cancellation';
import {toThenable} from 'vs/base/common/async';
export function provideHover(model: IReadOnlyModel, position: IEditorPosition, cancellationToken = CancellationToken.None): Thenable<Hover[]> {
const supports = HoverProviderRegistry.ordered(model);
const values: Hover[] = [];
const promises = supports.map((support, idx) => {
return toThenable(support.provideHover(model, position, cancellationToken)).then(result => {
if (result) {
let hasRange = (typeof result.range !== 'undefined');
let hasHtmlContent = (typeof result.htmlContent !== 'undefined' && result.htmlContent && result.htmlContent.length > 0);
if (hasRange && hasHtmlContent) {
values[idx] = result;
}
}
}, err => {
onUnexpectedError(err);
});
});
return TPromise.join(promises).then(() => coalesce(values));
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeHoverProvider', provideHover);
示例7: defaultComparator
return defaultComparator(a, b);
}
export function getSuggestionComparator(snippetConfig: SnippetConfig): (a: ISuggestionItem, b: ISuggestionItem) => number {
if (snippetConfig === 'top') {
return snippetUpComparator;
} else if (snippetConfig === 'bottom') {
return snippetDownComparator;
} else {
return defaultComparator;
}
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeCompletionItemProvider', (model, position, args) => {
const result: ISuggestResult = {
incomplete: false,
suggestions: []
};
return provideSuggestionItems(model, position).then(items => {
for (const {container, suggestion} of items) {
result.incomplete = result.incomplete || container.incomplete;
result.suggestions.push(suggestion);
}
return result;
});
});
示例8: getDeclarationsAtPosition
export function getDeclarationsAtPosition(model: IReadOnlyModel, position: IEditorPosition): TPromise<Location[]> {
const provider = DefinitionProviderRegistry.ordered(model);
// get results
const promises = provider.map((provider, idx) => {
return asWinJsPromise((token) => {
return provider.provideDefinition(model, position, token);
}).then(result => {
return result;
}, err => {
onUnexpectedError(err);
});
});
return TPromise.join(promises).then(allReferences => {
let result: Location[] = [];
for (let references of allReferences) {
if (Array.isArray(references)) {
result.push(...references);
} else if (references) {
result.push(references);
}
}
return result;
});
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeDefinitionProvider', getDeclarationsAtPosition);
示例9: onUnexpectedExternalError
}).then(result => {
return result;
}, err => {
onUnexpectedExternalError(err);
});
});
return outputResults(promises);
}
export function getDefinitionsAtPosition(model: IReadOnlyModel, position: Position): TPromise<Location[]> {
return getDefinitions(model, position, DefinitionProviderRegistry, (provider, model, position, token) => {
return provider.provideDefinition(model, position, token);
});
}
export function getImplementationsAtPosition(model: IReadOnlyModel, position: Position): TPromise<Location[]> {
return getDefinitions(model, position, ImplementationProviderRegistry, (provider, model, position, token) => {
return provider.provideImplementation(model, position, token);
});
}
export function getTypeDefinitionsAtPosition(model: IReadOnlyModel, position: Position): TPromise<Location[]> {
return getDefinitions(model, position, TypeDefinitionProviderRegistry, (provider, model, position, token) => {
return provider.provideTypeDefinition(model, position, token);
});
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeDefinitionProvider', getDefinitionsAtPosition);
CommonEditorRegistry.registerDefaultLanguageCommand('_executeImplementationProvider', getImplementationsAtPosition);
CommonEditorRegistry.registerDefaultLanguageCommand('_executeTypeDefinitionProvider', getTypeDefinitionsAtPosition);
示例10: getExtraInfoAtPosition
import {TPromise} from 'vs/base/common/winjs.base';
import {IModel, IEditorPosition} from 'vs/editor/common/editorCommon';
import {CommonEditorRegistry} from 'vs/editor/common/editorCommonExtensions';
import {Hover, ExtraInfoRegistry} from 'vs/editor/common/modes';
import {CancellationToken} from 'vs/base/common/cancellation';
import {toThenable} from 'vs/base/common/async';
export function getExtraInfoAtPosition(model: IModel, position: IEditorPosition, cancellationToken = CancellationToken.None): Thenable<Hover[]> {
const supports = ExtraInfoRegistry.ordered(model);
const values: Hover[] = [];
const promises = supports.map((support, idx) => {
return toThenable(support.provideHover(model, position, cancellationToken)).then(result => {
if (result) {
let hasRange = (typeof result.range !== 'undefined');
let hasHtmlContent = (typeof result.htmlContent !== 'undefined' && result.htmlContent && result.htmlContent.length > 0);
if (hasRange && hasHtmlContent) {
values[idx] = result;
}
}
}, err => {
onUnexpectedError(err);
});
});
return TPromise.join(promises).then(() => coalesce(values));
}
CommonEditorRegistry.registerDefaultLanguageCommand('_executeHoverProvider', getExtraInfoAtPosition);