@difizen/libro-terminal 0.1.0 → 0.1.2
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/es/configuration.d.ts +33 -0
- package/es/configuration.d.ts.map +1 -0
- package/es/connection.d.ts +3 -2
- package/es/connection.d.ts.map +1 -1
- package/es/connection.js +40 -40
- package/es/index.d.ts +9 -0
- package/es/index.d.ts.map +1 -1
- package/es/index.js +10 -1
- package/es/index.less +9 -0
- package/es/manager.d.ts +3 -2
- package/es/manager.d.ts.map +1 -1
- package/es/manager.js +7 -2
- package/es/module.d.ts +1 -0
- package/es/module.d.ts.map +1 -1
- package/es/module.js +10 -4
- package/es/protocol.d.ts +1 -1
- package/es/protocol.d.ts.map +1 -1
- package/es/restapi.d.ts.map +1 -1
- package/es/restapi.js +1 -1
- package/es/stateful-view.d.ts +9 -0
- package/es/stateful-view.d.ts.map +1 -0
- package/es/stateful-view.js +35 -0
- package/es/theme-service.d.ts +21 -0
- package/es/theme-service.d.ts.map +1 -0
- package/es/theme-service.js +37 -2
- package/es/view.d.ts +77 -25
- package/es/view.d.ts.map +1 -1
- package/es/view.js +417 -120
- package/package.json +12 -7
- package/src/connection.ts +9 -3
- package/src/index.less +9 -0
- package/src/index.spec.ts +2 -2
- package/src/index.ts +10 -0
- package/src/manager.ts +7 -3
- package/src/module.ts +22 -4
- package/src/protocol.ts +2 -1
- package/src/restapi.ts +2 -1
- package/src/stateful-view.ts +20 -0
- package/src/theme-service.ts +34 -2
- package/src/view.tsx +358 -82
package/es/view.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" resolution-mode="require"/>
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
2
|
+
import { Disposable, DisposableCollection, Emitter } from '@difizen/mana-app';
|
|
3
|
+
import type { ITerminalOptions } from 'xterm';
|
|
4
4
|
import { Terminal } from 'xterm';
|
|
5
5
|
import { FitAddon } from 'xterm-addon-fit';
|
|
6
6
|
import type { CursorStyle, TerminalRendererType } from './configuration.js';
|
|
7
7
|
import { TerminalConfiguration } from './configuration.js';
|
|
8
8
|
import type { TerminalConnection } from './connection.js';
|
|
9
9
|
import { TerminalManager } from './manager.js';
|
|
10
|
-
import type { TerminalMessage } from './protocol.js';
|
|
11
|
-
import
|
|
10
|
+
import type { TerminalMessage, TerminalViewOption } from './protocol.js';
|
|
11
|
+
import 'xterm/css/xterm.css';
|
|
12
|
+
import { BaseStatefulView } from './stateful-view.js';
|
|
12
13
|
import { TerminalThemeService } from './theme-service.js';
|
|
13
14
|
export declare const TerminalComponent: import("react").ForwardRefExoticComponent<import("react").RefAttributes<HTMLDivElement>>;
|
|
14
|
-
export declare class LibroTerminalView extends
|
|
15
|
+
export declare class LibroTerminalView extends BaseStatefulView {
|
|
15
16
|
protected term: Terminal;
|
|
16
17
|
view: import("react").ForwardRefExoticComponent<import("react").RefAttributes<HTMLDivElement>>;
|
|
17
18
|
protected options: TerminalViewOption;
|
|
@@ -22,38 +23,39 @@ export declare class LibroTerminalView extends BaseView {
|
|
|
22
23
|
protected readonly themeService: TerminalThemeService;
|
|
23
24
|
protected readonly terminalManager: TerminalManager;
|
|
24
25
|
protected readonly toDisposeOnConnect: DisposableCollection;
|
|
25
|
-
protected readonly onDidOpenEmitter: Emitter<
|
|
26
|
-
readonly onDidOpen: import("@difizen/mana-app").Event<
|
|
27
|
-
protected readonly onDidOpenFailureEmitter: Emitter<
|
|
28
|
-
readonly onDidOpenFailure: import("@difizen/mana-app").Event<void>;
|
|
26
|
+
protected readonly onDidOpenEmitter: Emitter<boolean>;
|
|
27
|
+
readonly onDidOpen: import("@difizen/mana-app").Event<boolean>;
|
|
28
|
+
protected readonly onDidOpenFailureEmitter: Emitter<unknown>;
|
|
29
29
|
protected readonly onSizeChangedEmitter: Emitter<{
|
|
30
30
|
cols: number;
|
|
31
31
|
rows: number;
|
|
32
32
|
}>;
|
|
33
|
-
readonly onSizeChanged: import("@difizen/mana-app").Event<{
|
|
34
|
-
cols: number;
|
|
35
|
-
rows: number;
|
|
36
|
-
}>;
|
|
37
33
|
protected readonly onDataEmitter: Emitter<string>;
|
|
38
|
-
readonly onData: import("@difizen/mana-app").Event<string>;
|
|
39
34
|
protected readonly onKeyEmitter: Emitter<{
|
|
40
35
|
key: string;
|
|
41
36
|
domEvent: KeyboardEvent;
|
|
42
37
|
}>;
|
|
43
|
-
readonly onKey: import("@difizen/mana-app").Event<{
|
|
44
|
-
key: string;
|
|
45
|
-
domEvent: KeyboardEvent;
|
|
46
|
-
}>;
|
|
47
38
|
protected readonly onDidCloseEmitter: Emitter<LibroTerminalView>;
|
|
48
|
-
readonly
|
|
39
|
+
protected readonly onTitleChangeEmitter: Emitter<string>;
|
|
49
40
|
protected connection?: TerminalConnection;
|
|
50
|
-
|
|
51
|
-
protected
|
|
41
|
+
protected restoreObj?: object;
|
|
42
|
+
protected _isReady: boolean;
|
|
43
|
+
protected onReadyEmitter: Emitter<boolean>;
|
|
44
|
+
constructor(options: TerminalViewOption, // 这里是 server需要的配置
|
|
45
|
+
config: TerminalConfiguration, themeService: TerminalThemeService, terminalManager: TerminalManager);
|
|
46
|
+
afterRestore(): void;
|
|
47
|
+
initConnection(): Promise<TerminalConnection>;
|
|
48
|
+
storeState(): object;
|
|
49
|
+
restoreState(oldState: object): void;
|
|
50
|
+
dispose(): void;
|
|
51
|
+
protected createConnection: () => Promise<TerminalConnection>;
|
|
52
52
|
/**
|
|
53
53
|
* Handle a message from the terminal session.
|
|
54
54
|
*/
|
|
55
|
-
protected onMessage(msg: TerminalMessage)
|
|
56
|
-
protected
|
|
55
|
+
protected onMessage: (msg: TerminalMessage) => void;
|
|
56
|
+
protected initOnceAfterConnected(dispose: Disposable): void;
|
|
57
|
+
protected initialCommand: () => void;
|
|
58
|
+
protected initialTitle(): void;
|
|
57
59
|
protected createTerm: () => void;
|
|
58
60
|
protected get enableCopy(): boolean;
|
|
59
61
|
protected get enablePaste(): boolean;
|
|
@@ -69,10 +71,59 @@ export declare class LibroTerminalView extends BaseView {
|
|
|
69
71
|
*
|
|
70
72
|
* @param terminalRendererType desired terminal renderer type
|
|
71
73
|
*/
|
|
72
|
-
protected getTerminalRendererType: (terminalRendererType?: string | TerminalRendererType) =>
|
|
74
|
+
protected getTerminalRendererType: (terminalRendererType?: string | TerminalRendererType) => TerminalRendererType;
|
|
75
|
+
onViewMount(): void;
|
|
76
|
+
onViewUnmount(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Refresh the terminal session.
|
|
79
|
+
*
|
|
80
|
+
* #### Notes
|
|
81
|
+
* Failure to reconnect to the session should be caught appropriately
|
|
82
|
+
*/
|
|
83
|
+
refresh: () => Promise<void>;
|
|
73
84
|
protected resizeTerminal: () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Set the size of the terminal in the session.
|
|
87
|
+
*/
|
|
88
|
+
protected setSessionSize(): void;
|
|
74
89
|
onViewResize: () => void;
|
|
90
|
+
protected processResize: () => void;
|
|
75
91
|
protected open: () => void;
|
|
92
|
+
protected hasWebGLContext(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Create a xterm.js terminal
|
|
95
|
+
*/
|
|
96
|
+
protected createTerminal(options: ITerminalOptions): [Terminal, FitAddon];
|
|
97
|
+
protected addRenderer(term: Terminal): void;
|
|
98
|
+
readonly onDidOpenFailure: import("@difizen/mana-app").Event<unknown>;
|
|
99
|
+
readonly onSizeChanged: import("@difizen/mana-app").Event<{
|
|
100
|
+
cols: number;
|
|
101
|
+
rows: number;
|
|
102
|
+
}>;
|
|
103
|
+
readonly onData: import("@difizen/mana-app").Event<string>;
|
|
104
|
+
readonly onKey: import("@difizen/mana-app").Event<{
|
|
105
|
+
key: string;
|
|
106
|
+
domEvent: KeyboardEvent;
|
|
107
|
+
}>;
|
|
108
|
+
readonly onDidClose: import("@difizen/mana-app").Event<LibroTerminalView>;
|
|
109
|
+
readonly onTitleChange: import("@difizen/mana-app").Event<string>;
|
|
110
|
+
/**
|
|
111
|
+
* Terminal is ready event
|
|
112
|
+
*/
|
|
113
|
+
get name(): string;
|
|
114
|
+
onReady: import("@difizen/mana-app").Event<boolean>;
|
|
115
|
+
/**
|
|
116
|
+
* Check if terminal has any text selected.
|
|
117
|
+
*/
|
|
118
|
+
hasSelection(): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Paste text into terminal.
|
|
121
|
+
*/
|
|
122
|
+
paste(data: string): void;
|
|
123
|
+
/**
|
|
124
|
+
* Get selected text from terminal.
|
|
125
|
+
*/
|
|
126
|
+
getSelection(): string | null;
|
|
76
127
|
scrollLineUp: () => void;
|
|
77
128
|
scrollLineDown: () => void;
|
|
78
129
|
scrollToTop: () => void;
|
|
@@ -80,6 +131,7 @@ export declare class LibroTerminalView extends BaseView {
|
|
|
80
131
|
scrollPageUp: () => void;
|
|
81
132
|
scrollPageDown: () => void;
|
|
82
133
|
resetTerminal: () => void;
|
|
83
|
-
writeLine: (
|
|
134
|
+
writeLine: (data: string) => void;
|
|
135
|
+
write: (data: string | Uint8Array) => void;
|
|
84
136
|
}
|
|
85
137
|
//# sourceMappingURL=view.d.ts.map
|
package/es/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
|