@lvce-editor/shared-process 0.15.2 → 0.15.4

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.
@@ -18,6 +18,8 @@
18
18
 
19
19
  "extensions.autoUpdate": true,
20
20
 
21
+ "files.autoSave": "off",
22
+
21
23
  "files.exclude": {
22
24
  ".git": true,
23
25
  ".svn": true,
@@ -120,6 +120,7 @@ const RE_DOUBLE_QUOTE = /^"/
120
120
  const RE_STRING_DOUBLE_QUOTE_CONTENT = /^[^"]+/
121
121
  const RE_STRING_SINGLE_QUOTE_CONTENT = /^[^']+/
122
122
  const RE_SINGLE_QUOTE = /^'/
123
+ const RE_ANYTHING_BUT_CURLY = /^[^\{\}]+/s
123
124
 
124
125
  export const initialLineState = {
125
126
  state: State.TopLevelContent,
@@ -231,6 +232,9 @@ export const tokenizeLine = (line, lineState) => {
231
232
  } else if ((next = part.match(RE_STAR))) {
232
233
  token = TokenType.CssSelector
233
234
  state = State.AfterSelector
235
+ } else if ((next = part.match(RE_ANYTHING_BUT_CURLY))) {
236
+ token = TokenType.Unknown
237
+ state = State.AfterSelector
234
238
  } else if ((next = part.match(RE_ANYTHING))) {
235
239
  token = TokenType.Unknown
236
240
  state = State.TopLevelContent
@@ -62,7 +62,7 @@ const RE_ANGLE_BRACKET_CLOSE = /^>/
62
62
  const RE_ANGLE_BRACKET_OPEN = /^</
63
63
  const RE_ANGLE_BRACKET_OPEN_TAG = /^<(?![\s!\%])/
64
64
  const RE_ANY_TEXT = /^[^\n]+/
65
- const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d\-\:]+/
65
+ const RE_ATTRIBUTE_NAME = /^[a-zA-Z\d\-\:\_]+/
66
66
  const RE_BLOCK_COMMENT_CONTENT_1 = /^.+?(?=-->)/s
67
67
  const RE_BLOCK_COMMENT_CONTENT_2 = /^.+$/s
68
68
  const RE_BLOCK_COMMENT_END = /^-->/
@@ -0,0 +1,5 @@
1
+ {
2
+ "comments": {
3
+ "lineComment": "#"
4
+ }
5
+ }
@@ -44,6 +44,7 @@ export const TokenType = {
44
44
  KeywordImport: 955,
45
45
  KeywordControl: 956,
46
46
  Function: 957,
47
+ KeywordOperator: 958,
47
48
  }
48
49
 
49
50
  export const TokenMap = {
@@ -67,6 +68,7 @@ export const TokenMap = {
67
68
  [TokenType.KeywordImport]: 'KeywordImport',
68
69
  [TokenType.KeywordControl]: 'KeywordControl',
69
70
  [TokenType.Function]: 'Function',
71
+ [TokenType.KeywordOperator]: 'KeywordOperator',
70
72
  }
71
73
 
72
74
  const RE_WHITESPACE = /^\s+/
@@ -150,8 +152,15 @@ export const tokenizeLine = (line, lineState) => {
150
152
  case 'raise':
151
153
  case 'break':
152
154
  case 'pass':
155
+ case 'assert':
153
156
  token = TokenType.KeywordControl
154
157
  break
158
+ case 'or':
159
+ case 'not':
160
+ case 'and':
161
+ case 'in':
162
+ token = TokenType.KeywordOperator
163
+ break
155
164
  default:
156
165
  token = TokenType.Keyword
157
166
  break
@@ -9,6 +9,9 @@
9
9
  "BadgeBackground": "#90599b",
10
10
  "BadgeForeground": "#eeeeee",
11
11
 
12
+ "DropDownBackground": "#3c3c3c",
13
+ "DropDownForeground": "#f0f0f0",
14
+
12
15
  "EditorBackGround": "#1e2324",
13
16
  "EditorScrollBarBackground": "rgba(57, 71, 71, 0.6)",
14
17
  "EditorCursorBackground": "#a8df5a",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/shared-process",
3
- "version": "0.15.2",
3
+ "version": "0.15.4",
4
4
  "description": "Utility package for @lvce-editor/server",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -17,16 +17,15 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@babel/code-frame": "^7.21.4",
20
- "@lvce-editor/extension-host": "0.15.2",
21
- "@lvce-editor/extension-host-helper-process": "0.15.2",
22
- "@lvce-editor/pty-host": "0.15.2",
20
+ "@lvce-editor/extension-host": "0.15.4",
21
+ "@lvce-editor/extension-host-helper-process": "0.15.4",
22
+ "@lvce-editor/pty-host": "0.15.4",
23
23
  "debug": "^4.3.4",
24
24
  "execa": "^7.1.1",
25
25
  "exit-hook": "^3.2.0",
26
26
  "got": "^12.6.0",
27
27
  "is-object": "^1.0.2",
28
28
  "lines-and-columns": "^2.0.3",
29
- "open": "^9.1.0",
30
29
  "p-queue": "^7.3.4",
31
30
  "parse-json": "^7.0.0",
32
31
  "symlink-dir": "^5.1.1",
@@ -40,6 +39,7 @@
40
39
  "optionalDependencies": {
41
40
  "extract-zip": "^2.0.1",
42
41
  "keytar": "^7.9.0",
43
- "vscode-ripgrep-with-github-api-error-fix": "^2.8.0"
42
+ "vscode-ripgrep-with-github-api-error-fix": "^2.8.0",
43
+ "open": "^9.1.0"
44
44
  }
45
45
  }
@@ -1,7 +1,7 @@
1
1
  import * as Assert from '../Assert/Assert.js'
2
2
  import * as Timeout from '../Timeout/Timeout.js'
3
3
  import { VError } from '../VError/VError.js'
4
-
4
+ import * as Logger from '../Logger/Logger.js'
5
5
  // TODO maybe rename to extension host management for clarity
6
6
 
7
7
  const CONNECTION_TIMEOUT = 3000
@@ -10,15 +10,15 @@ export const create = async (ipc, socket) => {
10
10
  Assert.object(socket)
11
11
 
12
12
  const handleChildProcessError = (error) => {
13
- console.error(`[Extension Host] ${error}`)
13
+ Logger.error(`[Extension Host] ${error}`)
14
14
  }
15
15
 
16
16
  const handleChildProcessExit = (exitCode) => {
17
- console.info(`[SharedProcess] Extension Host exited with code ${exitCode}`)
17
+ Logger.info(`[SharedProcess] Extension Host exited with code ${exitCode}`)
18
18
  }
19
19
 
20
20
  const handleSocketClose = () => {
21
- console.info('[shared process] disposing extension host')
21
+ Logger.info('[shared process] disposing extension host')
22
22
  ipc.dispose()
23
23
  }
24
24
 
@@ -20,8 +20,8 @@ export const load = (moduleId) => {
20
20
  return import('../FileSystem/FileSystem.ipc.js')
21
21
  case ModuleId.GitLsFiles:
22
22
  return import('../GitLsFiles/GitLsFiles.ipc.js')
23
- case ModuleId.Native:
24
- return import('../Native/Native.ipc.js')
23
+ case ModuleId.OpenNativeFolder:
24
+ return import('../OpenNativeFolder/OpenNativeFolder.ipc.js')
25
25
  case ModuleId.OutputChannel:
26
26
  return import('../OutputChannel/OutputChannel.ipc.js')
27
27
  case ModuleId.Platform:
@@ -3,7 +3,7 @@ export const Developer = 2
3
3
  export const ExtensionHost = 3
4
4
  export const ExtensionManagement = 4
5
5
  export const FileSystem = 5
6
- export const Native = 6
6
+ export const OpenNativeFolder = 6
7
7
  export const OutputChannel = 7
8
8
  export const Platform = 8
9
9
  export const Preferences = 9
@@ -106,7 +106,8 @@ export const getModuleId = (commandId) => {
106
106
  case 'IsAutoUpdateSupported.isAutoUpdateSupported':
107
107
  return ModuleId.IsAutoUpdateSupported
108
108
  case 'Native.openFolder':
109
- return ModuleId.Native
109
+ case 'OpenNativeFolder.openFolder':
110
+ return ModuleId.OpenNativeFolder
110
111
  case 'OutputChannel.close':
111
112
  case 'OutputChannel.open':
112
113
  return ModuleId.OutputChannel
@@ -0,0 +1,7 @@
1
+ import * as OpenNativeFolder from './OpenNativeFolder.js'
2
+
3
+ export const name = 'OpenNativeFolder'
4
+
5
+ export const Commands = {
6
+ openFolder: OpenNativeFolder.openFolder,
7
+ }
@@ -1,4 +1,5 @@
1
1
  import { Tail } from 'tail'
2
+ import { VError } from '../VError/VError.js'
2
3
 
3
4
  // TODO
4
5
  // option 1: use tail child process
@@ -31,7 +32,11 @@ export const open = (path, onData, onError) => {
31
32
  }
32
33
 
33
34
  export const dispose = (state) => {
34
- if (state.tail) {
35
- state.tail.unwatch()
35
+ try {
36
+ if (state.tail) {
37
+ state.tail.unwatch()
38
+ }
39
+ } catch (error) {
40
+ throw new VError(error, `Failed to dispose output channel`)
36
41
  }
37
42
  }
@@ -1,7 +0,0 @@
1
- import * as Native from './Native.js'
2
-
3
- export const name = 'Native'
4
-
5
- export const Commands = {
6
- openFolder: Native.openFolder,
7
- }