Disposed the services on unmounting
This commit is contained in:
parent
dbf6763a99
commit
454bd49df9
|
@ -35,7 +35,17 @@ const RijuEditor = (props) => {
|
||||||
servicesDisposable = null;
|
servicesDisposable = null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
() => EventEmitter.unsubcribe(token1, token2);
|
() => {
|
||||||
|
EventEmitter.unsubcribe(token1, token2);
|
||||||
|
if (clientDisposable) {
|
||||||
|
clientDisposable.dispose();
|
||||||
|
clientDisposable = null;
|
||||||
|
}
|
||||||
|
if (servicesDisposable) {
|
||||||
|
servicesDisposable.dispose();
|
||||||
|
servicesDisposable = null;
|
||||||
|
}
|
||||||
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const initLSP = (message, monaco, editor) => {
|
const initLSP = (message, monaco, editor) => {
|
||||||
|
@ -43,21 +53,22 @@ const RijuEditor = (props) => {
|
||||||
const services = MonacoServices.create(editor, {
|
const services = MonacoServices.create(editor, {
|
||||||
rootUri: `file://${message.root}`,
|
rootUri: `file://${message.root}`,
|
||||||
});
|
});
|
||||||
|
|
||||||
servicesDisposable = Services.install(services);
|
servicesDisposable = Services.install(services);
|
||||||
const newURI = `file://${message.root}/${config.main}`;
|
const newURI = `file://${message.root}/${config.main}`;
|
||||||
const oldModel = editor.getModel();
|
const oldModel = editor.getModel();
|
||||||
if (oldModel.uri.toString() !== newURI) {
|
// if (oldModel.uri.toString() !== newURI) {
|
||||||
// This code is likely to be buggy as it will probably
|
// This code is likely to be buggy as it will probably
|
||||||
// never run and has thus never been tested.
|
// never run and has thus never been tested.
|
||||||
editor.setModel(
|
// editor.setModel(
|
||||||
monaco.editor.createModel(
|
// monaco.editor.createModel(
|
||||||
oldModel.getValue(),
|
// oldModel?.getValue(),
|
||||||
undefined,
|
// undefined,
|
||||||
monaco.Uri.parse(newURI)
|
// monaco.Uri.parse(newURI)
|
||||||
)
|
// )
|
||||||
);
|
// );
|
||||||
oldModel.dispose();
|
// oldModel.dispose();
|
||||||
}
|
// }
|
||||||
|
|
||||||
const connection = createMessageConnection(
|
const connection = createMessageConnection(
|
||||||
new RijuMessageReader(socket),
|
new RijuMessageReader(socket),
|
||||||
|
|
Loading…
Reference in New Issue