Merge from vscode a416c77e56ef0314ae00633faa04878151610de8 (#8600)

* Merge from vscode a416c77e56ef0314ae00633faa04878151610de8

* distro

* fix tests

* fix tests
This commit is contained in:
Anthony Dresser
2019-12-07 17:19:16 -08:00
committed by GitHub
parent a7ff238653
commit d614116b63
155 changed files with 1982 additions and 1599 deletions

View File

@@ -180,6 +180,8 @@ body.web {
.monaco-workbench select {
-webkit-appearance: none;
-moz-appearance: none;
/* Hides inner border from FF */
border: 1px solid;
}
.monaco-workbench .select-container {

View File

@@ -7,21 +7,6 @@
width: 48px;
}
.monaco-workbench.windows.chromium .part.activitybar,
.monaco-workbench.linux.chromium .part.activitybar {
/*
* Explicitly put the part onto its own layer to help Chrome to
* render the content with LCD-anti-aliasing. By partioning the
* workbench into multiple layers, we can ensure that a bad
* behaving part is not making another part fallback to greyscale
* rendering.
*
* macOS: does not render LCD-anti-aliased.
*/
transform: translate3d(0px, 0px, 0px);
overflow: visible; /* when a new layer is created, we need to set overflow visible to avoid clipping the menubar */
}
.monaco-workbench .activitybar > .content {
height: 100%;
display: flex;

View File

@@ -854,6 +854,7 @@ class ShowCurrentMarkerInStatusbarContribution extends Disposable {
update(editor: ICodeEditor | undefined): void {
this.editor = editor;
this.updateMarkers();
this.updateStatus();
}

View File

@@ -48,20 +48,6 @@
overflow: hidden;
}
.monaco-workbench.windows.chromium .part.editor > .content .editor-group-container > .title,
.monaco-workbench.linux.chromium .part.editor > .content .editor-group-container > .title {
/*
* Explicitly put the part onto its own layer to help Chrome to
* render the content with LCD-anti-aliasing. By partioning the
* workbench into multiple layers, we can ensure that a bad
* behaving part is not making another part fallback to greyscale
* rendering.
*
* macOS: does not render LCD-anti-aliased.
*/
transform: translate3d(0px, 0px, 0px);
}
.monaco-workbench .part.editor > .content .editor-group-container > .title:not(.tabs) {
display: flex; /* when tabs are not shown, use flex layout */
flex-wrap: nowrap;

View File

@@ -12,20 +12,6 @@
z-index: initial;
}
.monaco-workbench.windows.chromium .part.panel,
.monaco-workbench.linux.chromium .part.panel {
/*
* Explicitly put the part onto its own layer to help Chrome to
* render the content with LCD-anti-aliasing. By partioning the
* workbench into multiple layers, we can ensure that a bad
* behaving part is not making another part fallback to greyscale
* rendering.
*
* macOS: does not render LCD-anti-aliased.
*/
transform: translate3d(0px, 0px, 0px);
}
.monaco-workbench .part.panel .title {
height: 35px;
display: flex;
@@ -114,7 +100,7 @@
text-align: center;
display: inline-block;
box-sizing: border-box;
}
}
/** Actions */

View File

@@ -3,21 +3,7 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
.monaco-workbench.windows.chromium .part.sidebar,
.monaco-workbench.linux.chromium .part.sidebar {
/*
* Explicitly put the part onto its own layer to help Chrome to
* render the content with LCD-anti-aliasing. By partioning the
* workbench into multiple layers, we can ensure that a bad
* behaving part is not making another part fallback to greyscale
* rendering.
*
* macOS: does not render LCD-anti-aliased.
*/
transform: translate3d(0px, 0px, 0px);
}
.monaco-workbench .part.sidebar > .content {
.monaco-workbench .sidebar > .content {
overflow: hidden;
}

View File

@@ -13,20 +13,6 @@
overflow: visible;
}
.monaco-workbench.windows.chromium .part.statusbar,
.monaco-workbench.linux.chromium .part.statusbar {
/*
* Explicitly put the part onto its own layer to help Chrome to
* render the content with LCD-anti-aliasing. By partioning the
* workbench into multiple layers, we can ensure that a bad
* behaving part is not making another part fallback to greyscale
* rendering.
*
* macOS: does not render LCD-anti-aliased.
*/
transform: translate3d(0px, 0px, 0px);
}
.monaco-workbench .part.statusbar.status-border-top::after {
content: '';
position: absolute;
@@ -51,7 +37,6 @@
.monaco-workbench .part.statusbar > .left-items {
flex-grow: 1; /* left items push right items to the far right end */
overflow: hidden; /* Hide the overflowing entries */
}
.monaco-workbench .part.statusbar > .items-container > .statusbar-item {

View File

@@ -19,22 +19,6 @@
display: flex;
}
.monaco-workbench.windows .part.titlebar,
.monaco-workbench.linux .part.titlebar {
/*
* Explicitly put the part onto its own layer to help Chrome to
* render the content with LCD-anti-aliasing. By partioning the
* workbench into multiple layers, we can ensure that a bad
* behaving part is not making another part fallback to greyscale
* rendering.
*
* macOS: does not render LCD-anti-aliased.
*/
transform: translate3d(0px, 0px, 0px);
position: relative;
z-index: 1000; /* move the entire titlebar above the workbench, except modals/dialogs */
}
.monaco-workbench .part.titlebar > .titlebar-drag-region {
top: 0;
left: 0;
@@ -45,11 +29,6 @@
-webkit-app-region: drag;
}
.monaco-workbench .part.titlebar > .menubar {
/* Move above drag region since negative z-index on that element causes AA issues */
z-index: 1;
}
.monaco-workbench .part.titlebar > .window-title {
flex: 0 1 auto;
font-size: 12px;
@@ -78,6 +57,11 @@
cursor: default;
}
.monaco-workbench .part.titlebar > .menubar {
/* move menubar above drag region as negative z-index on drag region cause greyscale AA */
z-index: 2000;
}
.monaco-workbench.linux .part.titlebar > .window-title {
font-size: inherit;
}
@@ -100,7 +84,7 @@
width: 35px;
height: 100%;
position: relative;
z-index: 2; /* highest level of titlebar */
z-index: 3000;
background-image: url('code-icon.svg');
background-repeat: no-repeat;
background-position: center center;
@@ -118,12 +102,11 @@
flex-shrink: 0;
text-align: center;
position: relative;
z-index: 2; /* highest level of titlebar */
z-index: 3000;
-webkit-app-region: no-drag;
height: 100%;
width: 138px;
margin-left: auto;
transform: translate3d(0px, 0px, 0px);
}
.monaco-workbench.fullscreen .part.titlebar > .window-controls-container {

View File

@@ -101,8 +101,16 @@ export abstract class ViewContainerViewlet extends PaneViewlet implements IViews
this.focus();
}
getContextMenuActions(): IAction[] {
getContextMenuActions(viewDescriptor?: IViewDescriptor): IAction[] {
const result: IAction[] = [];
if (viewDescriptor) {
result.push(<IAction>{
id: `${viewDescriptor.id}.removeView`,
label: localize('hideView', "Hide"),
enabled: viewDescriptor.canToggleVisibility,
run: () => this.toggleViewVisibility(viewDescriptor.id)
});
}
const viewToggleActions = this.viewsModel.viewDescriptors.map(viewDescriptor => (<IAction>{
id: `${viewDescriptor.id}.toggleVisibility`,
label: viewDescriptor.name,
@@ -111,13 +119,17 @@ export abstract class ViewContainerViewlet extends PaneViewlet implements IViews
run: () => this.toggleViewVisibility(viewDescriptor.id)
}));
result.push(...viewToggleActions);
const parentActions = this.getViewletContextMenuActions();
if (viewToggleActions.length && parentActions.length) {
if (result.length && viewToggleActions.length) {
result.push(new Separator());
}
result.push(...viewToggleActions);
const parentActions = this.getViewletContextMenuActions();
if (result.length && parentActions.length) {
result.push(new Separator());
}
result.push(...parentActions);
return result;
}
@@ -249,17 +261,7 @@ export abstract class ViewContainerViewlet extends PaneViewlet implements IViews
event.stopPropagation();
event.preventDefault();
const actions: IAction[] = [];
actions.push(<IAction>{
id: `${viewDescriptor.id}.removeView`,
label: localize('hideView', "Hide"),
enabled: viewDescriptor.canToggleVisibility,
run: () => this.toggleViewVisibility(viewDescriptor.id)
});
const otherActions = this.getContextMenuActions();
if (otherActions.length) {
actions.push(...[new Separator(), ...otherActions]);
}
const actions: IAction[] = this.getContextMenuActions(viewDescriptor);
let anchor: { x: number, y: number } = { x: event.posx, y: event.posy };
this.contextMenuService.showContextMenu({
@@ -377,6 +379,9 @@ export abstract class FilterViewContainerViewlet extends ViewContainerViewlet {
protected abstract getFilterOn(viewDescriptor: IViewDescriptor): string | undefined;
private onFilterChanged(newFilterValue: string) {
if (this.allViews.size === 0) {
this.updateAllViews(this.viewsModel.viewDescriptors);
}
this.getViewsNotForTarget(newFilterValue).forEach(item => this.viewsModel.setVisible(item.id, false));
this.getViewsForTarget(newFilterValue).forEach(item => this.viewsModel.setVisible(item.id, true));
}