Update close file logic to select prior if exists; bug fix in LSP regarding editor and assignment
This commit is contained in:
@@ -131,16 +131,26 @@ export class EditorsComponent {
|
||||
|
||||
for (let i = 0; i < editors.length; i++) {
|
||||
let editorComponent = editors[i];
|
||||
if (editorComponent.editor.session == file.session) {
|
||||
|
||||
if (editorComponent.editor.session !== file.session) continue;
|
||||
|
||||
let targetFile = this.filesService.getPreviousFile(file.path)
|
||||
if (targetFile) {
|
||||
editorComponent.assignSession(targetFile);
|
||||
if (activeComponent == editorComponent) {
|
||||
this.editorsService.miniMapView.cloneSession(targetFile);
|
||||
}
|
||||
} else {
|
||||
editorComponent.newFile();
|
||||
if (activeComponent == editorComponent) {
|
||||
this.editorsService.miniMapView.newFile();
|
||||
}
|
||||
editorComponent.newFile();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
activeComponent.lspManagerService.closeDocument(file.session);
|
||||
this.filesService.delete(file);
|
||||
this.filesService.unset(file);
|
||||
}
|
||||
|
||||
});
|
||||
|
@@ -42,7 +42,6 @@
|
||||
<div class="col">
|
||||
Target Editor: <label [innerText]="editor?.id || '...'"></label>
|
||||
</div>
|
||||
|
||||
<div class="col-sm" [hidden]="!lspManagerService.workspaceFolder">
|
||||
<button class="btn btn-sm btn-dark"
|
||||
(click)="registerEditorToLanguageClient()">
|
||||
|
@@ -37,8 +37,6 @@ export class LspManagerComponent {
|
||||
activeFile: any;
|
||||
|
||||
|
||||
|
||||
|
||||
constructor() {
|
||||
}
|
||||
|
||||
@@ -130,8 +128,8 @@ export class LspManagerComponent {
|
||||
}
|
||||
|
||||
private setActiveEditor(message: ServiceMessage) {
|
||||
this.editor = message.rawData.editor;
|
||||
this.activeFile = message.rawData.activeFile;
|
||||
this.editor = message.rawData.editor;
|
||||
this.activeFile = message.rawData.activeFile;
|
||||
|
||||
// TODO: figure out why this doesn't update the session consistently...
|
||||
// It seems maybe bound to visible state as change detector ref didn't help either.
|
||||
@@ -139,10 +137,11 @@ export class LspManagerComponent {
|
||||
}
|
||||
|
||||
private editorUpdate(message: ServiceMessage) {
|
||||
if (!this.editor) return;
|
||||
if (!message.rawData.activeFile) return;
|
||||
|
||||
this.editor.setSession(message.rawData.editor.getSession())
|
||||
this.activeFile = message.rawData.activeFile;
|
||||
this.activeFile = message.rawData.activeFile;
|
||||
|
||||
/*
|
||||
this.lspManagerService.setSessionFilePath(
|
||||
|
Reference in New Issue
Block a user