xshell 0.0.15 → 0.0.20

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.
Files changed (63) hide show
  1. package/chalk.browser.d.ts +2 -0
  2. package/chalk.browser.js +21 -0
  3. package/chalk.browser.js.map +1 -0
  4. package/file.js +1 -2
  5. package/file.js.map +1 -1
  6. package/i18n/README.md +283 -0
  7. package/i18n/dict.d.ts +30 -0
  8. package/i18n/dict.js +34 -0
  9. package/i18n/dict.js.map +1 -0
  10. package/i18n/i18n-scan.d.ts +2 -0
  11. package/i18n/i18n-scan.js +21 -0
  12. package/i18n/i18n-scan.js.map +1 -0
  13. package/i18n/i18n.ico +0 -0
  14. package/i18n/index.d.ts +65 -0
  15. package/i18n/index.js +118 -0
  16. package/i18n/index.js.map +1 -0
  17. package/i18n/rwdict.d.ts +42 -0
  18. package/i18n/rwdict.js +110 -0
  19. package/i18n/rwdict.js.map +1 -0
  20. package/i18n/scanner/checker.d.ts +5 -0
  21. package/i18n/scanner/checker.js +73 -0
  22. package/i18n/scanner/checker.js.map +1 -0
  23. package/i18n/scanner/index.d.ts +52 -0
  24. package/i18n/scanner/index.js +319 -0
  25. package/i18n/scanner/index.js.map +1 -0
  26. package/i18n/scanner/parser.d.ts +3 -0
  27. package/i18n/scanner/parser.js +154 -0
  28. package/i18n/scanner/parser.js.map +1 -0
  29. package/i18n/utils.d.ts +1 -0
  30. package/i18n/utils.js +14 -0
  31. package/i18n/utils.js.map +1 -0
  32. package/myfont.sass +11 -0
  33. package/net.browser.d.ts +23 -0
  34. package/net.browser.js +70 -0
  35. package/net.browser.js.map +1 -0
  36. package/net.js +2 -4
  37. package/net.js.map +1 -1
  38. package/package.json +36 -7
  39. package/prototype.browser.d.ts +130 -0
  40. package/prototype.browser.js +421 -0
  41. package/prototype.browser.js.map +1 -0
  42. package/repl.js +4 -8
  43. package/repl.js.map +1 -1
  44. package/scroll-bar.sass +35 -0
  45. package/server.d.ts +1 -0
  46. package/server.js +2 -3
  47. package/server.js.map +1 -1
  48. package/toaster.browser.d.ts +9 -0
  49. package/toaster.browser.js +45 -0
  50. package/toaster.browser.js.map +1 -0
  51. package/toaster.sass +22 -0
  52. package/ufs.js +3 -3
  53. package/ufs.js.map +1 -1
  54. package/utils.browser.d.ts +3 -0
  55. package/utils.browser.js +27 -0
  56. package/utils.browser.js.map +1 -0
  57. package/extension.d.ts +0 -3
  58. package/extension.js +0 -68
  59. package/extension.js.map +0 -1
  60. package/net.browser.ts +0 -141
  61. package/prototype.browser.ts +0 -728
  62. package/tsconfig.json +0 -73
  63. package/utils.browser.ts +0 -25
package/extension.js DELETED
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.activate = void 0;
4
- const vscode_1 = require("vscode");
5
- require("./prototype");
6
- const net_1 = require("./net");
7
- const my_commands = [
8
- {
9
- func: async function xshell_repl() {
10
- const editor = vscode_1.window.activeTextEditor;
11
- const doc = editor.document;
12
- const languages_map = {
13
- javascript: ['ts'],
14
- javascriptreact: ['ts'],
15
- typescript: ['ts'],
16
- typescriptreact: ['ts'],
17
- };
18
- const language_id = doc.languageId;
19
- if (!(language_id in languages_map))
20
- throw new Error(`${language_id} does not support repl`);
21
- const code = get_text('selection or line');
22
- await (0, net_1.rpc)('repl_code', [...languages_map[language_id], code], { async: true });
23
- },
24
- key: 'ctrl+enter',
25
- when: 'editorTextFocus'
26
- },
27
- ];
28
- /** get text by selector */
29
- function get_text(selector) {
30
- const editor = vscode_1.window.activeTextEditor;
31
- const document = editor.document;
32
- const selection = editor.selection;
33
- const text_selection = document.getText(selection);
34
- if (selector === 'selection')
35
- return text_selection;
36
- const text_all = document.getText();
37
- if (selector === 'all')
38
- return text_all;
39
- const text_line = document.lineAt(selection.active.line).text;
40
- if (selector === 'line')
41
- return text_line;
42
- if (selector === 'word')
43
- return document.getText(document.getWordRangeAtPosition(selection.active));
44
- if (selector === 'selection or all')
45
- return text_selection || text_all;
46
- if (selector === 'selection or line')
47
- return text_selection || text_line;
48
- const start = selection.start;
49
- const end = selection.end;
50
- const line = document.lineAt(start.line);
51
- const line_start = new vscode_1.Position(start.line, 0);
52
- if (selector === 'selection before')
53
- return document.getText(new vscode_1.Range(line_start, start));
54
- const line_end = new vscode_1.Position(start.line, line.text.length);
55
- if (selector === 'selection after')
56
- return document.getText(new vscode_1.Range(end, line_end));
57
- const line_text_start = new vscode_1.Position(start.line, line.firstNonWhitespaceCharacterIndex);
58
- if (selector === 'selection to text start')
59
- return document.getText(new vscode_1.Range(line_text_start, start));
60
- }
61
- function activate(ctx) {
62
- my_commands.forEach(({ func }) => {
63
- ctx.subscriptions.push(vscode_1.commands.registerCommand(func.name, func));
64
- });
65
- console.log('xshell loaded');
66
- }
67
- exports.activate = activate;
68
- //# sourceMappingURL=extension.js.map
package/extension.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["extension.ts"],"names":[],"mappings":"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","sourcesContent":["import { window, commands, Range, Position } from 'vscode'\nimport type { ExtensionContext } from 'vscode'\n\nimport './prototype'\nimport { rpc } from './net'\n\n\nconst my_commands = [\n {\n func: async function xshell_repl () {\n const editor = window.activeTextEditor\n const doc = editor.document\n \n const languages_map = {\n javascript: ['ts'],\n javascriptreact: ['ts'],\n typescript: ['ts'],\n typescriptreact: ['ts'],\n }\n \n const language_id = doc.languageId\n \n if (!(language_id in languages_map))\n throw new Error(`${language_id} does not support repl`)\n \n const code = get_text('selection or line')\n \n await rpc('repl_code', [...languages_map[language_id], code], { async: true })\n },\n key: 'ctrl+enter',\n when: 'editorTextFocus'\n },\n]\n\n\n/** get text by selector */\nfunction get_text (selector: \n 'all' | \n 'line' | \n 'word' |\n 'selection' | \n 'selection or line' |\n 'selection or all' |\n 'selection before' | \n 'selection to text start' | \n 'selection after'\n) {\n const editor = window.activeTextEditor\n const document = editor.document\n const selection = editor.selection\n \n const text_selection = document.getText(selection)\n \n if (selector === 'selection')\n return text_selection\n \n const text_all = document.getText()\n \n if (selector === 'all')\n return text_all\n \n const text_line = document.lineAt(selection.active.line).text\n \n if (selector === 'line')\n return text_line\n \n if (selector === 'word')\n return document.getText(document.getWordRangeAtPosition(selection.active))\n \n if (selector === 'selection or all')\n return text_selection || text_all\n \n if (selector === 'selection or line')\n return text_selection || text_line\n \n \n \n const start = selection.start\n const end = selection.end\n \n const line = document.lineAt(start.line)\n \n const line_start = new Position(start.line, 0)\n \n if (selector === 'selection before')\n return document.getText( new Range(line_start, start) )\n \n \n const line_end = new Position(start.line, line.text.length)\n \n if (selector === 'selection after')\n return document.getText( new Range(end, line_end) )\n \n \n const line_text_start = new Position(start.line, line.firstNonWhitespaceCharacterIndex)\n if (selector === 'selection to text start')\n return document.getText(new Range(line_text_start, start) )\n}\n\n\nexport function activate (ctx: ExtensionContext) {\n my_commands.forEach( ({ func }) => {\n ctx.subscriptions.push(commands.registerCommand(func.name, func))\n })\n console.log('xshell loaded')\n}\n"]}
package/net.browser.ts DELETED
@@ -1,141 +0,0 @@
1
- export interface RequestOptions {
2
- method?: 'get' | 'post' | 'put' | 'head' | 'delete' | 'patch'
3
-
4
- queries?: Record<string, any>
5
-
6
- headers?: Record<string, string>
7
-
8
- body?: string | object | HTMLFormElement
9
-
10
- type?: 'application/json' | 'application/x-www-form-urlencoded' | 'multipart/form-data'
11
-
12
- cors?: boolean
13
-
14
- by?: 'fetch' | 'GM_xmlhttpRequest'
15
- }
16
-
17
- export interface RequestRawOptions extends RequestOptions {
18
- raw: true
19
- }
20
-
21
- /**
22
- - url: 可以只有 pathname 部分
23
- - options:
24
- - type: `'application/json'` 请求的 content-type 头 (如果有 body)
25
- - by: `window.GM_xmlhttpRequest ? 'GM_xmlhttpRequest' : 'fetch'` 发起请求所使用的底层方法
26
- */
27
- export async function request (url: string | URL): Promise<string>
28
- export async function request (url: string | URL, options: RequestRawOptions): Promise<Response>
29
- export async function request (url: string | URL, options: RequestOptions): Promise<string>
30
- export async function request (url: string | URL, {
31
- method,
32
-
33
- queries,
34
-
35
- headers,
36
-
37
- body,
38
-
39
- type = 'application/json',
40
-
41
- cors,
42
-
43
- by = window.GM_xmlhttpRequest ? 'GM_xmlhttpRequest' : 'fetch',
44
-
45
- raw,
46
- }: RequestOptions & { raw?: boolean } = { }) {
47
- url = new URL(url, location.href)
48
-
49
- if (queries)
50
- for (const key in queries) {
51
- let value = queries[key]
52
- if (typeof value === 'boolean')
53
- value = value ? '1' : '0'
54
- url.searchParams.append(key, value)
55
- }
56
-
57
- if (body && !method)
58
- method = 'post'
59
-
60
- if (type === 'application/json' && typeof body !== 'undefined' && typeof body !== 'string')
61
- body = JSON.stringify(body)
62
-
63
- url = url.toString()
64
-
65
- if (by === 'fetch') {
66
- const options: RequestInit = {
67
- ... method ? { method: method.toUpperCase() } : { },
68
-
69
- ... cors ? { mode: 'cors' } : { },
70
-
71
- credentials: 'include',
72
-
73
- headers: {
74
- ... body ? { 'content-type': type } : { },
75
- ... headers,
76
- },
77
-
78
- ... body ? { body: body as string } : { },
79
- }
80
-
81
- const response = await fetch(
82
- url,
83
- options
84
- )
85
-
86
- if (!response.ok)
87
- throw Object.assign(
88
- new Error(`StatusCodeError: ${response.status}`),
89
- { url, response, ...options }
90
- )
91
-
92
- if (raw)
93
- return response
94
-
95
- return response.text()
96
- }
97
-
98
-
99
- return new Promise((resolve, reject) => {
100
- GM_xmlhttpRequest({
101
- ... method ? { method: (method as any).toUpperCase() } : { },
102
-
103
- url: url as string,
104
-
105
- headers: {
106
- ... body ? { 'content-type': type } : { },
107
- ... headers,
108
- },
109
-
110
- ... body ? { data: body as string, } : { },
111
-
112
- onload (response) {
113
- if (!(200 <= response.status && response.status <= 299)) {
114
- reject(
115
- Object.assign(
116
- new Error(`StatusCodeError: ${response.status}`),
117
- { url, queries, method, headers, body, response }
118
- )
119
- )
120
- return
121
- }
122
-
123
- resolve(response.responseText)
124
- }
125
- })
126
- })
127
- }
128
-
129
-
130
- /** 发起 http 请求并将响应体作为 json 解析 */
131
- export async function request_json <T = any> (url: string, options?: RequestOptions): Promise<T> {
132
- const resp = await request(url, options)
133
- if (!resp) return
134
- try {
135
- return JSON.parse(resp)
136
- } catch (error) {
137
- console.error(resp)
138
- throw error
139
- }
140
- }
141
-