@nocturnium/svelte-ide 1.0.0 → 1.0.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/README.md +43 -47
- package/dist/components/agents/AgentActivityPanel.svelte +3 -1
- package/dist/components/agents/AgentAvatar.svelte +127 -35
- package/dist/components/agents/AgentCursor.svelte +15 -5
- package/dist/components/agents/AgentPresenceBar.svelte +7 -2
- package/dist/components/ai/AIConversationList.svelte +39 -34
- package/dist/components/ai/AIInlineEdit.svelte +1 -3
- package/dist/components/ai/AIMessage.svelte +5 -5
- package/dist/components/ai/AIMessageActions.svelte +18 -3
- package/dist/components/ai/AIMessageContent.svelte +22 -20
- package/dist/components/ai/AIPanel.svelte +17 -9
- package/dist/components/ai/AISuggestionWidget.svelte +1 -3
- package/dist/components/ai/AIToolCallDisplay.svelte +10 -14
- package/dist/components/core/Badge.svelte +9 -1
- package/dist/components/core/ConnectionStatus.svelte +73 -68
- package/dist/components/core/ErrorBoundary.svelte +56 -56
- package/dist/components/core/ErrorBoundary.svelte.d.ts +5 -5
- package/dist/components/core/Icon.svelte +22 -11
- package/dist/components/core/ResizeHandle.svelte +1 -1
- package/dist/components/core/Tooltip.svelte +1 -7
- package/dist/components/editor/AIFocusLayer.svelte +15 -7
- package/dist/components/editor/Breadcrumbs.svelte +18 -6
- package/dist/components/editor/BreakpointLayer.svelte +51 -60
- package/dist/components/editor/CognitiveLoadMeter.svelte +4 -2
- package/dist/components/editor/CollaborativeEditor.svelte +1 -5
- package/dist/components/editor/CommandPalette.svelte +1 -4
- package/dist/components/editor/ComplexityLayer.svelte +8 -6
- package/dist/components/editor/ConflictZoneLayer.svelte +2 -8
- package/dist/components/editor/ContextLens.svelte +1 -4
- package/dist/components/editor/CustomEditor.svelte +85 -41
- package/dist/components/editor/DebugConsole.svelte +8 -17
- package/dist/components/editor/EchoCursorLayer.svelte +3 -1
- package/dist/components/editor/EditorGutter.svelte +8 -2
- package/dist/components/editor/EditorLines.svelte +6 -3
- package/dist/components/editor/EditorPane.svelte +1 -6
- package/dist/components/editor/EditorSelections.svelte +29 -11
- package/dist/components/editor/FileExplorer.svelte +26 -4
- package/dist/components/editor/FileIcon.svelte +3 -1
- package/dist/components/editor/FindReplace.svelte +16 -4
- package/dist/components/editor/GhostBracketLayer.svelte +2 -2
- package/dist/components/editor/GitBlameLayer.svelte +2 -1
- package/dist/components/editor/InlineDiagnosticsLayer.svelte +4 -13
- package/dist/components/editor/InlineDiffLayer.svelte +18 -9
- package/dist/components/editor/Minimap.svelte +16 -9
- package/dist/components/editor/PluginPreviewSandbox.svelte +3 -2
- package/dist/components/editor/ProblemsPanel.svelte +11 -35
- package/dist/components/editor/QuickActionsMenu.svelte +5 -14
- package/dist/components/editor/SnippetPalette.svelte +11 -12
- package/dist/components/editor/StructureMap.svelte +2 -1
- package/dist/components/editor/SymbolOutline.svelte +14 -19
- package/dist/components/editor/TimelineScrubber.svelte +7 -6
- package/dist/components/editor/core/complexity-analyzer.js +42 -12
- package/dist/components/editor/core/conflict-predictor.js +2 -4
- package/dist/components/editor/core/folding.d.ts +9 -0
- package/dist/components/editor/core/folding.js +40 -5
- package/dist/components/editor/core/multi-cursor.js +4 -8
- package/dist/components/editor/core/navigation.js +2 -6
- package/dist/components/editor/core/quick-actions.js +22 -17
- package/dist/components/editor/core/search.js +2 -6
- package/dist/components/editor/core/semantic-analyzer.js +1 -3
- package/dist/components/editor/core/snippet-manager.js +4 -3
- package/dist/components/editor/core/state.js +2 -2
- package/dist/components/editor/core/timeline.js +1 -3
- package/dist/components/editor/editor-input.js +9 -6
- package/dist/components/editor/editor-multicursor.js +2 -2
- package/dist/components/editor/tokenizer/languages/css.js +146 -24
- package/dist/components/editor/tokenizer/languages/go.js +76 -13
- package/dist/components/editor/tokenizer/languages/javascript.d.ts +13 -2
- package/dist/components/editor/tokenizer/languages/javascript.js +278 -84
- package/dist/components/editor/tokenizer/languages/python.js +116 -19
- package/dist/components/editor/tokenizer/languages/svelte.js +20 -7
- package/dist/components/layout/IDELayout.svelte +6 -2
- package/dist/components/layout/StatusBar.svelte +32 -20
- package/dist/components/lsp/AutocompleteWidget.svelte +19 -19
- package/dist/components/lsp/DiagnosticMarker.svelte +61 -52
- package/dist/components/lsp/DiagnosticsPanel.svelte +45 -27
- package/dist/components/lsp/HoverTooltip.svelte +56 -61
- package/dist/components/lsp/LSPEditor.svelte +7 -18
- package/dist/components/lsp/SignatureHelpWidget.svelte +12 -9
- package/dist/components/plugins/PluginCard.svelte +3 -13
- package/dist/components/plugins/PluginProposalForm.svelte +19 -31
- package/dist/components/vfs/LockConflictDialog.svelte +112 -45
- package/dist/components/vfs/LockIndicator.svelte +0 -1
- package/dist/components/vfs/LockOverlay.svelte +53 -53
- package/dist/components/vfs/LockOverlay.svelte.d.ts +5 -5
- package/dist/components/vfs/VersionConflictDialog.svelte +107 -77
- package/dist/services/error-handling.js +1 -7
- package/dist/services/mock-ai.js +9 -7
- package/dist/stores/agents.svelte.js +50 -10
- package/dist/stores/ai.svelte.js +66 -18
- package/dist/stores/collaboration.svelte.js +70 -14
- package/dist/stores/editor.svelte.js +50 -10
- package/dist/stores/plugin.svelte.js +60 -12
- package/dist/stores/vfs.svelte.js +77 -19
- package/dist/styles/theme.css +16 -7
- package/package.json +186 -1
|
@@ -4,28 +4,128 @@
|
|
|
4
4
|
import { createToken } from '../base';
|
|
5
5
|
// CSS properties (common ones)
|
|
6
6
|
const properties = new Set([
|
|
7
|
-
'align-content',
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
14
|
-
'
|
|
15
|
-
'
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
7
|
+
'align-content',
|
|
8
|
+
'align-items',
|
|
9
|
+
'align-self',
|
|
10
|
+
'animation',
|
|
11
|
+
'animation-delay',
|
|
12
|
+
'animation-direction',
|
|
13
|
+
'animation-duration',
|
|
14
|
+
'animation-fill-mode',
|
|
15
|
+
'animation-iteration-count',
|
|
16
|
+
'animation-name',
|
|
17
|
+
'animation-play-state',
|
|
18
|
+
'animation-timing-function',
|
|
19
|
+
'background',
|
|
20
|
+
'background-attachment',
|
|
21
|
+
'background-blend-mode',
|
|
22
|
+
'background-clip',
|
|
23
|
+
'background-color',
|
|
24
|
+
'background-image',
|
|
25
|
+
'background-origin',
|
|
26
|
+
'background-position',
|
|
27
|
+
'background-repeat',
|
|
28
|
+
'background-size',
|
|
29
|
+
'border',
|
|
30
|
+
'border-bottom',
|
|
31
|
+
'border-color',
|
|
32
|
+
'border-left',
|
|
33
|
+
'border-radius',
|
|
34
|
+
'border-right',
|
|
35
|
+
'border-style',
|
|
36
|
+
'border-top',
|
|
37
|
+
'border-width',
|
|
38
|
+
'bottom',
|
|
39
|
+
'box-shadow',
|
|
40
|
+
'box-sizing',
|
|
41
|
+
'color',
|
|
42
|
+
'content',
|
|
43
|
+
'cursor',
|
|
44
|
+
'display',
|
|
45
|
+
'filter',
|
|
46
|
+
'flex',
|
|
47
|
+
'flex-basis',
|
|
48
|
+
'flex-direction',
|
|
49
|
+
'flex-flow',
|
|
50
|
+
'flex-grow',
|
|
51
|
+
'flex-shrink',
|
|
52
|
+
'flex-wrap',
|
|
53
|
+
'float',
|
|
54
|
+
'font',
|
|
55
|
+
'font-family',
|
|
56
|
+
'font-size',
|
|
57
|
+
'font-style',
|
|
58
|
+
'font-weight',
|
|
59
|
+
'gap',
|
|
60
|
+
'grid',
|
|
61
|
+
'grid-area',
|
|
62
|
+
'grid-column',
|
|
63
|
+
'grid-gap',
|
|
64
|
+
'grid-row',
|
|
65
|
+
'grid-template',
|
|
66
|
+
'grid-template-areas',
|
|
67
|
+
'grid-template-columns',
|
|
68
|
+
'grid-template-rows',
|
|
69
|
+
'height',
|
|
70
|
+
'justify-content',
|
|
71
|
+
'justify-items',
|
|
72
|
+
'justify-self',
|
|
73
|
+
'left',
|
|
74
|
+
'letter-spacing',
|
|
75
|
+
'line-height',
|
|
76
|
+
'list-style',
|
|
77
|
+
'margin',
|
|
78
|
+
'margin-bottom',
|
|
79
|
+
'margin-left',
|
|
80
|
+
'margin-right',
|
|
81
|
+
'margin-top',
|
|
82
|
+
'max-height',
|
|
83
|
+
'max-width',
|
|
84
|
+
'min-height',
|
|
85
|
+
'min-width',
|
|
86
|
+
'object-fit',
|
|
87
|
+
'opacity',
|
|
88
|
+
'order',
|
|
89
|
+
'outline',
|
|
90
|
+
'overflow',
|
|
91
|
+
'overflow-x',
|
|
92
|
+
'overflow-y',
|
|
93
|
+
'padding',
|
|
94
|
+
'padding-bottom',
|
|
95
|
+
'padding-left',
|
|
96
|
+
'padding-right',
|
|
97
|
+
'padding-top',
|
|
98
|
+
'place-content',
|
|
99
|
+
'place-items',
|
|
100
|
+
'place-self',
|
|
101
|
+
'pointer-events',
|
|
102
|
+
'position',
|
|
103
|
+
'resize',
|
|
104
|
+
'right',
|
|
105
|
+
'row-gap',
|
|
106
|
+
'text-align',
|
|
107
|
+
'text-decoration',
|
|
108
|
+
'text-indent',
|
|
109
|
+
'text-overflow',
|
|
110
|
+
'text-shadow',
|
|
111
|
+
'text-transform',
|
|
112
|
+
'top',
|
|
113
|
+
'transform',
|
|
114
|
+
'transform-origin',
|
|
115
|
+
'transition',
|
|
116
|
+
'transition-delay',
|
|
117
|
+
'transition-duration',
|
|
118
|
+
'transition-property',
|
|
119
|
+
'transition-timing-function',
|
|
120
|
+
'user-select',
|
|
121
|
+
'vertical-align',
|
|
122
|
+
'visibility',
|
|
123
|
+
'white-space',
|
|
124
|
+
'width',
|
|
125
|
+
'word-break',
|
|
126
|
+
'word-spacing',
|
|
127
|
+
'word-wrap',
|
|
128
|
+
'z-index'
|
|
29
129
|
]);
|
|
30
130
|
export class CSSTokenizer {
|
|
31
131
|
language = 'css';
|
|
@@ -141,11 +241,33 @@ export class CSSTokenizer {
|
|
|
141
241
|
if (keywordMatch) {
|
|
142
242
|
const word = keywordMatch[0];
|
|
143
243
|
// Common CSS keywords
|
|
144
|
-
if ([
|
|
244
|
+
if ([
|
|
245
|
+
'inherit',
|
|
246
|
+
'initial',
|
|
247
|
+
'unset',
|
|
248
|
+
'revert',
|
|
249
|
+
'none',
|
|
250
|
+
'auto',
|
|
251
|
+
'transparent',
|
|
252
|
+
'currentColor',
|
|
253
|
+
'important'
|
|
254
|
+
].includes(word)) {
|
|
145
255
|
return createToken('keyword', word, pos);
|
|
146
256
|
}
|
|
147
257
|
// Color names
|
|
148
|
-
if ([
|
|
258
|
+
if ([
|
|
259
|
+
'red',
|
|
260
|
+
'blue',
|
|
261
|
+
'green',
|
|
262
|
+
'white',
|
|
263
|
+
'black',
|
|
264
|
+
'yellow',
|
|
265
|
+
'orange',
|
|
266
|
+
'purple',
|
|
267
|
+
'pink',
|
|
268
|
+
'gray',
|
|
269
|
+
'grey'
|
|
270
|
+
].includes(word)) {
|
|
149
271
|
return createToken('constant', word, pos);
|
|
150
272
|
}
|
|
151
273
|
return createToken('text', word, pos);
|
|
@@ -4,25 +4,88 @@
|
|
|
4
4
|
import { createToken } from '../base';
|
|
5
5
|
// Go keywords
|
|
6
6
|
const keywords = new Set([
|
|
7
|
-
'break',
|
|
8
|
-
'
|
|
9
|
-
'
|
|
7
|
+
'break',
|
|
8
|
+
'case',
|
|
9
|
+
'chan',
|
|
10
|
+
'const',
|
|
11
|
+
'continue',
|
|
12
|
+
'default',
|
|
13
|
+
'defer',
|
|
14
|
+
'else',
|
|
15
|
+
'fallthrough',
|
|
16
|
+
'for',
|
|
17
|
+
'func',
|
|
18
|
+
'go',
|
|
19
|
+
'goto',
|
|
20
|
+
'if',
|
|
21
|
+
'import',
|
|
22
|
+
'interface',
|
|
23
|
+
'map',
|
|
24
|
+
'package',
|
|
25
|
+
'range',
|
|
26
|
+
'return',
|
|
27
|
+
'select',
|
|
28
|
+
'struct',
|
|
29
|
+
'switch',
|
|
30
|
+
'type',
|
|
31
|
+
'var'
|
|
10
32
|
]);
|
|
11
33
|
const controlKeywords = new Set([
|
|
12
|
-
'break',
|
|
13
|
-
'
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
'
|
|
34
|
+
'break',
|
|
35
|
+
'case',
|
|
36
|
+
'continue',
|
|
37
|
+
'default',
|
|
38
|
+
'defer',
|
|
39
|
+
'else',
|
|
40
|
+
'fallthrough',
|
|
41
|
+
'for',
|
|
42
|
+
'go',
|
|
43
|
+
'goto',
|
|
44
|
+
'if',
|
|
45
|
+
'range',
|
|
46
|
+
'return',
|
|
47
|
+
'select',
|
|
48
|
+
'switch'
|
|
17
49
|
]);
|
|
50
|
+
const builtins = new Set(['true', 'false', 'nil', 'iota']);
|
|
18
51
|
const builtinFunctions = new Set([
|
|
19
|
-
'append',
|
|
20
|
-
'
|
|
52
|
+
'append',
|
|
53
|
+
'cap',
|
|
54
|
+
'close',
|
|
55
|
+
'complex',
|
|
56
|
+
'copy',
|
|
57
|
+
'delete',
|
|
58
|
+
'imag',
|
|
59
|
+
'len',
|
|
60
|
+
'make',
|
|
61
|
+
'new',
|
|
62
|
+
'panic',
|
|
63
|
+
'print',
|
|
64
|
+
'println',
|
|
65
|
+
'real',
|
|
66
|
+
'recover'
|
|
21
67
|
]);
|
|
22
68
|
const builtinTypes = new Set([
|
|
23
|
-
'bool',
|
|
24
|
-
'
|
|
25
|
-
'
|
|
69
|
+
'bool',
|
|
70
|
+
'byte',
|
|
71
|
+
'complex64',
|
|
72
|
+
'complex128',
|
|
73
|
+
'error',
|
|
74
|
+
'float32',
|
|
75
|
+
'float64',
|
|
76
|
+
'int',
|
|
77
|
+
'int8',
|
|
78
|
+
'int16',
|
|
79
|
+
'int32',
|
|
80
|
+
'int64',
|
|
81
|
+
'rune',
|
|
82
|
+
'string',
|
|
83
|
+
'uint',
|
|
84
|
+
'uint8',
|
|
85
|
+
'uint16',
|
|
86
|
+
'uint32',
|
|
87
|
+
'uint64',
|
|
88
|
+
'uintptr'
|
|
26
89
|
]);
|
|
27
90
|
export class GoTokenizer {
|
|
28
91
|
language = 'go';
|
|
@@ -45,8 +45,19 @@ export declare class JavaScriptTokenizer {
|
|
|
45
45
|
*/
|
|
46
46
|
private tryMatchRegex;
|
|
47
47
|
private tokenizeString;
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Scan the string portion of a template literal, starting at `startPos`. Emits
|
|
50
|
+
* one `string.template` token for the run of literal characters and stops at one
|
|
51
|
+
* of three boundaries:
|
|
52
|
+
* - a closing backtick → ends the literal (clears template state);
|
|
53
|
+
* - a `${` → emits the `${` delimiter and enters interpolation
|
|
54
|
+
* (templateDepth = 1) so the expression is tokenized as code by the caller;
|
|
55
|
+
* - end of line → the literal spans lines and continues next line.
|
|
56
|
+
*
|
|
57
|
+
* `isStart` is true when this is the opening backtick (vs. a continuation of a
|
|
58
|
+
* multi-line literal or the resumption after a `${…}` interpolation).
|
|
59
|
+
*/
|
|
60
|
+
private scanTemplateString;
|
|
50
61
|
private tokenizeJSXTag;
|
|
51
62
|
}
|
|
52
63
|
export declare function createJavaScriptTokenizer(): JavaScriptTokenizer;
|