UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

32 lines (31 loc) 1.39 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { basename } from '@sussudio/base/common/resources.mjs'; import { localize } from 'vscode-nls.mjs'; import { createDecorator } from '../../instantiation/common/instantiation.mjs'; export const IDialogService = createDecorator('dialogService'); export const IFileDialogService = createDecorator('fileDialogService'); const MAX_CONFIRM_FILES = 10; export function getFileNamesMessage(fileNamesOrResources) { const message = []; message.push( ...fileNamesOrResources .slice(0, MAX_CONFIRM_FILES) .map((fileNameOrResource) => typeof fileNameOrResource === 'string' ? fileNameOrResource : basename(fileNameOrResource), ), ); if (fileNamesOrResources.length > MAX_CONFIRM_FILES) { if (fileNamesOrResources.length - MAX_CONFIRM_FILES === 1) { message.push(localize('moreFile', '...1 additional file not shown')); } else { message.push( localize('moreFiles', '...{0} additional files not shown', fileNamesOrResources.length - MAX_CONFIRM_FILES), ); } } message.push(''); return message.join('\n'); }