mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 09:35:39 -05:00
* Merge from vscode a348d103d1256a06a2c9b3f9b406298a9fef6898 * Fixes and cleanup * Distro * Fix hygiene yarn * delete no yarn lock changes file * Fix hygiene * Fix layer check * Fix CI * Skip lib checks * Remove tests deleted in vs code * Fix tests * Distro * Fix tests and add removed extension point * Skip failing notebook tests for now * Disable broken tests and cleanup build folder * Update yarn.lock and fix smoke tests * Bump sqlite * fix contributed actions and file spacing * Fix user data path * Update yarn.locks Co-authored-by: ADS Merger <karlb@microsoft.com>
61 lines
2.6 KiB
TypeScript
61 lines
2.6 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as vscode from 'vscode';
|
|
import * as nls from 'vscode-nls';
|
|
const localize = nls.loadMessageBundle();
|
|
|
|
|
|
export function provideInstalledExtensionProposals(existing: string[], additionalText: string, range: vscode.Range, includeBuiltinExtensions: boolean): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
|
|
if (Array.isArray(existing)) {
|
|
const extensions = includeBuiltinExtensions ? vscode.extensions.all : vscode.extensions.all.filter(e => !(e.id.startsWith('vscode.') || e.id === 'Microsoft.vscode-markdown'));
|
|
const knownExtensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);
|
|
if (knownExtensionProposals.length) {
|
|
return knownExtensionProposals.map(e => {
|
|
const item = new vscode.CompletionItem(e.id);
|
|
const insertText = `"${e.id}"${additionalText}`;
|
|
item.kind = vscode.CompletionItemKind.Value;
|
|
item.insertText = insertText;
|
|
item.range = range;
|
|
item.filterText = insertText;
|
|
return item;
|
|
});
|
|
} else {
|
|
const example = new vscode.CompletionItem(localize('exampleExtension', "Example"));
|
|
example.insertText = '"vscode.csharp"';
|
|
example.kind = vscode.CompletionItemKind.Value;
|
|
example.range = range;
|
|
return [example];
|
|
}
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
export function provideWorkspaceTrustExtensionProposals(existing: string[], range: vscode.Range): vscode.ProviderResult<vscode.CompletionItem[] | vscode.CompletionList> {
|
|
if (Array.isArray(existing)) {
|
|
const extensions = vscode.extensions.all.filter(e => e.packageJSON.main);
|
|
const extensionProposals = extensions.filter(e => existing.indexOf(e.id) === -1);
|
|
if (extensionProposals.length) {
|
|
return extensionProposals.map(e => {
|
|
const item = new vscode.CompletionItem(e.id);
|
|
const insertText = `"${e.id}": {\n\t"supported": false,\n\t"version": "${e.packageJSON.version}"\n}`;
|
|
item.kind = vscode.CompletionItemKind.Value;
|
|
item.insertText = insertText;
|
|
item.range = range;
|
|
item.filterText = insertText;
|
|
return item;
|
|
});
|
|
} else {
|
|
const example = new vscode.CompletionItem(localize('exampleExtension', "Example"));
|
|
example.insertText = '"vscode.csharp: {\n\t"supported": false,\n\t"version": "0.0.0"\n}`;"';
|
|
example.kind = vscode.CompletionItemKind.Value;
|
|
example.range = range;
|
|
return [example];
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|