mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-19 10:06:19 +01:00
Write access problems are not handled clean (fixes #11504)
This commit is contained in:
@@ -74,23 +74,25 @@ export class SaveErrorHandler implements ISaveErrorHandler {
|
||||
actions.push(new Action('workbench.files.action.saveAs', SaveFileAsAction.LABEL, null, true, () => {
|
||||
const saveAsAction = this.instantiationService.createInstance(SaveFileAsAction, SaveFileAsAction.ID, SaveFileAsAction.LABEL);
|
||||
saveAsAction.setResource(resource);
|
||||
saveAsAction.run().done(() => saveAsAction.dispose(), errors.onUnexpectedError);
|
||||
|
||||
return saveAsAction.run().then(() => { saveAsAction.dispose(); return true; });
|
||||
return TPromise.as(true);
|
||||
}));
|
||||
|
||||
// Discard
|
||||
actions.push(new Action('workbench.files.action.discard', nls.localize('discard', "Discard"), null, true, () => {
|
||||
const revertFileAction = this.instantiationService.createInstance(RevertFileAction, RevertFileAction.ID, RevertFileAction.LABEL);
|
||||
revertFileAction.setResource(resource);
|
||||
revertFileAction.run().done(() => revertFileAction.dispose(), errors.onUnexpectedError);
|
||||
|
||||
return revertFileAction.run().then(() => { revertFileAction.dispose(); return true; });
|
||||
return TPromise.as(true);
|
||||
}));
|
||||
|
||||
// Retry
|
||||
if (isReadonly) {
|
||||
actions.push(new Action('workbench.files.action.overwrite', nls.localize('overwrite', "Overwrite"), null, true, () => {
|
||||
if (!model.isDisposed()) {
|
||||
return model.save(true /* overwrite readonly */).then(() => true);
|
||||
model.save(true /* overwrite readonly */).done(null, errors.onUnexpectedError);
|
||||
}
|
||||
|
||||
return TPromise.as(true);
|
||||
@@ -99,8 +101,9 @@ export class SaveErrorHandler implements ISaveErrorHandler {
|
||||
actions.push(new Action('workbench.files.action.retry', nls.localize('retry', "Retry"), null, true, () => {
|
||||
const saveFileAction = this.instantiationService.createInstance(SaveFileAction, SaveFileAction.ID, SaveFileAction.LABEL);
|
||||
saveFileAction.setResource(resource);
|
||||
saveFileAction.run().done(() => saveFileAction.dispose(), errors.onUnexpectedError);
|
||||
|
||||
return saveFileAction.run().then(() => { saveFileAction.dispose(); return true; });
|
||||
return TPromise.as(true);
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user