mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-01 22:12:26 +01:00
Git - remove git.experimental.inputValidation setting (#205550)
* Git - remove git.experimental.inputValidation setting * Fix compilation error * Fix migration code
This commit is contained in:
@@ -21,14 +21,38 @@ export class GitCommitInputBoxDiagnosticsManager {
|
||||
constructor(private readonly model: Model) {
|
||||
this.diagnostics = languages.createDiagnosticCollection();
|
||||
|
||||
mapEvent(filterEvent(workspace.onDidChangeTextDocument, e => e.document.uri.scheme === 'vscode-scm'), e => e.document)(this.onDidChangeTextDocument, this, this.disposables);
|
||||
filterEvent(workspace.onDidChangeConfiguration, e => e.affectsConfiguration('git.experimental.inputValidation'))(this.onDidChangeConfiguration, this, this.disposables);
|
||||
this.migrateInputValidationSettings()
|
||||
.then(() => {
|
||||
mapEvent(filterEvent(workspace.onDidChangeTextDocument, e => e.document.uri.scheme === 'vscode-scm'), e => e.document)(this.onDidChangeTextDocument, this, this.disposables);
|
||||
filterEvent(workspace.onDidChangeConfiguration, e => e.affectsConfiguration('git.inputValidation'))(this.onDidChangeConfiguration, this, this.disposables);
|
||||
});
|
||||
}
|
||||
|
||||
public getDiagnostics(uri: Uri): ReadonlyArray<Diagnostic> {
|
||||
return this.diagnostics.get(uri) ?? [];
|
||||
}
|
||||
|
||||
private async migrateInputValidationSettings(): Promise<void> {
|
||||
try {
|
||||
const config = workspace.getConfiguration('git');
|
||||
const inputValidation = config.inspect<'always' | 'warn' | 'off' | boolean>('inputValidation');
|
||||
|
||||
if (inputValidation === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Workspace setting
|
||||
if (typeof inputValidation.workspaceValue === 'string') {
|
||||
await config.update('inputValidation', inputValidation.workspaceValue !== 'off', false);
|
||||
}
|
||||
|
||||
// User setting
|
||||
if (typeof inputValidation.globalValue === 'string') {
|
||||
await config.update('inputValidation', inputValidation.workspaceValue !== 'off', true);
|
||||
}
|
||||
} catch { }
|
||||
}
|
||||
|
||||
private onDidChangeConfiguration(): void {
|
||||
for (const repository of this.model.repositories) {
|
||||
this.onDidChangeTextDocument(repository.inputBox.document);
|
||||
@@ -37,7 +61,7 @@ export class GitCommitInputBoxDiagnosticsManager {
|
||||
|
||||
private onDidChangeTextDocument(document: TextDocument): void {
|
||||
const config = workspace.getConfiguration('git');
|
||||
const inputValidation = config.get<boolean>('experimental.inputValidation', false) === true;
|
||||
const inputValidation = config.get<boolean>('inputValidation', false);
|
||||
if (!inputValidation) {
|
||||
this.diagnostics.set(document.uri, undefined);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user