extensions/typescript-language-features/src/languageFeatures/updatePathsOnRename.ts/UpdateImportsOnFileRenameHandler/promptUser
class UpdateImportsOnFileRenameHandler:	private async promptUser(newResources: readonly vscode.Uri[]): Promise<boolean> {
		if (!newResources.length) {
			return false;
		}

		const rejectItem: vscode.MessageItem = {
			title: vscode.l10n.t("No"),
			isCloseAffordance: true,
		};

		const acceptItem: vscode.MessageItem = {
			title: vscode.l10n.t("Yes"),
		};

		const alwaysItem: vscode.MessageItem = {
			title: vscode.l10n.t("Always automatically update imports"),
		};

		const neverItem: vscode.MessageItem = {
			title: vscode.l10n.t("Never automatically update imports"),
		};

		const response = await vscode.window.showInformationMessage(
			newResources.length === 1
				? vscode.l10n.t("Update imports for '{0}'?", path.basename(newResources[0].fsPath))
				: this.getConfirmMessage(vscode.l10n.t("Update imports for the following {0} files?", newResources.length), newResources), {
			modal: true,
		}, rejectItem, acceptItem, alwaysItem, neverItem);


		switch (response) {
			case acceptItem: {
				return true;
			}
			case rejectItem: {
				return false;
			}
			case alwaysItem: {
				const config = this.getConfiguration(newResources[0]);
				config.update(
					updateImportsOnFileMoveName,
					UpdateImportsOnFileMoveSetting.Always,
					this.getConfigTargetScope(config, updateImportsOnFileMoveName));
				return true;
			}
			case neverItem:
				{
					const config = this.getConfiguration(newResources[0]);
					config.update(
						updateImportsOnFileMoveName,
						UpdateImportsOnFileMoveSetting.Never,
						this.getConfigTargetScope(config, updateImportsOnFileMoveName));
					return false;
				}
			default: {
				return false;
			}
		}
	}