@kroy665/code-editor-engine 1.0.0
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 +127 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/__tests__/editor.spec.d.ts +2 -0
- package/dist/__tests__/editor.spec.d.ts.map +1 -0
- package/dist/__tests__/editor.spec.js +141 -0
- package/dist/__tests__/editor.spec.js.map +1 -0
- package/dist/core/CodeEditor.d.ts +70 -0
- package/dist/core/CodeEditor.d.ts.map +1 -0
- package/dist/core/CodeEditor.js +392 -0
- package/dist/core/CodeEditor.js.map +1 -0
- package/dist/core/CommandSystem.d.ts +158 -0
- package/dist/core/CommandSystem.d.ts.map +1 -0
- package/dist/core/CommandSystem.js +358 -0
- package/dist/core/CommandSystem.js.map +1 -0
- package/dist/core/EventSystem.d.ts +87 -0
- package/dist/core/EventSystem.d.ts.map +1 -0
- package/dist/core/EventSystem.js +330 -0
- package/dist/core/EventSystem.js.map +1 -0
- package/dist/core/TextDocument.d.ts +110 -0
- package/dist/core/TextDocument.d.ts.map +1 -0
- package/dist/core/TextDocument.js +340 -0
- package/dist/core/TextDocument.js.map +1 -0
- package/dist/index.d.ts +178 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +302 -0
- package/dist/index.js.map +1 -0
- package/dist/language/Extensions.d.ts +280 -0
- package/dist/language/Extensions.d.ts.map +1 -0
- package/dist/language/Extensions.js +368 -0
- package/dist/language/Extensions.js.map +1 -0
- package/dist/language/Tokenizer.d.ts +108 -0
- package/dist/language/Tokenizer.d.ts.map +1 -0
- package/dist/language/Tokenizer.js +630 -0
- package/dist/language/Tokenizer.js.map +1 -0
- package/dist/types/core.d.ts +355 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +93 -0
- package/dist/types/core.js.map +1 -0
- package/package.json +82 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Future-Proof Headless Code Editor Engine
|
|
4
|
+
*
|
|
5
|
+
* A platform-agnostic, extensible code editor engine built for maximum
|
|
6
|
+
* flexibility and performance. This engine provides the core logic for
|
|
7
|
+
* text editing, syntax highlighting, language services, and extension
|
|
8
|
+
* management without any UI dependencies.
|
|
9
|
+
*
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
* @author Koushik Roy
|
|
12
|
+
* @license MIT
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.LanguageServiceError = exports.ExtensionError = exports.DocumentError = exports.EditorError = exports.CONSTANTS = exports.Debug = exports.IS_DEV = exports.Memory = exports.Performance = exports.Platform = exports.FEATURES = exports.BUILD_DATE = exports.VERSION = exports.ActivationEvent = exports.ExtensibleEditor = exports.BuiltInExtensions = exports.ExtensionLoader = exports.ExtensionHost = exports.BuiltInLanguages = exports.TokenizerLanguageService = exports.Tokenizer = exports.editor = exports.EditorBuilder = exports.createCodeEditor = exports.CodeEditorEngine = exports.BuiltInCommands = exports.CommandGrouper = exports.CommandHistory = exports.CommandRegistry = exports.CompositeCommand = exports.TextEditCommand = exports.UndoableCommand = exports.createDisposable = exports.combineDisposables = exports.CompositeDisposable = exports.DisposableImpl = exports.AsyncEventEmitter = exports.PriorityEventEmitter = exports.TypedEventEmitter = exports.TextDocumentImpl = exports.LineBuffer = void 0;
|
|
16
|
+
exports.createEditor = createEditor;
|
|
17
|
+
exports.createMinimalEditor = createMinimalEditor;
|
|
18
|
+
exports.position = position;
|
|
19
|
+
exports.range = range;
|
|
20
|
+
exports.selection = selection;
|
|
21
|
+
const tslib_1 = require("tslib");
|
|
22
|
+
// ================================
|
|
23
|
+
// CORE TYPES
|
|
24
|
+
// ================================
|
|
25
|
+
tslib_1.__exportStar(require("./types/core"), exports);
|
|
26
|
+
// ================================
|
|
27
|
+
// CORE ENGINE
|
|
28
|
+
// ================================
|
|
29
|
+
var TextDocument_1 = require("./core/TextDocument");
|
|
30
|
+
Object.defineProperty(exports, "LineBuffer", { enumerable: true, get: function () { return TextDocument_1.LineBuffer; } });
|
|
31
|
+
Object.defineProperty(exports, "TextDocumentImpl", { enumerable: true, get: function () { return TextDocument_1.TextDocumentImpl; } });
|
|
32
|
+
var EventSystem_1 = require("./core/EventSystem");
|
|
33
|
+
Object.defineProperty(exports, "TypedEventEmitter", { enumerable: true, get: function () { return EventSystem_1.TypedEventEmitter; } });
|
|
34
|
+
Object.defineProperty(exports, "PriorityEventEmitter", { enumerable: true, get: function () { return EventSystem_1.PriorityEventEmitter; } });
|
|
35
|
+
Object.defineProperty(exports, "AsyncEventEmitter", { enumerable: true, get: function () { return EventSystem_1.AsyncEventEmitter; } });
|
|
36
|
+
Object.defineProperty(exports, "DisposableImpl", { enumerable: true, get: function () { return EventSystem_1.DisposableImpl; } });
|
|
37
|
+
Object.defineProperty(exports, "CompositeDisposable", { enumerable: true, get: function () { return EventSystem_1.CompositeDisposable; } });
|
|
38
|
+
Object.defineProperty(exports, "combineDisposables", { enumerable: true, get: function () { return EventSystem_1.combineDisposables; } });
|
|
39
|
+
Object.defineProperty(exports, "createDisposable", { enumerable: true, get: function () { return EventSystem_1.createDisposable; } });
|
|
40
|
+
var CommandSystem_1 = require("./core/CommandSystem");
|
|
41
|
+
Object.defineProperty(exports, "UndoableCommand", { enumerable: true, get: function () { return CommandSystem_1.UndoableCommand; } });
|
|
42
|
+
Object.defineProperty(exports, "TextEditCommand", { enumerable: true, get: function () { return CommandSystem_1.TextEditCommand; } });
|
|
43
|
+
Object.defineProperty(exports, "CompositeCommand", { enumerable: true, get: function () { return CommandSystem_1.CompositeCommand; } });
|
|
44
|
+
Object.defineProperty(exports, "CommandRegistry", { enumerable: true, get: function () { return CommandSystem_1.CommandRegistry; } });
|
|
45
|
+
Object.defineProperty(exports, "CommandHistory", { enumerable: true, get: function () { return CommandSystem_1.CommandHistory; } });
|
|
46
|
+
Object.defineProperty(exports, "CommandGrouper", { enumerable: true, get: function () { return CommandSystem_1.CommandGrouper; } });
|
|
47
|
+
Object.defineProperty(exports, "BuiltInCommands", { enumerable: true, get: function () { return CommandSystem_1.BuiltInCommands; } });
|
|
48
|
+
var CodeEditor_1 = require("./core/CodeEditor");
|
|
49
|
+
Object.defineProperty(exports, "CodeEditorEngine", { enumerable: true, get: function () { return CodeEditor_1.CodeEditorEngine; } });
|
|
50
|
+
Object.defineProperty(exports, "createCodeEditor", { enumerable: true, get: function () { return CodeEditor_1.createCodeEditor; } });
|
|
51
|
+
Object.defineProperty(exports, "EditorBuilder", { enumerable: true, get: function () { return CodeEditor_1.EditorBuilder; } });
|
|
52
|
+
Object.defineProperty(exports, "editor", { enumerable: true, get: function () { return CodeEditor_1.editor; } });
|
|
53
|
+
// ================================
|
|
54
|
+
// LANGUAGE SERVICES
|
|
55
|
+
// ================================
|
|
56
|
+
var Tokenizer_1 = require("./language/Tokenizer");
|
|
57
|
+
Object.defineProperty(exports, "Tokenizer", { enumerable: true, get: function () { return Tokenizer_1.Tokenizer; } });
|
|
58
|
+
Object.defineProperty(exports, "TokenizerLanguageService", { enumerable: true, get: function () { return Tokenizer_1.TokenizerLanguageService; } });
|
|
59
|
+
Object.defineProperty(exports, "BuiltInLanguages", { enumerable: true, get: function () { return Tokenizer_1.BuiltInLanguages; } });
|
|
60
|
+
// ================================
|
|
61
|
+
// EXTENSION SYSTEM
|
|
62
|
+
// ================================
|
|
63
|
+
var Extensions_1 = require("./language/Extensions");
|
|
64
|
+
Object.defineProperty(exports, "ExtensionHost", { enumerable: true, get: function () { return Extensions_1.ExtensionHost; } });
|
|
65
|
+
Object.defineProperty(exports, "ExtensionLoader", { enumerable: true, get: function () { return Extensions_1.ExtensionLoader; } });
|
|
66
|
+
Object.defineProperty(exports, "BuiltInExtensions", { enumerable: true, get: function () { return Extensions_1.BuiltInExtensions; } });
|
|
67
|
+
Object.defineProperty(exports, "ExtensibleEditor", { enumerable: true, get: function () { return Extensions_1.ExtensibleEditor; } });
|
|
68
|
+
Object.defineProperty(exports, "ActivationEvent", { enumerable: true, get: function () { return Extensions_1.ActivationEvent; } });
|
|
69
|
+
// ================================
|
|
70
|
+
// UTILITY FUNCTIONS
|
|
71
|
+
// ================================
|
|
72
|
+
/**
|
|
73
|
+
* Create a complete editor instance with sensible defaults
|
|
74
|
+
*/
|
|
75
|
+
function createEditor(options = {}) {
|
|
76
|
+
const { ExtensibleEditor } = require('./language/Extensions');
|
|
77
|
+
const { editor, extensionHost } = ExtensibleEditor.create({
|
|
78
|
+
editorOptions: options.editorOptions,
|
|
79
|
+
extensions: options.extensions,
|
|
80
|
+
builtInExtensions: options.builtInExtensions,
|
|
81
|
+
});
|
|
82
|
+
// Activate language-specific extensions
|
|
83
|
+
if (options.languages) {
|
|
84
|
+
void Promise.allSettled(options.languages.map((lang) => extensionHost.activateByEvent(`onLanguage:${lang}`)));
|
|
85
|
+
}
|
|
86
|
+
return { editor, extensionHost };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Create a minimal editor instance without extensions
|
|
90
|
+
*/
|
|
91
|
+
function createMinimalEditor(options) {
|
|
92
|
+
const { CodeEditorEngine } = require('./core/CodeEditor');
|
|
93
|
+
return new CodeEditorEngine(options);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Utility to create a position
|
|
97
|
+
*/
|
|
98
|
+
function position(line, column) {
|
|
99
|
+
return { line, column };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Utility to create a range
|
|
103
|
+
*/
|
|
104
|
+
function range(startLine, startColumn, endLine, endColumn) {
|
|
105
|
+
return {
|
|
106
|
+
start: { line: startLine, column: startColumn },
|
|
107
|
+
end: { line: endLine, column: endColumn },
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Utility to create a selection
|
|
112
|
+
*/
|
|
113
|
+
function selection(anchorLine, anchorColumn, activeLine, activeColumn) {
|
|
114
|
+
const anchor = { line: anchorLine, column: anchorColumn };
|
|
115
|
+
const active = { line: activeLine, column: activeColumn };
|
|
116
|
+
const isReversed = activeLine < anchorLine || (activeLine === anchorLine && activeColumn < anchorColumn);
|
|
117
|
+
return {
|
|
118
|
+
start: isReversed ? active : anchor,
|
|
119
|
+
end: isReversed ? anchor : active,
|
|
120
|
+
anchor,
|
|
121
|
+
active,
|
|
122
|
+
isReversed,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// ================================
|
|
126
|
+
// VERSION INFO
|
|
127
|
+
// ================================
|
|
128
|
+
exports.VERSION = '1.0.0';
|
|
129
|
+
exports.BUILD_DATE = new Date().toISOString();
|
|
130
|
+
// ================================
|
|
131
|
+
// FEATURE FLAGS
|
|
132
|
+
// ================================
|
|
133
|
+
exports.FEATURES = {
|
|
134
|
+
SYNTAX_HIGHLIGHTING: true,
|
|
135
|
+
LANGUAGE_SERVICES: true,
|
|
136
|
+
EXTENSIONS: true,
|
|
137
|
+
UNDO_REDO: true,
|
|
138
|
+
MULTI_CURSOR: true,
|
|
139
|
+
FIND_REPLACE: true,
|
|
140
|
+
CODE_FOLDING: false, // Not implemented in this version
|
|
141
|
+
MINIMAP: false, // Not implemented in this version
|
|
142
|
+
INTELLISENSE: true,
|
|
143
|
+
DIAGNOSTICS: true,
|
|
144
|
+
CODE_ACTIONS: true,
|
|
145
|
+
FORMATTING: true,
|
|
146
|
+
RENAME: true,
|
|
147
|
+
GOTO_DEFINITION: true,
|
|
148
|
+
HOVER: true,
|
|
149
|
+
};
|
|
150
|
+
// ================================
|
|
151
|
+
// COMPATIBILITY
|
|
152
|
+
// ================================
|
|
153
|
+
/**
|
|
154
|
+
* Platform detection utilities
|
|
155
|
+
*/
|
|
156
|
+
exports.Platform = {
|
|
157
|
+
/**
|
|
158
|
+
* Check if running in a React Native environment
|
|
159
|
+
*/
|
|
160
|
+
isReactNative() {
|
|
161
|
+
return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
162
|
+
},
|
|
163
|
+
/**
|
|
164
|
+
* Check if running in a web browser
|
|
165
|
+
*/
|
|
166
|
+
isBrowser() {
|
|
167
|
+
return typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
168
|
+
},
|
|
169
|
+
/**
|
|
170
|
+
* Check if running in Node.js
|
|
171
|
+
*/
|
|
172
|
+
isNode() {
|
|
173
|
+
return (typeof process !== 'undefined' &&
|
|
174
|
+
typeof process.versions === 'object' &&
|
|
175
|
+
typeof process.versions.node === 'string');
|
|
176
|
+
},
|
|
177
|
+
/**
|
|
178
|
+
* Check if running in a worker context
|
|
179
|
+
*/
|
|
180
|
+
isWorker() {
|
|
181
|
+
return typeof globalThis.importScripts === 'function';
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Performance monitoring utilities
|
|
186
|
+
*/
|
|
187
|
+
exports.Performance = {
|
|
188
|
+
/**
|
|
189
|
+
* Measure execution time of a function
|
|
190
|
+
*/
|
|
191
|
+
async measure(name, fn) {
|
|
192
|
+
const start = performance.now();
|
|
193
|
+
try {
|
|
194
|
+
const result = await fn();
|
|
195
|
+
const end = performance.now();
|
|
196
|
+
console.debug(`[Performance] ${name}: ${(end - start).toFixed(2)}ms`);
|
|
197
|
+
return result;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
const end = performance.now();
|
|
201
|
+
console.debug(`[Performance] ${name} (error): ${(end - start).toFixed(2)}ms`);
|
|
202
|
+
throw error;
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
/**
|
|
206
|
+
* Simple profiler for development
|
|
207
|
+
*/
|
|
208
|
+
profile(fn) {
|
|
209
|
+
const start = performance.now();
|
|
210
|
+
const result = fn();
|
|
211
|
+
const time = performance.now() - start;
|
|
212
|
+
return { result, time };
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Memory management utilities
|
|
217
|
+
*/
|
|
218
|
+
exports.Memory = {
|
|
219
|
+
/**
|
|
220
|
+
* Request garbage collection (if available)
|
|
221
|
+
*/
|
|
222
|
+
gc() {
|
|
223
|
+
if (typeof global !== 'undefined' && global.gc) {
|
|
224
|
+
global.gc();
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
/**
|
|
228
|
+
* Get memory usage information (Node.js only)
|
|
229
|
+
*/
|
|
230
|
+
getUsage() {
|
|
231
|
+
if (typeof process !== 'undefined' && process.memoryUsage) {
|
|
232
|
+
return process.memoryUsage();
|
|
233
|
+
}
|
|
234
|
+
return null;
|
|
235
|
+
},
|
|
236
|
+
};
|
|
237
|
+
// ================================
|
|
238
|
+
// DEVELOPMENT HELPERS
|
|
239
|
+
// ================================
|
|
240
|
+
/**
|
|
241
|
+
* Development mode flag
|
|
242
|
+
*/
|
|
243
|
+
exports.IS_DEV = process.env.NODE_ENV === 'development';
|
|
244
|
+
/**
|
|
245
|
+
* Debug logging utility
|
|
246
|
+
*/
|
|
247
|
+
exports.Debug = {
|
|
248
|
+
log: exports.IS_DEV ? console.log.bind(console, '[Editor]') : () => { },
|
|
249
|
+
warn: exports.IS_DEV ? console.warn.bind(console, '[Editor]') : () => { },
|
|
250
|
+
error: console.error.bind(console, '[Editor]'),
|
|
251
|
+
group: exports.IS_DEV ? console.group.bind(console) : () => { },
|
|
252
|
+
groupEnd: exports.IS_DEV ? console.groupEnd.bind(console) : () => { },
|
|
253
|
+
time: exports.IS_DEV ? console.time.bind(console) : () => { },
|
|
254
|
+
timeEnd: exports.IS_DEV ? console.timeEnd.bind(console) : () => { },
|
|
255
|
+
};
|
|
256
|
+
// ================================
|
|
257
|
+
// CONSTANTS
|
|
258
|
+
// ================================
|
|
259
|
+
exports.CONSTANTS = {
|
|
260
|
+
DEFAULT_TAB_SIZE: 4,
|
|
261
|
+
DEFAULT_UNDO_STACK_SIZE: 1000,
|
|
262
|
+
MAX_FILE_SIZE: 100 * 1024 * 1024, // 100MB
|
|
263
|
+
TOKENIZATION_CHUNK_SIZE: 1000,
|
|
264
|
+
DEFAULT_GROUPING_TIMEOUT: 300,
|
|
265
|
+
MAX_SELECTIONS: 10000,
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Common error types
|
|
269
|
+
*/
|
|
270
|
+
class EditorError extends Error {
|
|
271
|
+
constructor(message, code) {
|
|
272
|
+
super(message);
|
|
273
|
+
this.code = code;
|
|
274
|
+
this.name = 'EditorError';
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
exports.EditorError = EditorError;
|
|
278
|
+
class DocumentError extends EditorError {
|
|
279
|
+
constructor(message, uri) {
|
|
280
|
+
super(message, 'DOCUMENT_ERROR');
|
|
281
|
+
this.uri = uri;
|
|
282
|
+
this.name = 'DocumentError';
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
exports.DocumentError = DocumentError;
|
|
286
|
+
class ExtensionError extends EditorError {
|
|
287
|
+
constructor(message, extensionId) {
|
|
288
|
+
super(message, 'EXTENSION_ERROR');
|
|
289
|
+
this.extensionId = extensionId;
|
|
290
|
+
this.name = 'ExtensionError';
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
exports.ExtensionError = ExtensionError;
|
|
294
|
+
class LanguageServiceError extends EditorError {
|
|
295
|
+
constructor(message, languageId) {
|
|
296
|
+
super(message, 'LANGUAGE_SERVICE_ERROR');
|
|
297
|
+
this.languageId = languageId;
|
|
298
|
+
this.name = 'LanguageServiceError';
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
exports.LanguageServiceError = LanguageServiceError;
|
|
302
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { Extension, Command, LanguageService, CodeEditor } from '../types/core';
|
|
2
|
+
import { TypedEventEmitter } from '../core/EventSystem';
|
|
3
|
+
/**
|
|
4
|
+
* Extension activation events
|
|
5
|
+
*/
|
|
6
|
+
export declare enum ActivationEvent {
|
|
7
|
+
OnStartup = "onStartup",
|
|
8
|
+
OnLanguage = "onLanguage",
|
|
9
|
+
OnCommand = "onCommand",
|
|
10
|
+
OnFileSystem = "onFileSystem",
|
|
11
|
+
OnDebug = "onDebug",
|
|
12
|
+
OnView = "onView"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Extension metadata
|
|
16
|
+
*/
|
|
17
|
+
export interface ExtensionManifest {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
readonly version: string;
|
|
21
|
+
readonly description?: string;
|
|
22
|
+
readonly publisher?: string;
|
|
23
|
+
readonly displayName?: string;
|
|
24
|
+
readonly categories?: string[];
|
|
25
|
+
readonly keywords?: string[];
|
|
26
|
+
readonly icon?: string;
|
|
27
|
+
readonly license?: string;
|
|
28
|
+
readonly repository?: string;
|
|
29
|
+
readonly bugs?: string;
|
|
30
|
+
readonly homepage?: string;
|
|
31
|
+
readonly engines?: Record<string, string>;
|
|
32
|
+
readonly activationEvents?: string[];
|
|
33
|
+
readonly main?: string;
|
|
34
|
+
readonly contributes?: ExtensionContributions;
|
|
35
|
+
readonly dependencies?: Record<string, string>;
|
|
36
|
+
readonly devDependencies?: Record<string, string>;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Extension contributions
|
|
40
|
+
*/
|
|
41
|
+
export interface ExtensionContributions {
|
|
42
|
+
readonly commands?: CommandContribution[];
|
|
43
|
+
readonly languages?: LanguageContribution[];
|
|
44
|
+
readonly grammars?: GrammarContribution[];
|
|
45
|
+
readonly themes?: ThemeContribution[];
|
|
46
|
+
readonly snippets?: SnippetContribution[];
|
|
47
|
+
readonly keybindings?: KeybindingContribution[];
|
|
48
|
+
readonly menus?: MenuContribution[];
|
|
49
|
+
readonly configuration?: ConfigurationContribution;
|
|
50
|
+
readonly views?: ViewContribution[];
|
|
51
|
+
readonly viewsContainers?: ViewContainerContribution[];
|
|
52
|
+
}
|
|
53
|
+
export interface CommandContribution {
|
|
54
|
+
readonly command: string;
|
|
55
|
+
readonly title: string;
|
|
56
|
+
readonly category?: string;
|
|
57
|
+
readonly icon?: string;
|
|
58
|
+
readonly enablement?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface LanguageContribution {
|
|
61
|
+
readonly id: string;
|
|
62
|
+
readonly aliases?: string[];
|
|
63
|
+
readonly extensions?: string[];
|
|
64
|
+
readonly filenames?: string[];
|
|
65
|
+
readonly filenamePatterns?: string[];
|
|
66
|
+
readonly mimetypes?: string[];
|
|
67
|
+
readonly firstLine?: string;
|
|
68
|
+
readonly configuration?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface GrammarContribution {
|
|
71
|
+
readonly language: string;
|
|
72
|
+
readonly scopeName: string;
|
|
73
|
+
readonly path: string;
|
|
74
|
+
readonly embeddedLanguages?: Record<string, string>;
|
|
75
|
+
readonly tokenTypes?: Record<string, string>;
|
|
76
|
+
readonly injectTo?: string[];
|
|
77
|
+
}
|
|
78
|
+
export interface ThemeContribution {
|
|
79
|
+
readonly label: string;
|
|
80
|
+
readonly uiTheme: 'vs' | 'vs-dark' | 'hc-black' | 'hc-light';
|
|
81
|
+
readonly path: string;
|
|
82
|
+
}
|
|
83
|
+
export interface SnippetContribution {
|
|
84
|
+
readonly language: string;
|
|
85
|
+
readonly path: string;
|
|
86
|
+
}
|
|
87
|
+
export interface KeybindingContribution {
|
|
88
|
+
readonly command: string;
|
|
89
|
+
readonly key: string;
|
|
90
|
+
readonly mac?: string;
|
|
91
|
+
readonly linux?: string;
|
|
92
|
+
readonly win?: string;
|
|
93
|
+
readonly when?: string;
|
|
94
|
+
}
|
|
95
|
+
export interface MenuContribution {
|
|
96
|
+
readonly commandPalette?: MenuItemContribution[];
|
|
97
|
+
readonly editor?: {
|
|
98
|
+
readonly context?: MenuItemContribution[];
|
|
99
|
+
readonly title?: MenuItemContribution[];
|
|
100
|
+
};
|
|
101
|
+
readonly explorer?: {
|
|
102
|
+
readonly context?: MenuItemContribution[];
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
export interface MenuItemContribution {
|
|
106
|
+
readonly command: string;
|
|
107
|
+
readonly when?: string;
|
|
108
|
+
readonly group?: string;
|
|
109
|
+
readonly order?: number;
|
|
110
|
+
}
|
|
111
|
+
export interface ConfigurationContribution {
|
|
112
|
+
readonly title: string;
|
|
113
|
+
readonly properties: Record<string, ConfigurationProperty>;
|
|
114
|
+
}
|
|
115
|
+
export interface ConfigurationProperty {
|
|
116
|
+
readonly type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
117
|
+
readonly default?: any;
|
|
118
|
+
readonly description: string;
|
|
119
|
+
readonly enum?: any[];
|
|
120
|
+
readonly enumDescriptions?: string[];
|
|
121
|
+
readonly minimum?: number;
|
|
122
|
+
readonly maximum?: number;
|
|
123
|
+
readonly pattern?: string;
|
|
124
|
+
readonly items?: ConfigurationProperty;
|
|
125
|
+
readonly properties?: Record<string, ConfigurationProperty>;
|
|
126
|
+
readonly markdownDescription?: string;
|
|
127
|
+
readonly deprecationMessage?: string;
|
|
128
|
+
readonly scope?: 'application' | 'machine' | 'window' | 'resource' | 'language-overridable' | 'machine-overridable';
|
|
129
|
+
}
|
|
130
|
+
export interface ViewContribution {
|
|
131
|
+
readonly id: string;
|
|
132
|
+
readonly name: string;
|
|
133
|
+
readonly when?: string;
|
|
134
|
+
readonly icon?: string;
|
|
135
|
+
readonly contextualTitle?: string;
|
|
136
|
+
readonly visibility?: 'visible' | 'hidden' | 'collapsed';
|
|
137
|
+
}
|
|
138
|
+
export interface ViewContainerContribution {
|
|
139
|
+
readonly id: string;
|
|
140
|
+
readonly title: string;
|
|
141
|
+
readonly icon: string;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Extension host for managing extension lifecycle
|
|
145
|
+
*/
|
|
146
|
+
export declare class ExtensionHost extends TypedEventEmitter<{
|
|
147
|
+
'extension-activated': {
|
|
148
|
+
extension: Extension;
|
|
149
|
+
};
|
|
150
|
+
'extension-deactivated': {
|
|
151
|
+
extension: Extension;
|
|
152
|
+
};
|
|
153
|
+
'extension-error': {
|
|
154
|
+
extension: Extension;
|
|
155
|
+
error: Error;
|
|
156
|
+
};
|
|
157
|
+
}> {
|
|
158
|
+
private readonly editor;
|
|
159
|
+
private readonly extensions;
|
|
160
|
+
private readonly contexts;
|
|
161
|
+
private readonly activatedExtensions;
|
|
162
|
+
private readonly disposables;
|
|
163
|
+
constructor(editor: CodeEditor);
|
|
164
|
+
/**
|
|
165
|
+
* Register an extension
|
|
166
|
+
*/
|
|
167
|
+
registerExtension(extension: Extension): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Activate an extension
|
|
170
|
+
*/
|
|
171
|
+
activateExtension(extensionId: string): Promise<void>;
|
|
172
|
+
/**
|
|
173
|
+
* Deactivate an extension
|
|
174
|
+
*/
|
|
175
|
+
deactivateExtension(extensionId: string): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* Get an extension by ID
|
|
178
|
+
*/
|
|
179
|
+
getExtension(extensionId: string): Extension | undefined;
|
|
180
|
+
/**
|
|
181
|
+
* Get all registered extensions
|
|
182
|
+
*/
|
|
183
|
+
getAllExtensions(): Extension[];
|
|
184
|
+
/**
|
|
185
|
+
* Get all activated extensions
|
|
186
|
+
*/
|
|
187
|
+
getActivatedExtensions(): Extension[];
|
|
188
|
+
/**
|
|
189
|
+
* Check if an extension is activated
|
|
190
|
+
*/
|
|
191
|
+
isActivated(extensionId: string): boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Activate extensions based on event
|
|
194
|
+
*/
|
|
195
|
+
activateByEvent(event: string): Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* Dispose the extension host
|
|
198
|
+
*/
|
|
199
|
+
dispose(): void;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Extension loader for loading extensions from manifests
|
|
203
|
+
*/
|
|
204
|
+
export declare class ExtensionLoader {
|
|
205
|
+
private readonly extensionHost;
|
|
206
|
+
constructor(extensionHost: ExtensionHost);
|
|
207
|
+
/**
|
|
208
|
+
* Load extension from manifest
|
|
209
|
+
*/
|
|
210
|
+
loadFromManifest(manifest: ExtensionManifest, extensionCode: Extension): Promise<void>;
|
|
211
|
+
/**
|
|
212
|
+
* Load multiple extensions
|
|
213
|
+
*/
|
|
214
|
+
loadExtensions(extensions: Array<{
|
|
215
|
+
manifest: ExtensionManifest;
|
|
216
|
+
code: Extension;
|
|
217
|
+
}>): Promise<void>;
|
|
218
|
+
private validateManifest;
|
|
219
|
+
private sortByDependencies;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Built-in extensions
|
|
223
|
+
*/
|
|
224
|
+
export declare class BuiltInExtensions {
|
|
225
|
+
/**
|
|
226
|
+
* Create a basic language support extension
|
|
227
|
+
*/
|
|
228
|
+
static createLanguageExtension(languageId: string, languageName: string, languageService: LanguageService): Extension;
|
|
229
|
+
/**
|
|
230
|
+
* Create a basic commands extension
|
|
231
|
+
*/
|
|
232
|
+
static createCommandsExtension(commands: Command[]): Extension;
|
|
233
|
+
/**
|
|
234
|
+
* Create a basic themes extension
|
|
235
|
+
*/
|
|
236
|
+
static createThemesExtension(): Extension;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Extension marketplace interface
|
|
240
|
+
*/
|
|
241
|
+
export interface ExtensionMarketplace {
|
|
242
|
+
search(query: string, options?: SearchOptions): Promise<ExtensionSearchResult[]>;
|
|
243
|
+
install(extensionId: string): Promise<void>;
|
|
244
|
+
uninstall(extensionId: string): Promise<void>;
|
|
245
|
+
update(extensionId: string): Promise<void>;
|
|
246
|
+
getInstalled(): Promise<Extension[]>;
|
|
247
|
+
}
|
|
248
|
+
export interface SearchOptions {
|
|
249
|
+
readonly category?: string;
|
|
250
|
+
readonly sortBy?: 'relevance' | 'downloads' | 'rating' | 'name';
|
|
251
|
+
readonly sortOrder?: 'asc' | 'desc';
|
|
252
|
+
readonly limit?: number;
|
|
253
|
+
readonly offset?: number;
|
|
254
|
+
}
|
|
255
|
+
export interface ExtensionSearchResult {
|
|
256
|
+
readonly id: string;
|
|
257
|
+
readonly name: string;
|
|
258
|
+
readonly version: string;
|
|
259
|
+
readonly description: string;
|
|
260
|
+
readonly publisher: string;
|
|
261
|
+
readonly downloads: number;
|
|
262
|
+
readonly rating: number;
|
|
263
|
+
readonly categories: string[];
|
|
264
|
+
readonly icon?: string;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Factory for creating extension-enabled editors
|
|
268
|
+
*/
|
|
269
|
+
export declare class ExtensibleEditor {
|
|
270
|
+
static create(options?: {
|
|
271
|
+
editorOptions?: any;
|
|
272
|
+
extensions?: Extension[];
|
|
273
|
+
builtInExtensions?: boolean;
|
|
274
|
+
}): {
|
|
275
|
+
editor: CodeEditor;
|
|
276
|
+
extensionHost: ExtensionHost;
|
|
277
|
+
};
|
|
278
|
+
private static loadBuiltInExtensions;
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=Extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Extensions.d.ts","sourceRoot":"","sources":["../../src/language/Extensions.ts"],"names":[],"mappings":"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"}
|