mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Refresh master with initial release/0.24 snapshot (#332)
* Initial port of release/0.24 source code * Fix additional headers * Fix a typo in launch.json
This commit is contained in:
@@ -373,8 +373,8 @@ export function registerCompletionItemProvider(languageId: string, provider: Com
|
||||
let adapter = new SuggestAdapter(provider);
|
||||
return modes.SuggestRegistry.register(languageId, {
|
||||
triggerCharacters: provider.triggerCharacters,
|
||||
provideCompletionItems: (model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.ISuggestResult> => {
|
||||
return adapter.provideCompletionItems(model, position, token);
|
||||
provideCompletionItems: (model: editorCommon.IReadOnlyModel, position: Position, context: modes.SuggestContext, token: CancellationToken): Thenable<modes.ISuggestResult> => {
|
||||
return adapter.provideCompletionItems(model, position, context, token);
|
||||
},
|
||||
resolveCompletionItem: (model: editorCommon.IReadOnlyModel, position: Position, suggestion: modes.ISuggestion, token: CancellationToken): Thenable<modes.ISuggestion> => {
|
||||
return adapter.resolveCompletionItem(model, position, suggestion, token);
|
||||
@@ -482,6 +482,10 @@ export interface CompletionItem {
|
||||
* A human-readable string that represents a doc-comment.
|
||||
*/
|
||||
documentation?: string;
|
||||
/**
|
||||
* A command that should be run upon acceptance of this item.
|
||||
*/
|
||||
command?: modes.Command;
|
||||
/**
|
||||
* A string that should be used when comparing this item
|
||||
* with other items. When `falsy` the [label](#CompletionItem.label)
|
||||
@@ -537,6 +541,25 @@ export interface CompletionList {
|
||||
*/
|
||||
items: CompletionItem[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains additional information about the context in which
|
||||
* [completion provider](#CompletionItemProvider.provideCompletionItems) is triggered.
|
||||
*/
|
||||
export interface CompletionContext {
|
||||
/**
|
||||
* How the completion was triggered.
|
||||
*/
|
||||
triggerKind: modes.SuggestTriggerKind;
|
||||
|
||||
/**
|
||||
* Character that triggered the completion item provider.
|
||||
*
|
||||
* `undefined` if provider was not triggered by a character.
|
||||
*/
|
||||
triggerCharacter?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The completion item provider interface defines the contract between extensions and
|
||||
* the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
|
||||
@@ -553,7 +576,8 @@ export interface CompletionItemProvider {
|
||||
/**
|
||||
* Provide completion items for the given position and document.
|
||||
*/
|
||||
provideCompletionItems(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): CompletionItem[] | Thenable<CompletionItem[]> | CompletionList | Thenable<CompletionList>;
|
||||
provideCompletionItems(document: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken, context: CompletionContext): CompletionItem[] | Thenable<CompletionItem[]> | CompletionList | Thenable<CompletionList>;
|
||||
|
||||
/**
|
||||
* Given a completion item fill in more data, like [doc-comment](#CompletionItem.documentation)
|
||||
* or [details](#CompletionItem.detail).
|
||||
@@ -590,6 +614,7 @@ function convertKind(kind: CompletionItemKind): modes.SuggestionType {
|
||||
}
|
||||
return 'property';
|
||||
}
|
||||
|
||||
class SuggestAdapter {
|
||||
|
||||
private _provider: CompletionItemProvider;
|
||||
@@ -606,6 +631,7 @@ class SuggestAdapter {
|
||||
type: convertKind(item.kind),
|
||||
detail: item.detail,
|
||||
documentation: item.documentation,
|
||||
command: item.command,
|
||||
sortText: item.sortText,
|
||||
filterText: item.filterText,
|
||||
snippetType: 'internal'
|
||||
@@ -639,9 +665,9 @@ class SuggestAdapter {
|
||||
return suggestion;
|
||||
}
|
||||
|
||||
provideCompletionItems(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<modes.ISuggestResult> {
|
||||
|
||||
return toThenable<CompletionItem[] | CompletionList>(this._provider.provideCompletionItems(model, position, token)).then(value => {
|
||||
provideCompletionItems(model: editorCommon.IReadOnlyModel, position: Position, context: modes.SuggestContext, token: CancellationToken): Thenable<modes.ISuggestResult> {
|
||||
const result = this._provider.provideCompletionItems(model, position, token, context);
|
||||
return toThenable<CompletionItem[] | CompletionList>(result).then(value => {
|
||||
const result: modes.ISuggestResult = {
|
||||
suggestions: []
|
||||
};
|
||||
@@ -739,5 +765,6 @@ export function createMonacoLanguagesAPI(): typeof monaco.languages {
|
||||
CompletionItemKind: CompletionItemKind,
|
||||
SymbolKind: modes.SymbolKind,
|
||||
IndentAction: IndentAction,
|
||||
SuggestTriggerKind: modes.SuggestTriggerKind
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user