xshell 1.2.48 → 1.2.50

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/utils.browser.js CHANGED
@@ -1,4 +1,4 @@
1
- import { is_key_type, build_mapper, not_empty, ident } from "./prototype.browser.js";
1
+ import { is_key_type, select, not_empty, ident } from "./prototype.browser.js";
2
2
  import { t } from "./i18n/instance.js";
3
3
  export function assert(assertion, message) {
4
4
  if (!assertion) {
@@ -33,7 +33,7 @@ export function unique(iterable, mapper) {
33
33
  if (!mapper)
34
34
  return [...new Set(iterable)];
35
35
  if (is_key_type(mapper))
36
- mapper = build_mapper(mapper);
36
+ mapper = select(mapper);
37
37
  let map = new Map();
38
38
  for (const x of iterable)
39
39
  map.set(mapper(x), x);
@@ -282,7 +282,7 @@ export function fuzzyfilter(query, list, mapper = ident, list_lower, single_char
282
282
  if (!query)
283
283
  return list;
284
284
  if (is_key_type(mapper))
285
- mapper = build_mapper(mapper);
285
+ mapper = select(mapper);
286
286
  mapper ??= ident;
287
287
  list_lower ??= list.map(item => mapper(item).toLowerCase());
288
288
  const query_lower = query.toLowerCase();
package/utils.js CHANGED
@@ -2,7 +2,7 @@ import { Stream, Writable, Transform } from 'stream';
2
2
  import util from 'util';
3
3
  import timers from 'timers/promises';
4
4
  import { t } from "./i18n/instance.js";
5
- import { build_mapper, not_empty, is_key_type, noop, ident } from "./prototype.js";
5
+ import { select, not_empty, is_key_type, noop, ident } from "./prototype.js";
6
6
  /** `180` 输出字符宽度 */
7
7
  export const output_width = 180;
8
8
  export const url_width = 52;
@@ -55,7 +55,7 @@ export function unique(iterable, mapper) {
55
55
  if (!mapper)
56
56
  return [...new Set(iterable)];
57
57
  if (is_key_type(mapper))
58
- mapper = build_mapper(mapper);
58
+ mapper = select(mapper);
59
59
  let map = new Map();
60
60
  for (const x of iterable)
61
61
  map.set(mapper(x), x);
@@ -152,7 +152,7 @@ export function fuzzyfilter(query, list, mapper = ident, list_lower, single_char
152
152
  if (!query)
153
153
  return list;
154
154
  if (is_key_type(mapper))
155
- mapper = build_mapper(mapper);
155
+ mapper = select(mapper);
156
156
  mapper ??= ident;
157
157
  list_lower ??= list.map(item => mapper(item).toLowerCase());
158
158
  const query_lower = query.toLowerCase();
package/xlint.js CHANGED
@@ -809,7 +809,7 @@ export const xlint_config = {
809
809
  // [a, b, c]
810
810
  '@stylistic/comma-spacing': 'error',
811
811
  // foo()
812
- '@stylistic/func-call-spacing': 'error',
812
+ '@stylistic/function-call-spacing': 'error',
813
813
  // a => { } 中箭头左右两边空格
814
814
  '@stylistic/arrow-spacing': ['error'],
815
815
  // 注释双斜杠后面要有空格
package/Terminal.d.ts DELETED
@@ -1,19 +0,0 @@
1
- import '@xterm/xterm/css/xterm.css';
2
- import { Terminal as XTerminal } from '@xterm/xterm';
3
- import { FitAddon } from '@xterm/addon-fit';
4
- import { Model } from 'react-object-model';
5
- import type { Remote } from './net.browser.ts';
6
- export declare function Terminal({ font }: {
7
- font: string;
8
- }): import("react/jsx-runtime").JSX.Element;
9
- declare class TerminalModel extends Model<TerminalModel> {
10
- pterm: import("./utils.browser.ts").Deferred<XTerminal>;
11
- term: XTerminal;
12
- fit_addon: FitAddon;
13
- stdio_id: number;
14
- fit(): void;
15
- subscribe_stdio(remote: Remote): Promise<void>;
16
- unsubscribe_stdio(remote: Remote): Promise<void>;
17
- }
18
- export declare let terminal: TerminalModel;
19
- export {};
package/Terminal.js DELETED
@@ -1,98 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import '@xterm/xterm/css/xterm.css';
3
- import { useEffect, useRef } from 'react';
4
- import { Terminal as XTerminal } from '@xterm/xterm';
5
- import { FitAddon } from '@xterm/addon-fit';
6
- import { WebglAddon } from '@xterm/addon-webgl';
7
- import { WebLinksAddon } from '@xterm/addon-web-links';
8
- // 没有 ui
9
- // import { SearchAddon } from '@xterm/addon-search'
10
- import { Model } from 'react-object-model';
11
- import { assert, defer, genid } from "./utils.browser.js";
12
- export function Terminal({ font }) {
13
- let rterminal = useRef(undefined);
14
- useEffect(() => {
15
- (async () => {
16
- await document.fonts.ready;
17
- let term = new XTerminal({
18
- fontFamily: font,
19
- fontSize: 16,
20
- cursorStyle: 'bar',
21
- disableStdin: true,
22
- convertEol: true,
23
- allowProposedApi: true,
24
- theme: {
25
- ...myscheme,
26
- magenta: myscheme.purple,
27
- brightMagenta: myscheme.brightPurple,
28
- }
29
- });
30
- const fit_addon = new FitAddon();
31
- const link_addon = new WebLinksAddon();
32
- // const search_addon = new SearchAddon()
33
- term.loadAddon(fit_addon);
34
- term.loadAddon(link_addon);
35
- // term.loadAddon(search_addon)
36
- term.open(rterminal.current);
37
- if (document.createElement('canvas').getContext('webgl2'))
38
- term.loadAddon(new WebglAddon());
39
- fit_addon.fit();
40
- terminal.pterm.resolve(term);
41
- terminal.set({ term, fit_addon });
42
- })();
43
- }, []);
44
- return _jsx("div", { className: 'term', ref: rterminal });
45
- }
46
- class TerminalModel extends Model {
47
- pterm = defer();
48
- term;
49
- fit_addon;
50
- stdio_id = 0;
51
- fit() {
52
- this.fit_addon?.fit();
53
- }
54
- async subscribe_stdio(remote) {
55
- assert(!this.stdio_id);
56
- const id = this.stdio_id = genid();
57
- remote.handlers.set(id, ({ data, error }) => {
58
- if (error)
59
- throw error;
60
- else
61
- this.term.write(data[0]);
62
- });
63
- await remote.send({ id, func: 'subscribe_stdio' });
64
- }
65
- async unsubscribe_stdio(remote) {
66
- let { stdio_id } = this;
67
- assert(stdio_id);
68
- await remote.call('unsubscribe_stdio', [stdio_id]);
69
- remote.handlers.delete(stdio_id);
70
- this.stdio_id = 0;
71
- }
72
- }
73
- export let terminal = new TerminalModel();
74
- /** winterm.json */
75
- const myscheme = {
76
- background: '#FFFFFF',
77
- black: '#000000',
78
- blue: '#0070C0',
79
- brightBlack: '#444444',
80
- brightBlue: '#0000FF',
81
- brightCyan: '#008080',
82
- brightGreen: '#718C00',
83
- brightPurple: '#8959A8',
84
- brightRed: '#DF0000',
85
- brightWhite: '#AAAAAA',
86
- brightYellow: '#FF81FF',
87
- cursorColor: '#000000',
88
- cyan: '#821717',
89
- foreground: '#000000',
90
- green: '#008000',
91
- name: 'myscheme',
92
- purple: '#800080',
93
- red: '#C82829',
94
- selectionBackground: '#ADD6FF',
95
- white: '#888888',
96
- yellow: '#EC7600'
97
- };
98
- //# sourceMappingURL=Terminal.js.map