Skip to content

Commit 73fcde8

Browse files
author
Benjamin Pasero
committed
fix broken language mode after saving untitled (fix microsoft#86971)
1 parent da76552 commit 73fcde8

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

src/vs/workbench/services/textfile/browser/textFileService.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,12 @@ export abstract class AbstractTextFileService extends Disposable implements ITex
433433
modelToRestoreResource = joinPath(target, sourceModelResource.path.substr(source.path.length + 1));
434434
}
435435

436-
const modelToRestore: ModelToRestore = { resource: modelToRestoreResource, encoding: sourceModel.getEncoding(), mode: sourceModel.textEditorModel?.getModeId() };
436+
let mode: string | undefined = sourceModel.textEditorModel?.getModeId();
437+
if (mode === PLAINTEXT_MODE_ID) {
438+
mode = undefined; // never enforce plain text mode when moving as it is unspecific
439+
}
440+
441+
const modelToRestore: ModelToRestore = { resource: modelToRestoreResource, encoding: sourceModel.getEncoding(), mode };
437442
if (sourceModel.isDirty()) {
438443
modelToRestore.snapshot = sourceModel.createSnapshot();
439444
}
@@ -766,7 +771,12 @@ export abstract class AbstractTextFileService extends Disposable implements ITex
766771
await this.create(target, '');
767772
}
768773

769-
targetModel = await this.models.loadOrCreate(target, { encoding: sourceModel.getEncoding(), mode: sourceModel.textEditorModel?.getModeId() });
774+
let mode: string | undefined = sourceModel.textEditorModel?.getModeId();
775+
if (mode === PLAINTEXT_MODE_ID) {
776+
mode = undefined; // never enforce plain text mode when moving as it is unspecific
777+
}
778+
779+
targetModel = await this.models.loadOrCreate(target, { encoding: sourceModel.getEncoding(), mode });
770780
}
771781

772782
try {

0 commit comments

Comments
 (0)