Skip to content

Commit 8278e31

Browse files
committed
Revert changes
1 parent 44b799f commit 8278e31

File tree

14 files changed

+148
-134
lines changed

14 files changed

+148
-134
lines changed

src/vs/platform/terminal/common/capabilities/capabilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import { Event } from 'vs/base/common/event';
77
import { IDisposable } from 'vs/base/common/lifecycle';
8-
import { ITerminalOutputMatch } from 'vs/platform/terminal/common/terminal';
98
import { ReplayEntry } from 'vs/platform/terminal/common/terminalProcess';
9+
import { ITerminalOutputMatch } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
1010

1111
interface IEvent<T, U = void> {
1212
(listener: (arg1: T, arg2: U) => any): IDisposable;

src/vs/platform/terminal/common/capabilities/commandDetectionCapability.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { debounce } from 'vs/base/common/decorators';
88
import { Emitter } from 'vs/base/common/event';
99
import { ILogService } from 'vs/platform/log/common/log';
1010
import { ICommandDetectionCapability, TerminalCapability, ITerminalCommand, IHandleCommandOptions, ICommandInvalidationRequest, CommandInvalidationReason, ISerializedCommand, ISerializedCommandDetectionCapability, ITerminalOutputMatcher } from 'vs/platform/terminal/common/capabilities/capabilities';
11-
import { ITerminalOutputMatch } from 'vs/platform/terminal/common/terminal';
11+
import { ITerminalOutputMatch } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
1212

1313
// Importing types is safe in any layer
1414
// eslint-disable-next-line local/code-import-patterns

src/vs/platform/terminal/common/terminal.ts

Lines changed: 1 addition & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -7,96 +7,11 @@ import { Event } from 'vs/base/common/event';
77
import { IProcessEnvironment, OperatingSystem } from 'vs/base/common/platform';
88
import { URI, UriComponents } from 'vs/base/common/uri';
99
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
10-
import { IPtyHostProcessReplayEvent, ISerializedCommandDetectionCapability, ITerminalCapabilityStore, ITerminalCommand, ITerminalOutputMatcher } from 'vs/platform/terminal/common/capabilities/capabilities';
10+
import { IPtyHostProcessReplayEvent, ISerializedCommandDetectionCapability, ITerminalCapabilityStore } from 'vs/platform/terminal/common/capabilities/capabilities';
1111
import { IGetTerminalLayoutInfoArgs, IProcessDetails, ISetTerminalLayoutInfoArgs } from 'vs/platform/terminal/common/terminalProcess';
1212
import { ThemeIcon } from 'vs/platform/theme/common/themeService';
1313
import { ISerializableEnvironmentVariableCollections } from 'vs/platform/terminal/common/environmentVariable';
14-
import { IAction } from 'vs/base/common/actions';
15-
import { CancellationToken } from 'vs/base/common/cancellation';
16-
// Importing types is safe in any layer
17-
// eslint-disable-next-line local/code-import-patterns
18-
import { Terminal } from 'xterm-headless';
1914

20-
export interface ITerminalCommandSelector {
21-
id: string;
22-
extensionId: string;
23-
commandLineMatcher: string | RegExp;
24-
outputMatcher?: ITerminalOutputMatcher;
25-
exitStatus: boolean;
26-
}
27-
28-
29-
export interface ITerminalQuickFixOptions {
30-
type: 'internal' | 'resolved' | 'unresolved';
31-
id: string;
32-
commandLineMatcher: string | RegExp;
33-
outputMatcher?: ITerminalOutputMatcher;
34-
exitStatus: boolean;
35-
}
36-
37-
export interface ITerminalQuickFix {
38-
type: 'command' | 'opener';
39-
id?: string;
40-
}
41-
42-
export interface ITerminalQuickFixCommandAction extends ITerminalQuickFix {
43-
type: 'command';
44-
terminalCommand: string;
45-
id: string;
46-
// TODO: Should this depend on whether alt is held?
47-
addNewLine?: boolean;
48-
}
49-
export interface ITerminalQuickFixOpenerAction extends ITerminalQuickFix {
50-
type: 'opener';
51-
id: string;
52-
uri: UriComponents;
53-
}
54-
55-
56-
export interface ITerminalCommandSelector {
57-
commandLineMatcher: string | RegExp;
58-
outputMatcher?: ITerminalOutputMatcher;
59-
exitStatus: boolean;
60-
}
61-
62-
export type TerminalQuickFixActionInternal = IAction | ITerminalQuickFixCommandAction | ITerminalQuickFixOpenerAction;
63-
export type TerminalQuickFixCallback = (matchResult: ITerminalCommandMatchResult) => TerminalQuickFixActionInternal[] | TerminalQuickFixActionInternal | undefined;
64-
export type TerminalQuickFixCallbackExtension = (terminalCommand: ITerminalCommand, terminal: Terminal, option: ITerminalQuickFixOptions, token: CancellationToken) => Promise<ITerminalQuickFix[] | ITerminalQuickFix | undefined>;
65-
66-
export interface ITerminalQuickFixProvider {
67-
/**
68-
* Provides terminal quick fixes
69-
* @param commandMatchResult The command match result for which to provide quick fixes
70-
* @param token A cancellation token indicating the result is no longer needed
71-
* @return Terminal quick fix(es) if any
72-
*/
73-
provideTerminalQuickFixes(terminalCommand: ITerminalCommand, terminal: Terminal, option: ITerminalQuickFixOptions, token: CancellationToken): Promise<ITerminalQuickFix[] | ITerminalQuickFix | undefined>;
74-
}
75-
export interface ITerminalCommandMatchResult {
76-
commandLine: string;
77-
commandLineMatch: RegExpMatchArray;
78-
outputMatch?: ITerminalOutputMatch;
79-
}
80-
81-
export interface ITerminalOutputMatch {
82-
regexMatch: RegExpMatchArray;
83-
outputLines?: string[];
84-
}
85-
86-
export interface IInternalOptions extends ITerminalQuickFixOptions {
87-
type: 'internal';
88-
getQuickFixes: TerminalQuickFixCallback;
89-
}
90-
91-
92-
export interface IResolvedExtensionOptions extends ITerminalQuickFixOptions {
93-
type: 'resolved';
94-
getQuickFixes: TerminalQuickFixCallbackExtension;
95-
}
96-
97-
export interface IUnresolvedExtensionOptions extends ITerminalQuickFixOptions {
98-
type: 'unresolved';
99-
}
10015

10116
export const enum TerminalSettingPrefix {
10217
Shell = 'terminal.integrated.shell.',
@@ -880,13 +795,6 @@ export interface ITerminalProfileSource extends IBaseUnresolvedTerminalProfile {
880795
source: ProfileSource;
881796
}
882797

883-
884-
export interface ITerminalContributions {
885-
profiles?: ITerminalProfileContribution[];
886-
quickFixes?: ITerminalCommandSelector[];
887-
}
888-
889-
890798
export interface ITerminalProfileContribution {
891799
title: string;
892800
id: string;
@@ -898,10 +806,6 @@ export interface IExtensionTerminalProfile extends ITerminalProfileContribution
898806
extensionIdentifier: string;
899807
}
900808

901-
export interface IExtensionTerminalQuickFix extends ITerminalQuickFixOptions {
902-
extensionIdentifier: string;
903-
}
904-
905809
export type ITerminalProfileObject = ITerminalExecutable | ITerminalProfileSource | IExtensionTerminalProfile | null;
906810

907811
export interface IShellIntegration {
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
7+
import { IAction } from 'vs/base/common/actions';
8+
import { CancellationToken } from 'vs/base/common/cancellation';
9+
import { UriComponents } from 'vs/base/common/uri';
10+
import { ITerminalOutputMatcher, ITerminalCommand } from 'vs/platform/terminal/common/capabilities/capabilities';
11+
import { ITerminalProfileContribution } from 'vs/platform/terminal/common/terminal';
12+
// Importing types is safe in any layer
13+
// eslint-disable-next-line local/code-import-patterns
14+
import { Terminal } from 'xterm-headless';
15+
16+
export interface ITerminalCommandSelector {
17+
id: string;
18+
extensionId: string;
19+
commandLineMatcher: string | RegExp;
20+
outputMatcher?: ITerminalOutputMatcher;
21+
exitStatus: boolean;
22+
}
23+
24+
25+
export interface ITerminalQuickFixOptions {
26+
type: 'internal' | 'resolved' | 'unresolved';
27+
id: string;
28+
commandLineMatcher: string | RegExp;
29+
outputMatcher?: ITerminalOutputMatcher;
30+
exitStatus: boolean;
31+
}
32+
33+
export interface ITerminalQuickFix {
34+
type: 'command' | 'opener';
35+
id?: string;
36+
}
37+
38+
export interface ITerminalQuickFixCommandAction extends ITerminalQuickFix {
39+
type: 'command';
40+
terminalCommand: string;
41+
id: string;
42+
// TODO: Should this depend on whether alt is held?
43+
addNewLine?: boolean;
44+
}
45+
export interface ITerminalQuickFixOpenerAction extends ITerminalQuickFix {
46+
type: 'opener';
47+
id: string;
48+
uri: UriComponents;
49+
}
50+
51+
52+
export interface ITerminalCommandSelector {
53+
commandLineMatcher: string | RegExp;
54+
outputMatcher?: ITerminalOutputMatcher;
55+
exitStatus: boolean;
56+
}
57+
58+
export type TerminalQuickFixActionInternal = IAction | ITerminalQuickFixCommandAction | ITerminalQuickFixOpenerAction;
59+
export type TerminalQuickFixCallback = (matchResult: ITerminalCommandMatchResult) => TerminalQuickFixActionInternal[] | TerminalQuickFixActionInternal | undefined;
60+
export type TerminalQuickFixCallbackExtension = (terminalCommand: ITerminalCommand, terminal: Terminal, option: ITerminalQuickFixOptions, token: CancellationToken) => Promise<ITerminalQuickFix[] | ITerminalQuickFix | undefined>;
61+
62+
export interface ITerminalQuickFixProvider {
63+
/**
64+
* Provides terminal quick fixes
65+
* @param commandMatchResult The command match result for which to provide quick fixes
66+
* @param token A cancellation token indicating the result is no longer needed
67+
* @return Terminal quick fix(es) if any
68+
*/
69+
provideTerminalQuickFixes(terminalCommand: ITerminalCommand, terminal: Terminal, option: ITerminalQuickFixOptions, token: CancellationToken): Promise<ITerminalQuickFix[] | ITerminalQuickFix | undefined>;
70+
}
71+
export interface ITerminalCommandMatchResult {
72+
commandLine: string;
73+
commandLineMatch: RegExpMatchArray;
74+
outputMatch?: ITerminalOutputMatch;
75+
}
76+
77+
export interface ITerminalOutputMatch {
78+
regexMatch: RegExpMatchArray;
79+
outputLines?: string[];
80+
}
81+
82+
export interface IInternalOptions extends ITerminalQuickFixOptions {
83+
type: 'internal';
84+
getQuickFixes: TerminalQuickFixCallback;
85+
}
86+
87+
88+
export interface IResolvedExtensionOptions extends ITerminalQuickFixOptions {
89+
type: 'resolved';
90+
getQuickFixes: TerminalQuickFixCallbackExtension;
91+
}
92+
93+
export interface IUnresolvedExtensionOptions extends ITerminalQuickFixOptions {
94+
type: 'unresolved';
95+
}
96+
97+
export interface ITerminalContributions {
98+
profiles?: ITerminalProfileContribution[];
99+
quickFixes?: ITerminalCommandSelector[];
100+
}
101+
102+
export interface IExtensionTerminalQuickFix extends ITerminalQuickFixOptions {
103+
extensionIdentifier: string;
104+
}

src/vs/workbench/api/browser/mainThreadTerminalService.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { URI } from 'vs/base/common/uri';
1010
import { StopWatch } from 'vs/base/common/stopwatch';
1111
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
1212
import { ILogService } from 'vs/platform/log/common/log';
13-
import { IProcessProperty, IShellLaunchConfig, IShellLaunchConfigDto, ITerminalQuickFixOptions, ProcessPropertyType, TerminalExitReason, TerminalLocation } from 'vs/platform/terminal/common/terminal';
13+
import { IProcessProperty, IShellLaunchConfig, IShellLaunchConfigDto, ProcessPropertyType, TerminalExitReason, TerminalLocation } from 'vs/platform/terminal/common/terminal';
1414
import { TerminalDataBufferer } from 'vs/platform/terminal/common/terminalDataBuffering';
1515
import { ITerminalEditorService, ITerminalExternalLinkProvider, ITerminalGroupService, ITerminalInstance, ITerminalInstanceService, ITerminalLink, ITerminalService } from 'vs/workbench/contrib/terminal/browser/terminal';
1616
import { TerminalProcessExtHostProxy } from 'vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy';
@@ -28,6 +28,7 @@ import { CancellationToken } from 'vs/base/common/cancellation';
2828
import { Terminal } from 'xterm-headless';
2929
import { ITerminalCommand } from 'vs/platform/terminal/common/capabilities/capabilities';
3030
import { getOutputMatchForCommand } from 'vs/platform/terminal/common/capabilities/commandDetectionCapability';
31+
import { ITerminalQuickFixOptions } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
3132

3233
@extHostNamedCustomer(MainContext.MainThreadTerminalService)
3334
export class MainThreadTerminalService implements MainThreadTerminalServiceShape {

src/vs/workbench/contrib/terminal/browser/terminal.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import { URI } from 'vs/base/common/uri';
1111
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
1212
import { IKeyMods } from 'vs/platform/quickinput/common/quickInput';
1313
import { IMarkProperties, ITerminalCapabilityStore, ITerminalCommand } from 'vs/platform/terminal/common/capabilities/capabilities';
14-
import { IExtensionTerminalProfile, IReconnectionProperties, IShellIntegration, IShellLaunchConfig, ITerminalDimensions, ITerminalLaunchError, ITerminalProfile, ITerminalQuickFixOptions, ITerminalTabLayoutInfoById, TerminalExitReason, TerminalIcon, TerminalLocation, TerminalShellType, TerminalType, TitleEventSource, WaitOnExitValue } from 'vs/platform/terminal/common/terminal';
14+
import { IExtensionTerminalProfile, IReconnectionProperties, IShellIntegration, IShellLaunchConfig, ITerminalDimensions, ITerminalLaunchError, ITerminalProfile, ITerminalTabLayoutInfoById, TerminalExitReason, TerminalIcon, TerminalLocation, TerminalShellType, TerminalType, TitleEventSource, WaitOnExitValue } from 'vs/platform/terminal/common/terminal';
15+
import { ITerminalQuickFixOptions } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
1516
import { IWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
1617
import { EditorInput } from 'vs/workbench/common/editor/editorInput';
1718
import { IEditableData } from 'vs/workbench/common/views';

src/vs/workbench/contrib/terminal/browser/terminalInstance.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storag
4747
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
4848
import { IMarkProperties, ITerminalCommand, TerminalCapability } from 'vs/platform/terminal/common/capabilities/capabilities';
4949
import { TerminalCapabilityStoreMultiplexer } from 'vs/platform/terminal/common/capabilities/terminalCapabilityStore';
50-
import { IProcessDataEvent, IProcessPropertyMap, IReconnectionProperties, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, ITerminalQuickFixOptions, PosixShellType, ProcessPropertyType, ShellIntegrationStatus, TerminalExitReason, TerminalIcon, TerminalLocation, TerminalSettingId, TerminalShellType, TitleEventSource, WindowsShellType } from 'vs/platform/terminal/common/terminal';
50+
import { IProcessDataEvent, IProcessPropertyMap, IReconnectionProperties, IShellLaunchConfig, ITerminalDimensionsOverride, ITerminalLaunchError, PosixShellType, ProcessPropertyType, ShellIntegrationStatus, TerminalExitReason, TerminalIcon, TerminalLocation, TerminalSettingId, TerminalShellType, TitleEventSource, WindowsShellType } from 'vs/platform/terminal/common/terminal';
5151
import { escapeNonWindowsPath } from 'vs/platform/terminal/common/terminalEnvironment';
5252
import { formatMessageForTerminal } from 'vs/platform/terminal/common/terminalStrings';
5353
import { getIconRegistry } from 'vs/platform/theme/common/iconRegistry';
@@ -89,6 +89,7 @@ import { IPathService } from 'vs/workbench/services/path/common/pathService';
8989
import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences';
9090
import type { IMarker, ITerminalAddon, Terminal as XTermTerminal } from 'xterm';
9191
import { IAudioCueService, AudioCue } from 'vs/platform/audioCues/browser/audioCueService';
92+
import { ITerminalQuickFixOptions } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
9293

9394
const enum Constants {
9495
/**

src/vs/workbench/contrib/terminal/browser/terminalQuickFixBuiltinActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { localize } from 'vs/nls';
7-
import { IInternalOptions, ITerminalCommandMatchResult, TerminalQuickFixActionInternal } from 'vs/platform/terminal/common/terminal';
7+
import { IInternalOptions, ITerminalCommandMatchResult, TerminalQuickFixActionInternal } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
88
import { ITerminalInstance } from 'vs/workbench/contrib/terminal/browser/terminal';
99
import { TerminalQuickFixType } from 'vs/workbench/contrib/terminal/browser/widgets/terminalQuickFixMenuItems';
1010
export const GitCommandLineRegex = /git/;

src/vs/workbench/contrib/terminal/browser/terminalQuickFixService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { Emitter } from 'vs/base/common/event';
77
import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
8-
import { ITerminalCommandSelector, ITerminalQuickFixProvider } from 'vs/platform/terminal/common/terminal';
8+
import { ITerminalQuickFixProvider, ITerminalCommandSelector } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
99
import { ITerminalQuickFixProviderSelector, ITerminalQuickFixService } from 'vs/workbench/contrib/terminal/common/terminal';
1010

1111
export class TerminalQuickFixService implements ITerminalQuickFixService {

src/vs/workbench/contrib/terminal/browser/xterm/quickFixAddon.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import { AudioCue, IAudioCueService } from 'vs/platform/audioCues/browser/audioC
2525
import { IActionWidgetService } from 'vs/platform/actionWidget/browser/actionWidget';
2626
import { ActionSet } from 'vs/platform/actionWidget/common/actionWidget';
2727
import { TerminalQuickFix, TerminalQuickFixType, toMenuItems } from 'vs/workbench/contrib/terminal/browser/widgets/terminalQuickFixMenuItems';
28-
import { IInternalOptions, IResolvedExtensionOptions, ITerminalCommandSelector, ITerminalQuickFix, ITerminalQuickFixCommandAction, ITerminalQuickFixOpenerAction, ITerminalQuickFixOptions, IUnresolvedExtensionOptions } from 'vs/platform/terminal/common/terminal';
2928
import { ITerminalQuickFixProviderSelector, ITerminalQuickFixService } from 'vs/workbench/contrib/terminal/common/terminal';
29+
import { ITerminalQuickFixOptions, IResolvedExtensionOptions, IUnresolvedExtensionOptions, ITerminalCommandSelector, ITerminalQuickFix, IInternalOptions, ITerminalQuickFixCommandAction, ITerminalQuickFixOpenerAction } from 'vs/platform/terminal/common/xterm/terminalQuickFix';
3030

3131
const quickFixTelemetryTitle = 'terminal/quick-fix';
3232
type QuickFixResultTelemetryEvent = {

0 commit comments

Comments
 (0)