EOL sequences are now preserved between tabs

This commit is contained in:
n1474335 2022-10-28 12:24:16 +01:00
parent bdb8c02d5a
commit f6ae89587c
3 changed files with 34 additions and 3 deletions

View file

@ -470,6 +470,7 @@ class InputWaiter {
* @param {string} status
* @param {number} progress
* @param {number} encoding
* @param {string} eolSequence
* @param {boolean} [silent=false] - If false, fires the manager statechange event
*/
async set(inputNum, inputData, silent=false) {
@ -477,8 +478,16 @@ class InputWaiter {
const activeTab = this.manager.tabs.getActiveTab("input");
if (inputNum !== activeTab) return;
// Update current character encoding
this.inputChrEnc = inputData.encoding;
// Update current eol sequence
this.inputEditorView.dispatch({
effects: this.inputEditorConf.eol.reconfigure(
EditorState.lineSeparator.of(inputData.eolSequence)
)
});
if (inputData.file) {
this.setFile(inputNum, inputData);
} else {
@ -634,7 +643,8 @@ class InputWaiter {
inputNum: inputNum,
buffer: buffer,
stringSample: stringSample,
encoding: this.getChrEnc()
encoding: this.getChrEnc(),
eolSequence: this.inputEditorView.state.lineBreak
}
}, transferable);
}