Skip to content

Commit

Permalink
working now, just soome styling needed
Browse files Browse the repository at this point in the history
  • Loading branch information
meganrogge committed Oct 28, 2022
1 parent d5830cf commit 4fac614
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 26 deletions.
73 changes: 49 additions & 24 deletions src/vs/workbench/contrib/terminal/browser/media/terminal.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,17 @@
align-items: baseline;
display: flex;
flex-direction: column;
background-color: transparent!important;
background-color: transparent !important;
user-select: initial;
-webkit-user-select: initial;
position: relative;
}

.terminalQuickFixWidget .actionList {
z-index: '32';
opacity: 1 !important;
}

.terminal-command-decoration.hide {
visibility: hidden;
}
Expand All @@ -37,6 +42,7 @@
font-family: 'codicon' !important;
font-size: 16px !important;
}

.monaco-workbench .terminal-tab:not(.terminal-uri-icon)::before {
background-image: none !important;
}
Expand Down Expand Up @@ -76,7 +82,8 @@

.monaco-workbench .editor-instance .xterm-decoration-overview-ruler,
.monaco-workbench .pane-body.integrated-terminal .xterm-decoration-overview-ruler {
z-index: 31; /* Must be higher than .xterm-viewport */
z-index: 31;
/* Must be higher than .xterm-viewport */
pointer-events: none;
}

Expand All @@ -99,9 +106,17 @@
}

/* Apply cursor styles to xterm-screen as well due to how .xterm-viewport/.xterm are positioned */
.xterm.enable-mouse-events .xterm-screen { cursor: default; }
.xterm.xterm-cursor-pointer .xterm-screen { cursor: pointer; }
.xterm.column-select.focus .xterm-screen { cursor: crosshair; }
.xterm.enable-mouse-events .xterm-screen {
cursor: default;
}

.xterm.xterm-cursor-pointer .xterm-screen {
cursor: pointer;
}

.xterm.column-select.focus .xterm-screen {
cursor: crosshair;
}

.monaco-workbench .editor-instance .xterm {
padding-left: 20px !important;
Expand All @@ -123,8 +138,8 @@
position: relative;
}

.monaco-workbench .editor-instance .terminal-wrapper > div,
.monaco-workbench .pane-body.integrated-terminal .terminal-wrapper > div {
.monaco-workbench .editor-instance .terminal-wrapper>div,
.monaco-workbench .pane-body.integrated-terminal .terminal-wrapper>div {
height: 100%;
}

Expand Down Expand Up @@ -158,6 +173,7 @@
border-right-width: 1px;
border-right-style: solid;
}

.monaco-workbench .pane-body.integrated-terminal .split-view-view:last-child .tabs-container {
border-left-width: 1px;
border-left-style: solid;
Expand All @@ -168,6 +184,7 @@
border-left-width: 1px;
border-left-style: solid;
}

.monaco-workbench .pane-body.integrated-terminal .terminal-group .monaco-split-view2.vertical .split-view-view:not(:first-child) {
border-top-width: 1px;
border-top-style: solid;
Expand All @@ -182,6 +199,7 @@
user-select: none;
-webkit-user-select: none;
}

.monaco-workbench .pane-body.integrated-terminal .monaco-split-view2.vertical .split-view-view:not(:last-child) .xterm {
/* When vertical and NOT the bottom terminal, align to the top instead to prevent the output jumping around erratically */
top: 0;
Expand Down Expand Up @@ -234,16 +252,16 @@
/* Override default xterm style to make !important so it takes precedence over custom mac cursor */
.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
cursor: pointer!important;
cursor: pointer !important;
}

.monaco-workbench .part.sidebar > .title > .title-actions .switch-terminal,
.monaco-pane-view .pane > .pane-header .monaco-action-bar .switch-terminal {
.monaco-workbench .part.sidebar>.title>.title-actions .switch-terminal,
.monaco-pane-view .pane>.pane-header .monaco-action-bar .switch-terminal {
border-width: 1px;
border-style: solid;
}

.part.panel > .title > .title-actions .switch-terminal > .monaco-select-box {
.part.panel>.title>.title-actions .switch-terminal>.monaco-select-box {
border-width: 1px;
border-style: solid;
}
Expand All @@ -252,7 +270,7 @@
z-index: 7;
}

.monaco-workbench .part.sidebar > .title > .title-actions .switch-terminal {
.monaco-workbench .part.sidebar>.title>.title-actions .switch-terminal {
display: flex;
align-items: center;
font-size: 11px;
Expand All @@ -262,21 +280,21 @@
margin-top: 7px;
}

.monaco-workbench.mac .part.sidebar > .title > .title-actions .switch-terminal {
.monaco-workbench.mac .part.sidebar>.title>.title-actions .switch-terminal {
border-radius: 4px;
}

.monaco-workbench .part.sidebar > .title > .title-actions .switch-terminal > .monaco-select-box {
.monaco-workbench .part.sidebar>.title>.title-actions .switch-terminal>.monaco-select-box {
border: none !important;
display: block !important;
background-color: unset !important;
}

.monaco-pane-view .pane > .pane-header .monaco-action-bar .switch-terminal.action-item.select-container {
.monaco-pane-view .pane>.pane-header .monaco-action-bar .switch-terminal.action-item.select-container {
border: none !important;
}

.monaco-workbench .part.sidebar > .title > .title-actions .switch-terminal > .monaco-select-box {
.monaco-workbench .part.sidebar>.title>.title-actions .switch-terminal>.monaco-select-box {
padding: 0 22px 0 6px;
}

Expand All @@ -297,10 +315,11 @@
overflow: hidden;
}

.monaco-workbench .pane-body.integrated-terminal .tabs-container > .monaco-toolbar {
.monaco-workbench .pane-body.integrated-terminal .tabs-container>.monaco-toolbar {
padding: 4px 0 2px;
margin: auto;
}

.monaco-workbench .pane-body.integrated-terminal .terminal-tabs-entry.is-active::before {
display: block;
position: absolute;
Expand All @@ -311,12 +330,12 @@
width: 1px;
}

.monaco-workbench .pane-body.integrated-terminal .tabs-container.has-text > .monaco-toolbar {
.monaco-workbench .pane-body.integrated-terminal .tabs-container.has-text>.monaco-toolbar {
padding: 4px 7px 2px;
margin: 0;
}

.monaco-workbench .pane-body.integrated-terminal .tabs-container.has-text > .monaco-toolbar {
.monaco-workbench .pane-body.integrated-terminal .tabs-container.has-text>.monaco-toolbar {
text-align: left;
}

Expand Down Expand Up @@ -395,6 +414,7 @@
.monaco-action-bar .terminal-uri-icon.single-terminal-tab.action-label .codicon {
background-size: 16px;
}

.monaco-workbench .terminal-uri-icon .monaco-highlighted-label .codicon::before,
.monaco-action-bar .terminal-uri-icon.single-terminal-tab.action-label:not(.alt-command) .codicon::before {
content: '';
Expand All @@ -411,20 +431,25 @@
top: 0;
bottom: 0;
pointer-events: none;
opacity: 0; /* hidden initially */
opacity: 0;
/* hidden initially */
transition: left 70ms ease-out, right 70ms ease-out, top 70ms ease-out, bottom 70ms ease-out, opacity 150ms ease-out;
z-index: 34;
}
.monaco-workbench .pane-body.integrated-terminal .terminal-group > .monaco-split-view2.horizontal .terminal-drop-overlay.drop-before {

.monaco-workbench .pane-body.integrated-terminal .terminal-group>.monaco-split-view2.horizontal .terminal-drop-overlay.drop-before {
right: 50%;
}
.monaco-workbench .pane-body.integrated-terminal .terminal-group > .monaco-split-view2.horizontal .terminal-drop-overlay.drop-after {

.monaco-workbench .pane-body.integrated-terminal .terminal-group>.monaco-split-view2.horizontal .terminal-drop-overlay.drop-after {
left: 50%
}
.monaco-workbench .pane-body.integrated-terminal .terminal-group > .monaco-split-view2.vertical .terminal-drop-overlay.drop-before {

.monaco-workbench .pane-body.integrated-terminal .terminal-group>.monaco-split-view2.vertical .terminal-drop-overlay.drop-before {
bottom: 50%;
}
.monaco-workbench .pane-body.integrated-terminal .terminal-group > .monaco-split-view2.vertical .terminal-drop-overlay.drop-after {

.monaco-workbench .pane-body.integrated-terminal .terminal-group>.monaco-split-view2.vertical .terminal-drop-overlay.drop-after {
top: 50%;
}

Expand Down
3 changes: 3 additions & 0 deletions src/vs/workbench/contrib/terminal/browser/terminalInstance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ import { IWorkbenchLayoutService, Position } from 'vs/workbench/services/layout/
import { IPathService } from 'vs/workbench/services/path/common/pathService';
import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences';
import type { IMarker, ITerminalAddon, Terminal as XTermTerminal } from 'xterm';
import { TERMINAL_BACKGROUND_COLOR } from 'vs/workbench/contrib/terminal/common/terminalColorRegistry';

const enum Constants {
/**
Expand Down Expand Up @@ -2468,6 +2469,8 @@ registerThemingParticipant((theme: IColorTheme, collector: ICssStyleCollector) =
);
}

collector.addRule(`.terminalQuickFixWidget .actionList { background-color: ${theme.getColor(TERMINAL_BACKGROUND_COLOR)} !important}`);

// Scrollbar
const scrollbarSliderBackgroundColor = theme.getColor(scrollbarSliderBackground);
if (scrollbarSliderBackgroundColor) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,15 +231,19 @@ export class TerminalQuickFixAddon extends Disposable implements ITerminalAddon,
height: rect.height
};
const documentation = fixes.map(f => { return { id: f.id, title: f.label, tooltip: f.tooltip }; });
const actions = fixes.map(f => new TerminalQuickFix(f));
const actions = fixes.map(f => new TerminalQuickFix(f, f.label, false));
const actionSet = {
documentation,
allActions: actions,
hasAutoFix: true,
validActions: actions,
dispose: () => { }
} as ActionSet<TerminalQuickFix>;
TerminalQuickFixWidget.getOrCreateInstance(this._instantiationService).show('click', actionSet, anchor, e, { showHeaders: true, includeDisabledActions: false, fromLightbulb: true }, {
const parentElement = e.parentElement?.parentElement?.parentElement?.parentElement;
if (!parentElement) {
return;
}
TerminalQuickFixWidget.getOrCreateInstance(this._instantiationService).show('click', actionSet, anchor, parentElement, { showHeaders: true, includeDisabledActions: false, fromLightbulb: true }, {
onSelectQuickFix: async (action: TerminalQuickFix, trigger: string, options: { preview: any }) => {
if (options.preview) {
this._commandService.executeCommand(previewSelectedCodeActionCommand);
Expand Down

0 comments on commit 4fac614

Please sign in to comment.