@theia/monaco 1.28.0-next.9 → 1.29.0-next.10
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 +56 -0
- package/lib/browser/monaco-color-registry.d.ts.map +1 -1
- package/lib/browser/monaco-color-registry.js +4 -3
- package/lib/browser/monaco-color-registry.js.map +1 -1
- package/lib/browser/monaco-command.js +3 -3
- package/lib/browser/monaco-command.js.map +1 -1
- package/lib/browser/monaco-diff-editor.d.ts.map +1 -1
- package/lib/browser/monaco-diff-editor.js +4 -0
- package/lib/browser/monaco-diff-editor.js.map +1 -1
- package/lib/browser/monaco-editor.d.ts.map +1 -1
- package/lib/browser/monaco-editor.js +4 -1
- package/lib/browser/monaco-editor.js.map +1 -1
- package/lib/browser/monaco-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/monaco-frontend-application-contribution.js +15 -2
- package/lib/browser/monaco-frontend-application-contribution.js.map +1 -1
- package/lib/browser/monaco-indexed-db.d.ts +4 -1
- package/lib/browser/monaco-indexed-db.d.ts.map +1 -1
- package/lib/browser/monaco-indexed-db.js +18 -8
- package/lib/browser/monaco-indexed-db.js.map +1 -1
- package/lib/browser/monaco-quick-input-service.d.ts.map +1 -1
- package/lib/browser/monaco-quick-input-service.js +1 -1
- package/lib/browser/monaco-quick-input-service.js.map +1 -1
- package/lib/browser/monaco-text-model-service.d.ts.map +1 -1
- package/lib/browser/monaco-text-model-service.js +15 -17
- package/lib/browser/monaco-text-model-service.js.map +1 -1
- package/lib/browser/monaco-theming-service.d.ts +2 -3
- package/lib/browser/monaco-theming-service.d.ts.map +1 -1
- package/lib/browser/monaco-theming-service.js +3 -3
- package/lib/browser/monaco-theming-service.js.map +1 -1
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts +1 -1
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.js +38 -6
- package/lib/browser/textmate/monaco-textmate-frontend-bindings.js.map +1 -1
- package/lib/browser/textmate/monaco-textmate-service.d.ts +3 -3
- package/lib/browser/textmate/monaco-textmate-service.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-textmate-service.js +8 -30
- package/lib/browser/textmate/monaco-textmate-service.js.map +1 -1
- package/lib/browser/textmate/monaco-theme-registry.d.ts +2 -7
- package/lib/browser/textmate/monaco-theme-registry.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-theme-registry.js +9 -3
- package/lib/browser/textmate/monaco-theme-registry.js.map +1 -1
- package/lib/browser/textmate/monaco-theme-types.d.ts +11 -0
- package/lib/browser/textmate/monaco-theme-types.d.ts.map +1 -1
- package/lib/browser/textmate/monaco-theme-types.js +3 -0
- package/lib/browser/textmate/monaco-theme-types.js.map +1 -1
- package/lib/browser/textmate/textmate-tokenizer.d.ts +0 -8
- package/lib/browser/textmate/textmate-tokenizer.d.ts.map +1 -1
- package/lib/browser/textmate/textmate-tokenizer.js +7 -20
- package/lib/browser/textmate/textmate-tokenizer.js.map +1 -1
- package/package.json +11 -11
- package/src/browser/monaco-color-registry.ts +3 -2
- package/src/browser/monaco-command.ts +3 -3
- package/src/browser/monaco-diff-editor.ts +4 -0
- package/src/browser/monaco-editor.ts +4 -1
- package/src/browser/monaco-frontend-application-contribution.ts +16 -2
- package/src/browser/monaco-indexed-db.ts +16 -9
- package/src/browser/monaco-quick-input-service.ts +2 -3
- package/src/browser/monaco-text-model-service.ts +15 -16
- package/src/browser/monaco-theming-service.ts +3 -3
- package/src/browser/textmate/monaco-textmate-frontend-bindings.ts +36 -6
- package/src/browser/textmate/monaco-textmate-service.ts +6 -29
- package/src/browser/textmate/monaco-theme-registry.ts +7 -10
- package/src/browser/textmate/monaco-theme-types.ts +12 -0
- package/src/browser/textmate/textmate-tokenizer.ts +6 -19
|
@@ -15,6 +15,18 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import * as monaco from '@theia/monaco-editor-core';
|
|
18
|
+
import { IStandaloneTheme } from '@theia/monaco-editor-core/esm/vs/editor/standalone/common/standaloneTheme';
|
|
19
|
+
import { IOnigLib, IRawTheme, Registry } from 'vscode-textmate';
|
|
20
|
+
|
|
21
|
+
export interface ThemeMix extends IRawTheme, monaco.editor.IStandaloneThemeData { }
|
|
22
|
+
export interface MixStandaloneTheme extends IStandaloneTheme {
|
|
23
|
+
themeData: ThemeMix
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const OnigasmPromise = Symbol('OnigasmPromise');
|
|
27
|
+
export type OnigasmPromise = Promise<IOnigLib>;
|
|
28
|
+
export const TextmateRegistryFactory = Symbol('TextmateRegistryFactory');
|
|
29
|
+
export type TextmateRegistryFactory = (currentTheme?: ThemeMix) => Registry;
|
|
18
30
|
|
|
19
31
|
export type MonacoThemeColor = monaco.editor.IColors;
|
|
20
32
|
export interface MonacoTokenRule extends monaco.editor.ITokenThemeRule { };
|
|
@@ -49,17 +49,6 @@ export interface TokenizerOption {
|
|
|
49
49
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
export namespace TokenizerOption {
|
|
53
|
-
/**
|
|
54
|
-
* The default TextMate tokenizer option.
|
|
55
|
-
*
|
|
56
|
-
* @deprecated Use the current value of `editor.maxTokenizationLineLength` preference instead.
|
|
57
|
-
*/
|
|
58
|
-
export const DEFAULT: TokenizerOption = {
|
|
59
|
-
lineLimit: 400
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
52
|
export function createTextmateTokenizer(grammar: IGrammar, options: TokenizerOption): monaco.languages.EncodedTokensProvider & monaco.languages.TokensProvider {
|
|
64
53
|
if (options.lineLimit !== undefined && (options.lineLimit <= 0 || !Number.isInteger(options.lineLimit))) {
|
|
65
54
|
throw new Error(`The 'lineLimit' must be a positive integer. It was ${options.lineLimit}.`);
|
|
@@ -67,24 +56,22 @@ export function createTextmateTokenizer(grammar: IGrammar, options: TokenizerOpt
|
|
|
67
56
|
return {
|
|
68
57
|
getInitialState: () => new TokenizerState(INITIAL),
|
|
69
58
|
tokenizeEncoded(line: string, state: TokenizerState): monaco.languages.IEncodedLineTokens {
|
|
70
|
-
let processedLine = line;
|
|
71
59
|
if (options.lineLimit !== undefined && line.length > options.lineLimit) {
|
|
72
|
-
//
|
|
73
|
-
|
|
60
|
+
// Skip tokenizing the line if it exceeds the line limit.
|
|
61
|
+
return { endState: state.ruleStack, tokens: new Uint32Array() };
|
|
74
62
|
}
|
|
75
|
-
const result = grammar.tokenizeLine2(
|
|
63
|
+
const result = grammar.tokenizeLine2(line, state.ruleStack, 500);
|
|
76
64
|
return {
|
|
77
65
|
endState: new TokenizerState(result.ruleStack),
|
|
78
66
|
tokens: result.tokens
|
|
79
67
|
};
|
|
80
68
|
},
|
|
81
69
|
tokenize(line: string, state: TokenizerState): monaco.languages.ILineTokens {
|
|
82
|
-
let processedLine = line;
|
|
83
70
|
if (options.lineLimit !== undefined && line.length > options.lineLimit) {
|
|
84
|
-
//
|
|
85
|
-
|
|
71
|
+
// Skip tokenizing the line if it exceeds the line limit.
|
|
72
|
+
return { endState: state.ruleStack, tokens: [] };
|
|
86
73
|
}
|
|
87
|
-
const result = grammar.tokenizeLine(
|
|
74
|
+
const result = grammar.tokenizeLine(line, state.ruleStack, 500);
|
|
88
75
|
return {
|
|
89
76
|
endState: new TokenizerState(result.ruleStack),
|
|
90
77
|
tokens: result.tokens.map(t => ({
|