-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathstate.ts
More file actions
30 lines (26 loc) · 976 Bytes
/
state.ts
File metadata and controls
30 lines (26 loc) · 976 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import * as vscode from "vscode";
import * as net from "net";
import * as child_process from "child_process";
import { LanguageClient } from "vscode-languageclient/node";
import { LiquidJavaLogger } from "./services/logger";
import { LiquidJavaWebviewProvider } from "./webview/provider";
import type { LJDiagnostic } from "./types/diagnostics";
import type { StateMachine } from "./types/fsm";
import { ContextHistory, Selection } from "./types/context";
export class ExtensionState {
// server/client state
serverProcess?: child_process.ChildProcess;
client?: LanguageClient;
socket?: net.Socket;
// ui state
logger?: LiquidJavaLogger;
statusBar?: vscode.StatusBarItem;
webview?: LiquidJavaWebviewProvider;
// application state
file?: string;
diagnostics?: LJDiagnostic[];
stateMachine?: StateMachine;
contextHistory?: ContextHistory;
selection?: Selection;
}
export const extension = new ExtensionState();