@eclipse-glsp/vscode-integration-webview 2.3.0-next.90 → 2.3.0-next.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/css/diagram.css CHANGED
@@ -118,3 +118,11 @@ body {
118
118
  .sprotty-projection-bar.vertical.bordered-projection-bar {
119
119
  width: 15px;
120
120
  }
121
+
122
+ .sprotty text {
123
+ fill: var(--vscode-editor-background);
124
+ }
125
+
126
+ .sprotty-edge text {
127
+ fill: var(--vscode-foreground);
128
+ }
@@ -20,6 +20,7 @@ export interface WebviewGlspClientOptions extends GLSPClient.Options {
20
20
  messenger?: Messenger;
21
21
  }
22
22
  export declare const ActionMessageNotification: NotificationType<ActionMessage>;
23
+ export declare const ClientStateChangeNotification: NotificationType<ClientState>;
23
24
  export declare const StartRequest: RequestType<undefined, void>;
24
25
  export declare const InitializeServerRequest: RequestType<InitializeParameters, InitializeResult>;
25
26
  export declare const InitializeClientSessionRequest: RequestType<InitializeClientSessionParameters, void>;
@@ -36,6 +37,8 @@ export declare class WebviewGlspClient implements GLSPClient, Disposable {
36
37
  protected messenger: Messenger;
37
38
  protected toDispose: DisposableCollection;
38
39
  protected onActionMessageEmitter: Emitter<ActionMessage<Action>>;
40
+ protected onCurrentStateChangedEmitter: Emitter<ClientState>;
41
+ get onCurrentStateChanged(): Event<ClientState>;
39
42
  protected _currentState: ClientState;
40
43
  get currentState(): ClientState;
41
44
  protected _initializeResult?: InitializeResult;
@@ -43,6 +46,7 @@ export declare class WebviewGlspClient implements GLSPClient, Disposable {
43
46
  protected onServerInitializedEmitter: Emitter<InitializeResult>;
44
47
  get onServerInitialized(): Event<InitializeResult>;
45
48
  constructor(options: WebviewGlspClientOptions);
49
+ protected updateState(state: ClientState): void;
46
50
  start(): Promise<void>;
47
51
  initializeServer(params: InitializeParameters): Promise<InitializeResult>;
48
52
  initializeClientSession(params: InitializeClientSessionParameters): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"webview-glsp-client.d.ts","sourceRoot":"","sources":["../src/webview-glsp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,OAAO,EACP,KAAK,EACL,UAAU,EACV,iCAAiC,EACjC,oBAAoB,EACpB,gBAAgB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAkB,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,wBAAyB,SAAQ,UAAU,CAAC,OAAO;IAChE,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,CAAC,aAAa,CAA+B,CAAC;AACtG,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAuB,CAAC;AAC9E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,CAAkC,CAAC;AAC3H,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,iCAAiC,EAAE,IAAI,CAAyC,CAAC;AAC1I,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,8BAA8B,EAAE,IAAI,CAAsC,CAAC;AACjI,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,CAAC,IAAI,CAAgC,CAAC;AAC/F,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAsB,CAAC;AAC5E;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU,EAAE,UAAU;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,sBAAsB,iCAAgC;IAEhE,SAAS,CAAC,aAAa,EAAE,WAAW,CAAwB;IAC5D,IAAI,YAAY,IAAI,WAAW,CAE9B;IAED,SAAS,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IAC/C,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAEnD;IAED,SAAS,CAAC,0BAA0B,4BAAmC;IACvE,IAAI,mBAAmB,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAEjD;gBAEW,OAAO,EAAE,wBAAwB;IAOvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU/E,uBAAuB,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,cAAc,IAAI,IAAI;IAIhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvD,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU;IAI1D,OAAO,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"webview-glsp-client.d.ts","sourceRoot":"","sources":["../src/webview-glsp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,OAAO,EACP,KAAK,EACL,UAAU,EACV,iCAAiC,EACjC,oBAAoB,EACpB,gBAAgB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAkB,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,wBAAyB,SAAQ,UAAU,CAAC,OAAO;IAChE,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,CAAC,aAAa,CAA+B,CAAC;AACtG,eAAO,MAAM,6BAA6B,EAAE,gBAAgB,CAAC,WAAW,CAAyC,CAAC;AAClH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAuB,CAAC;AAC9E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,CAAkC,CAAC;AAC3H,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,iCAAiC,EAAE,IAAI,CAAyC,CAAC;AAC1I,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,8BAA8B,EAAE,IAAI,CAAsC,CAAC;AACjI,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,CAAC,IAAI,CAAgC,CAAC;AAC/F,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAsB,CAAC;AAC5E;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,UAAU,EAAE,UAAU;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,sBAAsB,iCAAgC;IAEhE,SAAS,CAAC,4BAA4B,uBAA8B;IACpE,IAAI,qBAAqB,IAAI,KAAK,CAAC,WAAW,CAAC,CAE9C;IAED,SAAS,CAAC,aAAa,EAAE,WAAW,CAAuB;IAE3D,IAAI,YAAY,IAAI,WAAW,CAE9B;IAED,SAAS,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IAC/C,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,SAAS,CAEnD;IAED,SAAS,CAAC,0BAA0B,4BAAmC;IACvE,IAAI,mBAAmB,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAEjD;gBAEW,OAAO,EAAE,wBAAwB;IAQ7C,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAOzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU/E,uBAAuB,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF,oBAAoB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,cAAc,IAAI,IAAI;IAIhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI;IAIvD,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,UAAU;IAI1D,OAAO,IAAI,IAAI;CAGlB"}
@@ -15,11 +15,12 @@
15
15
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  ********************************************************************************/
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WebviewGlspClient = exports.StopRequest = exports.ShutdownServerNotification = exports.DisposeClientSessionRequest = exports.InitializeClientSessionRequest = exports.InitializeServerRequest = exports.StartRequest = exports.ActionMessageNotification = void 0;
18
+ exports.WebviewGlspClient = exports.StopRequest = exports.ShutdownServerNotification = exports.DisposeClientSessionRequest = exports.InitializeClientSessionRequest = exports.InitializeServerRequest = exports.StartRequest = exports.ClientStateChangeNotification = exports.ActionMessageNotification = void 0;
19
19
  const client_1 = require("@eclipse-glsp/client");
20
20
  const vscode_messenger_common_1 = require("vscode-messenger-common");
21
21
  const vscode_messenger_webview_1 = require("vscode-messenger-webview");
22
22
  exports.ActionMessageNotification = { method: 'actionMessage' };
23
+ exports.ClientStateChangeNotification = { method: 'notifyClientStateChange' };
23
24
  exports.StartRequest = { method: 'start' };
24
25
  exports.InitializeServerRequest = { method: 'initializeServer' };
25
26
  exports.InitializeClientSessionRequest = { method: 'initializeClientSession' };
@@ -32,6 +33,9 @@ exports.StopRequest = { method: 'stop' };
32
33
  * via the vscode-messenger protocol
33
34
  */
34
35
  class WebviewGlspClient {
36
+ get onCurrentStateChanged() {
37
+ return this.onCurrentStateChangedEmitter.event;
38
+ }
35
39
  get currentState() {
36
40
  return this._currentState;
37
41
  }
@@ -45,22 +49,28 @@ class WebviewGlspClient {
45
49
  var _a;
46
50
  this.toDispose = new client_1.DisposableCollection();
47
51
  this.onActionMessageEmitter = new client_1.Emitter();
48
- this._currentState = client_1.ClientState.Starting;
52
+ this.onCurrentStateChangedEmitter = new client_1.Emitter();
53
+ this._currentState = client_1.ClientState.Initial;
49
54
  this.onServerInitializedEmitter = new client_1.Emitter();
50
55
  this.id = options.id;
51
56
  this.messenger = (_a = options.messenger) !== null && _a !== void 0 ? _a : new vscode_messenger_webview_1.Messenger();
52
- this.toDispose.push(this.onActionMessageEmitter, this.onServerInitializedEmitter);
57
+ this.toDispose.push(this.onActionMessageEmitter, this.onServerInitializedEmitter, this.onCurrentStateChangedEmitter);
53
58
  this.messenger.onNotification(exports.ActionMessageNotification, msg => this.onActionMessageEmitter.fire(msg));
59
+ this.messenger.onNotification(exports.ClientStateChangeNotification, state => this.updateState(state));
60
+ }
61
+ updateState(state) {
62
+ if (this._currentState !== state) {
63
+ this._currentState = state;
64
+ this.onCurrentStateChangedEmitter.fire(this._currentState);
65
+ }
54
66
  }
55
67
  async start() {
56
68
  try {
57
- this._currentState = client_1.ClientState.Starting;
58
69
  await this.messenger.sendRequest(exports.StartRequest, vscode_messenger_common_1.HOST_EXTENSION);
59
- this._currentState = client_1.ClientState.Running;
60
70
  }
61
71
  catch (error) {
62
72
  console.error('Failed to start connection to server', error);
63
- this._currentState = client_1.ClientState.StartFailed;
73
+ this.updateState(client_1.ClientState.StartFailed);
64
74
  }
65
75
  }
66
76
  async initializeServer(params) {
@@ -82,12 +92,10 @@ class WebviewGlspClient {
82
92
  this.messenger.sendNotification(exports.ShutdownServerNotification, vscode_messenger_common_1.HOST_EXTENSION);
83
93
  }
84
94
  async stop() {
85
- if (this._currentState === client_1.ClientState.Stopped) {
95
+ if (this.currentState === client_1.ClientState.Stopped) {
86
96
  return;
87
97
  }
88
- this._currentState = client_1.ClientState.Stopping;
89
98
  await this.messenger.sendRequest(exports.StopRequest, vscode_messenger_common_1.HOST_EXTENSION);
90
- this._currentState = client_1.ClientState.Stopped;
91
99
  }
92
100
  sendActionMessage(message) {
93
101
  this.messenger.sendNotification(exports.ActionMessageNotification, vscode_messenger_common_1.HOST_EXTENSION, message);
@@ -1 +1 @@
1
- {"version":3,"file":"webview-glsp-client.js","sourceRoot":"","sources":["../src/webview-glsp-client.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,iDAc8B;AAC9B,qEAAwF;AACxF,uEAAqD;AAMxC,QAAA,yBAAyB,GAAoC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AACzF,QAAA,YAAY,GAAiC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACjE,QAAA,uBAAuB,GAAwD,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;AAC9G,QAAA,8BAA8B,GAAyD,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;AAC7H,QAAA,2BAA2B,GAAsD,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;AACpH,QAAA,0BAA0B,GAA2B,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AAClF,QAAA,WAAW,GAAiC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5E;;;;GAIG;AACH,MAAa,iBAAiB;IAO1B,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAGD,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAGD,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,YAAY,OAAiC;;QAlBnC,cAAS,GAAG,IAAI,6BAAoB,EAAE,CAAC;QACvC,2BAAsB,GAAG,IAAI,gBAAO,EAAiB,CAAC;QAEtD,kBAAa,GAAgB,oBAAW,CAAC,QAAQ,CAAC;QAUlD,+BAA0B,GAAG,IAAI,gBAAO,EAAoB,CAAC;QAMnE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,oCAAS,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAgB,iCAAyB,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,oBAAW,CAAC,QAAQ,CAAC;YAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,oBAAY,EAAE,wCAAc,CAAC,CAAC;YAC/D,IAAI,CAAC,aAAa,GAAG,oBAAW,CAAC,OAAO,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,GAAG,oBAAW,CAAC,WAAW,CAAC;QACjD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA4B;QAC/C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;QACjC,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,+BAAuB,EAAE,wCAAc,EAAE,MAAM,CAAC,CAAC;QACjG,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,uBAAuB,CAAC,MAAyC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,sCAA8B,EAAE,wCAAc,EAAE,MAAM,CAAC,CAAC;IAC9F,CAAC;IAED,oBAAoB,CAAC,MAAsC;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mCAA2B,EAAE,wCAAc,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,cAAc;QACV,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,kCAA0B,EAAE,wCAAc,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,aAAa,KAAK,oBAAW,CAAC,OAAO,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,oBAAW,CAAC,QAAQ,CAAC;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,mBAAW,EAAE,wCAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,oBAAW,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,iBAAiB,CAAC,OAA8B;QAC5C,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,iCAAyB,EAAE,wCAAc,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,eAAe,CAAC,OAA6B;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ;AAjFD,8CAiFC"}
1
+ {"version":3,"file":"webview-glsp-client.js","sourceRoot":"","sources":["../src/webview-glsp-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/vscode-integration-webview",
3
- "version": "2.3.0-next.90+9122825",
3
+ "version": "2.3.0-next.92+9e128e2",
4
4
  "description": "Integration of a GLSP diagram in a VS Code extensions (WebView part)",
5
5
  "keywords": [
6
6
  "vscode",
@@ -50,5 +50,5 @@
50
50
  "publishConfig": {
51
51
  "access": "public"
52
52
  },
53
- "gitHead": "91228257dfe52d36c03d883ac000c9d3847ec650"
53
+ "gitHead": "9e128e2ed64a53cfb331b1a4860d1d01ff5e411a"
54
54
  }
@@ -37,6 +37,7 @@ export interface WebviewGlspClientOptions extends GLSPClient.Options {
37
37
  }
38
38
 
39
39
  export const ActionMessageNotification: NotificationType<ActionMessage> = { method: 'actionMessage' };
40
+ export const ClientStateChangeNotification: NotificationType<ClientState> = { method: 'notifyClientStateChange' };
40
41
  export const StartRequest: RequestType<undefined, void> = { method: 'start' };
41
42
  export const InitializeServerRequest: RequestType<InitializeParameters, InitializeResult> = { method: 'initializeServer' };
42
43
  export const InitializeClientSessionRequest: RequestType<InitializeClientSessionParameters, void> = { method: 'initializeClientSession' };
@@ -54,7 +55,13 @@ export class WebviewGlspClient implements GLSPClient, Disposable {
54
55
  protected toDispose = new DisposableCollection();
55
56
  protected onActionMessageEmitter = new Emitter<ActionMessage>();
56
57
 
57
- protected _currentState: ClientState = ClientState.Starting;
58
+ protected onCurrentStateChangedEmitter = new Emitter<ClientState>();
59
+ get onCurrentStateChanged(): Event<ClientState> {
60
+ return this.onCurrentStateChangedEmitter.event;
61
+ }
62
+
63
+ protected _currentState: ClientState = ClientState.Initial;
64
+
58
65
  get currentState(): ClientState {
59
66
  return this._currentState;
60
67
  }
@@ -72,18 +79,24 @@ export class WebviewGlspClient implements GLSPClient, Disposable {
72
79
  constructor(options: WebviewGlspClientOptions) {
73
80
  this.id = options.id;
74
81
  this.messenger = options.messenger ?? new Messenger();
75
- this.toDispose.push(this.onActionMessageEmitter, this.onServerInitializedEmitter);
76
- this.messenger.onNotification<ActionMessage>(ActionMessageNotification, msg => this.onActionMessageEmitter.fire(msg));
82
+ this.toDispose.push(this.onActionMessageEmitter, this.onServerInitializedEmitter, this.onCurrentStateChangedEmitter);
83
+ this.messenger.onNotification(ActionMessageNotification, msg => this.onActionMessageEmitter.fire(msg));
84
+ this.messenger.onNotification(ClientStateChangeNotification, state => this.updateState(state));
85
+ }
86
+
87
+ protected updateState(state: ClientState): void {
88
+ if (this._currentState !== state) {
89
+ this._currentState = state;
90
+ this.onCurrentStateChangedEmitter.fire(this._currentState);
91
+ }
77
92
  }
78
93
 
79
94
  async start(): Promise<void> {
80
95
  try {
81
- this._currentState = ClientState.Starting;
82
96
  await this.messenger.sendRequest(StartRequest, HOST_EXTENSION);
83
- this._currentState = ClientState.Running;
84
97
  } catch (error) {
85
98
  console.error('Failed to start connection to server', error);
86
- this._currentState = ClientState.StartFailed;
99
+ this.updateState(ClientState.StartFailed);
87
100
  }
88
101
  }
89
102
 
@@ -110,12 +123,10 @@ export class WebviewGlspClient implements GLSPClient, Disposable {
110
123
  }
111
124
 
112
125
  async stop(): Promise<void> {
113
- if (this._currentState === ClientState.Stopped) {
126
+ if (this.currentState === ClientState.Stopped) {
114
127
  return;
115
128
  }
116
- this._currentState = ClientState.Stopping;
117
129
  await this.messenger.sendRequest(StopRequest, HOST_EXTENSION);
118
- this._currentState = ClientState.Stopped;
119
130
  }
120
131
 
121
132
  sendActionMessage(message: ActionMessage<Action>): void {