mirror of
https://github.com/Microsoft/vscode
synced 2024-09-18 01:58:27 +00:00
Write access problems are not handled clean (fixes #11504)
This commit is contained in:
parent
e12fc1103e
commit
41aa92e4c8
|
@ -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);
|
||||
}));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue