diff --git a/package.json b/package.json index 36a77449cba19..55519198ba65a 100644 --- a/package.json +++ b/package.json @@ -103,9 +103,7 @@ "eclipse-theia.builtin-extension-pack": "https://open-vsx.org/api/eclipse-theia/builtin-extension-pack/1.66.2/file/eclipse-theia.builtin-extension-pack-1.66.2.vsix", "EditorConfig.EditorConfig": "https://open-vsx.org/api/EditorConfig/EditorConfig/0.14.4/file/EditorConfig.EditorConfig-0.14.4.vsix", "dbaeumer.vscode-eslint": "https://open-vsx.org/api/dbaeumer/vscode-eslint/2.1.20/file/dbaeumer.vscode-eslint-2.1.20.vsix", - "ms-vscode.references-view": "https://open-vsx.org/api/ms-vscode/references-view/0.0.89/file/ms-vscode.references-view-0.0.89.vsix", - "vscode.typescript": "https://open-vsx.org/api/vscode/typescript/1.62.3/file/vscode.typescript-1.62.3.vsix", - "vscode.typescript-language-features": "https://open-vsx.org/api/vscode/typescript-language-features/1.62.3/file/vscode.typescript-language-features-1.62.3.vsix" + "ms-vscode.references-view": "https://open-vsx.org/api/ms-vscode/references-view/0.0.89/file/ms-vscode.references-view-0.0.89.vsix" }, "theiaPluginsExcludeIds": [ "ms-vscode.js-debug-companion", diff --git a/packages/plugin-ext/src/common/plugin-protocol.ts b/packages/plugin-ext/src/common/plugin-protocol.ts index 613cba65909cb..8555d3947d14f 100644 --- a/packages/plugin-ext/src/common/plugin-protocol.ts +++ b/packages/plugin-ext/src/common/plugin-protocol.ts @@ -669,6 +669,11 @@ export interface LanguageContribution { configuration?: LanguageConfiguration; } +export interface RegExpOptions { + pattern: string; + flags?: string; +} + export interface LanguageConfiguration { brackets?: CharacterPair[]; indentationRules?: IndentationRules; @@ -676,7 +681,7 @@ export interface LanguageConfiguration { autoClosingPairs?: AutoClosingPairConditional[]; comments?: CommentRule; folding?: FoldingRules; - wordPattern?: string; + wordPattern?: string | RegExpOptions; onEnterRules?: OnEnterRule[]; } @@ -702,10 +707,10 @@ export interface DebuggerContribution extends PlatformSpecificAdapterContributio } export interface IndentationRules { - increaseIndentPattern: string; - decreaseIndentPattern: string; - unIndentedLinePattern?: string; - indentNextLinePattern?: string; + increaseIndentPattern: string | RegExpOptions; + decreaseIndentPattern: string | RegExpOptions; + unIndentedLinePattern?: string | RegExpOptions; + indentNextLinePattern?: string | RegExpOptions; } export interface AutoClosingPair { close: string; @@ -717,8 +722,8 @@ export interface AutoClosingPairConditional extends AutoClosingPair { } export interface FoldingMarkers { - start: string; - end: string; + start: string | RegExpOptions; + end: string | RegExpOptions; } export interface FoldingRules { @@ -727,9 +732,9 @@ export interface FoldingRules { } export interface OnEnterRule { - beforeText: string; - afterText?: string; - previousLineText?: string; + beforeText: string | RegExpOptions; + afterText?: string | RegExpOptions; + previousLineText?: string | RegExpOptions; action: EnterAction; } diff --git a/packages/plugin-ext/src/main/browser/plugin-contribution-handler.ts b/packages/plugin-ext/src/main/browser/plugin-contribution-handler.ts index 08fbf79ea39ca..3b1f2cc18f0d8 100644 --- a/packages/plugin-ext/src/main/browser/plugin-contribution-handler.ts +++ b/packages/plugin-ext/src/main/browser/plugin-contribution-handler.ts @@ -21,7 +21,7 @@ import { TextmateRegistry, getEncodedLanguageId, MonacoTextmateService, GrammarD import { MenusContributionPointHandler } from './menus/menus-contribution-handler'; import { PluginViewRegistry } from './view/plugin-view-registry'; import { PluginCustomEditorRegistry } from './custom-editors/plugin-custom-editor-registry'; -import { PluginContribution, IndentationRules, FoldingRules, ScopeMap, DeployedPlugin, GrammarsContribution, EnterAction, OnEnterRule } from '../../common'; +import { PluginContribution, IndentationRules, FoldingRules, ScopeMap, DeployedPlugin, GrammarsContribution, EnterAction, OnEnterRule, RegExpOptions } from '../../common'; import { DefaultUriLabelProviderContribution, LabelProviderContribution, @@ -488,11 +488,14 @@ export class PluginContributionHandler { return Disposable.NULL; } - private createRegex(value: string | undefined): RegExp | undefined { + private createRegex(value: string | RegExpOptions | undefined): RegExp | undefined { if (typeof value === 'string') { return new RegExp(value, ''); } - return undefined; + if (typeof value == 'undefined') { + return undefined; + } + return new RegExp(value.pattern, value.flags); } private convertIndentationRules(rules?: IndentationRules): monaco.languages.IndentationRule | undefined {