Skip to content

Commit

Permalink
bring titlebarplus up to date
Browse files Browse the repository at this point in the history
* Merge NPM Scripts: Added configuration option to change default click action microsoft#49282

* fix microsoft#50560

* Fix getmac test (microsoft#48804)

* Cleaning up some typos in vscode.d.ts and vscode.proposed.d.ts (microsoft#50533)

* yarn.lock changes

* grid - log serialized state if restoring failed

* Fixes microsoft#50382: Align .mtku with .detected-link

* debug issues back to isidorn

* Hide interactive playground commands from command palette (fixes microsoft#49706)

* grid - drop outline as focus indication and rely on dimmed state

* grid - allow to close empty group when closing all editors of a group

* grid - get preferredSize from grid

* Fixes microsoft#43003: Cannot specify a global problemMatcher in tasks.json

* cleanup integrated terminal support for debugging

* grid - action wording tweaks

* microsoft#45663 Use core translations asset

* grid - allow to close dirty diff editor if master is still opened in same group

* Support to run npm install from a package node

* grid - log previous UI state upon error

* grid - stronger border top color

otherwise when a tab is showing in a vertical split, the border collides with the sash border

* remove todo

* do not append logLevel

microsoft#47774

* Implement Go To Next/Previous Breakpoint editor actions

* Include enabledOnly in debug model interface

* remove from schema

microsoft#47774

* microsoft#45663 fix compilations

* change openBreakpointSource to use IBreakpoint

* return passed context if resourceOrContext is not useful

* fix off by one issue

* Simplify implementation

* return context if it has a groupId

* polish

* Fixes microsoft/monaco-editor#891: Focus editor when returning from context menu

* go to next / previosu breakpoint minor polish

* Add Endgame for 1.24

* fix index computing for editor close case

* Fix microsoft#49145

- Enable/Disable viewlets by views when context
- Move viewlet enablement/disablement to views service
- Fix - adopt if a viewlet extension is disabled/removed

* Avoid command palette entry (microsoft#49340)

* [handlebars] code-folding algorithm is less useful than Indentation-based one. Fixes microsoft#48457

* use upper lang id

* Fixes microsoft#49378

* microsoft#49145 Store placeholder states for all viewlets

* Add `logicalLine` argument to `mutlicursor.insertBelow` and `mutlicursor.insertAbove`

* Removed duplicate loop

* eliminate code duplication; use resolveWorkspaceFolder()

* microsoft#45663 Get all asset types

* [css] update service

* [html] update services

* grid - fix compile

* add User-Id to marketplace build requests

* Improve rendererType description

Fixes microsoft#50617

* fix microsoft#50672

* Fixes microsoft#49173

* fix microsoft#50321

* fix microsoft#50670

* Install option not needed when we have Install and Restart Fixes microsoft#50669

* Fixes microsoft#50616, Showing/hiding details in Issue Reporter resets scroll position

* Fix microsoft#50642, fix microsoft#50673

* Issue reporter and process explorer windows should close when the parent window closes, fixes microsoft#50716

* Issue Reporter should clear the error state when selecting an extension, fixes microsoft#50702

* Extracting methods

* Make sure we update the webview's state on setState

* Avoid prompting for same file type in the same session microsoft#50537

* Use language name instead of locale in the prompt microsoft#50738

* Use correct failed error code for webview resource load error

* Mark unused parameter

* Restore restart

* Try serializing webviews even if they have not called setState

Fixes microsoft#50752

* Change parameter name to match interface name

Fixes microsoft#50745

* Fix non-serializable webviews being revived if they called setState

* Include recommended extensions in telemetry events to determine success

* Fix microsoft#49777 - Emmet balance In after balance out should go back to initial selection and not first child (microsoft#49996)

* Update Emmet - balance.ts

* Cover all cases

* Update prompt msg Fixes microsoft#50738

* Fix microsoft#50632

* search-rg has no icon

* EH search - replace search.enableSearchProviders with a search-rg specific setting

* fix microsoft#50742

* fix microsoft#50691

* part of microsoft#50760

* smoke: uncomment debug suite

* smoketest: use yarn

* grid - allow to close empty groups via middle click (microsoft#50733)

* careful with path comparisons on windows

related to microsoft#50760

* smoke: run yarn verbose

* fix microsoft#50710

* Improve description (microsoft#43208)

* fix microsoft#50722

* Fix microsoft#50663

* Fix microsoft#47586

* fixes microsoft#50609

* fixes microsoft#50026

* 💄

* fix  microsoft#50773

* improve perf of findId and getElementById, microsoft#50575

* don't show outline when there are more then 7500 symbols, microsoft#50575

* fix typos

* polish for microsoft#50667

* fix microsoft#50700

* grid keep sizing after branch node demotion

fixes microsoft#50564

* grid - for now remove editorGroup.activeEmptyBackground

* fix microsoft#50726

* grid: resize views when branch is demoted

fixes microsoft#50675

* fix microsoft#50727

* fix microsoft#50734

* remove preview rant from search.location

* splitview: dont propagate white-sapce property

fixes microsoft#50720

* fix microsoft#50774

* Fixes microsoft#50296

* fix  microsoft#50207

* Fixes microsoft#24670: Add API to determine if the task service supports parallel task execution.

* fix microsoft#50741

* Fixes  microsoft#49400: Cannot read property 'then' of undefined

* Fix microsoft#50717

* Fix microsoft#48901

* polish debug.toolBarLocation

fixes microsoft#50786

* Fix microsoft#50717

* missing compilation

* Fix microsoft#48225

* fix microsoft#50711

* Fix errors installing extension from Welcome page (fixes microsoft#50753)

* fixes microsoft#50794

* fixes microsoft#50787

* continuous build: use vsts npm feed

* Fix for microsoft#50792: empty pre post scripts not rendered properly

* Fix microsoft#50728

* continuous build: use vsts feed

* Fix for microsoft#50792 npm exclude doesn´t work for folder names

* Move previewOptions, microsoft#50788

* build: remove npm auth

* better fix for microsoft#50710

* Revert "Merge pull request microsoft#49790 from usernamehw/raw_settings"

This reverts commit f92a162, reversing
changes made to fc710af.

* Remove unused variable

* Fix regression in C# TextMate grammar related to lambda parameters

This tweak fixes a regression recently introduced in the C# TextMate grammar around
implicitly-typed lambda parameters.

* dotnet/csharp-tmLanguage#119
* dotnet/csharp-tmLanguage#120

* Fix parameter not being escaped

Fixes microsoft#49057

* wip: grid.getNeighborViews

* Make sure we use normalized path for compare

Fixes microsoft#50760

(the path should already have been normalized at this point so I don't think there is any user impact)

* Clean up importModuleSpecifier wording

Fixes microsoft#50817

* Remove duplicate strings and small cleanup

* Spelling fix Ouoting -> Quoting

* Restore default settings editor keybinding

* Dont trigger emmet for # in selectors Fixes microsoft#49269

* Hide settings editor feedback button in stable

* Use better colors for markdown code blocks

* Moving webview api back to proposed for more polishing

microsoft#49022

* Shorten showUnused setting name

Fixes microsoft#50648

* fix microsoft#50678

* Don't include imports in js/ts document symbol results

Fixes microsoft#50829

* smoketest: remove verbose from yarn

* smoketest: clear state from failing search tests

* minor rename

* Fix markdown preview not setting context properly on first creation

Fixes microsoft#50558

* smoketest: update to package-lock.json

fixes microsoft#50857

* smoketest: bring back search tests

* microsoft#48901 Expand by default only in custom viewlets

* fixes microsoft#50812

* open editors: clear focus when group without editors is active

fixes microsoft#50563

* Fix MaxNumber incrementFileName bug

* Fixes microsoft#48758: Do not import standalone editor modules

* fixes microsoft#50864

* Use `MAX_SAFE_SMALL_INTEGER`

* Fixes microsoft#50858: Task api is still marked as proposed

* fixes microsoft#50737

* fix microsoft#50867

* Fix: showQuickPick keeps showing infinite progress (fixes microsoft#50863)

* Clarify for translation (fixes microsoft#50634)

* fixes microsoft#50870

* fix microsoft#50479

* grid - todo@grid => todo@ben

* grid - adopt new getNeighborViews() method

* grid - add workbench.action.closeEditorsAndGroup

* open editors: close group action

fixes microsoft#50625

* open editors: use actionRunner for contexts

fixes microsoft#50621

* [css][html] update service

* grid: getNeighborViews

* grid - adopt wrapping

* Some menu action clients (ActionBar) handle alternative actions on their own so the alternative actions should be ignored

fixes microsoft#50581

* fillInActionBarActions and fillInContextMenuActions for clarity

* Remove inconsistent use of active in terminal API

Related microsoft#48434

* Try using fixAllDescription for js/ts quick fixes

Fixes microsoft#42549

* Fixes microsoft#50828, code-insiders --status triggered exception in main process

* Pick up ts 2.9.1 final

* Fix for microsoft#50868 and microsoft#50884

* Still gray out vars even if user has disabled suggestions

Fixes microsoft#50890

* grid: fix neighbor npe issue

* grid: more getNeighborViews tests

* grid: use boundaries for neighbor finding

* grid: getNeighborViews perf

* grid: add todo

* 2018-05-31. Merged in translations from Transifex.

* Update GDPR annotation

* update message

* Add specific `refactor.move` scope for js/ts move to new file action

* Use localized language name when available

* Add proper contribution schema for ts server pluguins

microsoft#50682

* Fix extra word

* Fix microsoft#50909 - add link to new settings editor from old one

* Left-align settings editor preview prompt

* grid - fix issues with touchbar updating

* grid - use viewColumnToEditorGroup in more places

* grid - close all groups should preserve first group

* Reapply fix for microsoft#50790

* grid - assign some default keybindings for focus group

* Fixes microsoft#50763: All running Visual Studio code instances shutdown all at once

* grid - 💄

* fixes microsoft#50926

* show alternative actions when alt is pressed, not only on mouse over

* open editors: click on groups should activate them

* update description (for microsoft#50677)

* Fix microsoft#50835

* grid - tweak some groups access order

* one more time, fix microsoft#50321

* beware of keybinding command null arguments

fixes microsoft#50821

* grid - prevent multiple confirmation dialogs for the same editor to show up (for  microsoft#50539)

* smoketest: go-to-definition is flaky

fixes microsoft#50944
fixes microsoft#49107

* Fixes microsoft#50943: TSC version 2.9.x in watch mode prints different end compile message

* grid - fix bad === for editors

* 💄 grid, cleanup getViews()

* Update distro commit and third party notices

* Use localizedLanguageName instead of languageNameLocalized which doesnt exist

* Remove now unneeded any

* Make sure unused diags are still updated when suggestions are disabled

Fixes microsoft#50890

* Fix unused var

* Update version

* Update issue templates, microsoft#49380

* Fix microsoft#50893 - escape regex chars when copy search string from editor

* Fix microsoft#50985 - don't take editor text when toggling search details
  • Loading branch information
bpasero authored and sbatten committed Jun 4, 2018
1 parent 3216ef5 commit 5bd30b2
Show file tree
Hide file tree
Showing 11 changed files with 246 additions and 20 deletions.
202 changes: 202 additions & 0 deletions grid.html
@@ -0,0 +1,202 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Grid Example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../out/vs/loader.js"></script>
<script>
require.config({ baseUrl: '../out' });
let count = 0;

function debug(grid) {
function _debug(node, indent = '') {
if (node.children) {
console.log(`${indent}|- * ${node.orientation === 1 ? 'horizontal' : 'vertical'} (${node.size}, ${node.orthogonalSize})`);
indent = indent + ' ';
for (const child of node.children) {
_debug(child, indent);
}
} else {
console.log(`${indent}|- ${(node.view).ID} (${node.width}, ${node.height})`);
}
}

_debug(grid.gridview.root);
}

require(['vs/base/browser/ui/grid/grid', 'vs/base/common/event'], ({ Grid, Direction }, { Event }) => {
let dragging;
let draggingOver;

function createView() {
let id = `${++count}`;

let element = document.createElement('div');
element.className = 'box';
element.style.backgroundColor = `hsl(${Math.round(Math.random() * 360)}, 72%, 72%)`;

// element.addEventListener('dragover', ev => {
// ev.preventDefault();

// if (draggingOver === view) {
// return;
// }

// if (draggingOver) {
// draggingOver.element.style.opacity = 1;
// }

// if (dragging !== view) {
// element.style.opacity = 0.5;
// }

// draggingOver = view;
// });

// element.addEventListener('drop', ev => {
// ev.preventDefault();

// if (draggingOver) {
// draggingOver.element.style.opacity = 1;
// }

// if (!dragging) {
// return;
// }

// grid.swapViews(dragging, view);
// });

let label = document.createElement('div');
label.className = 'box-label';
label.draggable = true;
element.appendChild(label);
label.textContent = `hello${id}`;
label.addEventListener('dragstart', ev => { dragging = view; ev.dataTransfer.setData('text', id); });
label.addEventListener('dragend', () => { dragging = undefined; draggingOver = undefined; });

let remove = document.createElement('div');
remove.className = 'box-remove';
remove.textContent = 'Remove';
element.appendChild(remove);
remove.addEventListener('click', () => grid.removeView(view));

const view = {
ID: `hello${id}`,
element,
minimumWidth: 100,
maximumWidth: Number.POSITIVE_INFINITY,
minimumHeight: 100,
maximumHeight: Number.POSITIVE_INFINITY,
onDidChange: Event.None,
layout(width, height) {
label.textContent = `hello${id} (${width}, ${height})`
}
};

return view;
}

// const box = document.createElement('div');
// box.style.height = '500px';
// box.style.width = '800px';
// document.body.appendChild(box);

const view1 = createView();
const grid = new Grid(document.body, view1, { dnd: {} });
const layout = () => grid.layout(document.body.clientWidth, document.body.clientHeight);
window.onresize = () => {
layout();
debug(grid);
};
layout();

debug(grid);
console.log('-------');
const view2 = createView();
grid.addView(view2, 400, view1, Direction.Up);
debug(grid);
console.log('-------');
const view3 = createView();
grid.addView(view3, 400, view1, Direction.Right);
debug(grid);
console.log('-------');
const view4 = createView();
grid.addView(view4, 200, view2, Direction.Left);
debug(grid);
console.log('-------');
const view5 = createView();
grid.addView(view5, 200, view1, Direction.Down);
debug(grid);
console.log('-------');
// const view5 = createView();
// grid.addView(view5, 200, view2, Direction.Down);
// debug(grid);
// console.log('-------');


window.addEventListener('keypress', ev => {
if (ev.key === 'x') {
grid.orientation = (grid.orientation + 1) % 2;
}
})
});
</script>
<style>
html,
body {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}

.box {
display: flex;
width: 100%;
height: 100%;
justify-content: center;
align-items: center;
}

.box-label {
background: rgba(255, 255, 255, 0.5);
cursor: pointer;
}

/* Borders */

.split-view-view {
position: relative;
}

.monaco-grid-view .monaco-split-view2>.split-view-container>.split-view-view:not(:first-child)::before {
content: '';
position: absolute;
top: 0;
left: 0;
background: black;
z-index: 100;
pointer-events: none;
}

.monaco-grid-view .monaco-split-view2.horizontal>.split-view-container>.split-view-view:not(:first-child)::before {
height: 100%;
width: 1px;
}

.monaco-grid-view .monaco-split-view2.vertical>.split-view-container>.split-view-view:not(:first-child)::before {
height: 1px;
width: 100%;
}
</style>
</head>

<body>

</body>

</html>
2 changes: 0 additions & 2 deletions index.html
Expand Up @@ -7,8 +7,6 @@
<body>
<div id="mocha"></div>

<!--<script src="https://cdn.rawgit.com/jquery/jquery/2.1.4/dist/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/Automattic/expect.js/0.3.1/index.js"></script>-->
<script src="/out/vs/loader.js"></script>
<script src="https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.js"></script>

Expand Down
2 changes: 1 addition & 1 deletion smoke/src/application.ts
Expand Up @@ -63,7 +63,7 @@ export class Application {
async start(): Promise<any> {
await this._start();
await this.code.waitForElement('.explorer-folders-view');
await this.code.waitForActiveElement(`.editor-container[id="workbench.editor.walkThroughPart"] > div > div[tabIndex="0"]`);
await this.code.waitForActiveElement(`.editor-instance[id="workbench.editor.walkThroughPart"] > div > div[tabIndex="0"]`);
}

async restart(options: { workspaceOrFolder?: string, extraArgs?: string[] }): Promise<any> {
Expand Down
8 changes: 4 additions & 4 deletions smoke/src/areas/editor/editor.test.ts
Expand Up @@ -53,18 +53,18 @@ export function setup() {
const app = this.app as Application;
await app.workbench.quickopen.openFile('app.js');

await app.workbench.editor.gotoDefinition('app.js', 'express', 11);
await app.workbench.editor.gotoDefinition('app.js', 'app', 14);

await app.workbench.editors.waitForActiveTab('index.d.ts');
await app.workbench.editor.waitForHighlightingLine('app.js', 11);
});

it(`verifies that 'Peek Definition' works`, async function () {
const app = this.app as Application;
await app.workbench.quickopen.openFile('app.js');

const peek = await app.workbench.editor.peekDefinition('app.js', 'express', 11);
const peek = await app.workbench.editor.peekDefinition('app.js', 'app', 14);

await peek.waitForFile('index.d.ts');
await peek.waitForFile('app.js');
});
});
}
2 changes: 1 addition & 1 deletion smoke/src/areas/editor/editors.ts
Expand Up @@ -23,7 +23,7 @@ export class Editors {
}

async waitForActiveEditor(filename: string): Promise<any> {
const selector = `.editor-container .monaco-editor[data-uri$="${filename}"] textarea`;
const selector = `.editor-instance .monaco-editor[data-uri$="${filename}"] textarea`;
return this.code.waitForActiveElement(selector);
}

Expand Down
9 changes: 3 additions & 6 deletions smoke/src/areas/preferences/settings.ts
Expand Up @@ -8,6 +8,7 @@ import * as path from 'path';
import { Editor } from '../editor/editor';
import { Editors } from '../editor/editors';
import { Code } from '../../vscode/code';
import { QuickOpen } from '../quickopen/quickopen';

export enum ActivityBarPosition {
LEFT = 0,
Expand All @@ -18,7 +19,7 @@ const SEARCH_INPUT = '.settings-search-input input';

export class SettingsEditor {

constructor(private code: Code, private userDataPath: string, private editors: Editors, private editor: Editor) { }
constructor(private code: Code, private userDataPath: string, private editors: Editors, private editor: Editor, private quickopen: QuickOpen) { }

async addUserSetting(setting: string, value: string): Promise<void> {
await this.openSettings();
Expand All @@ -41,10 +42,6 @@ export class SettingsEditor {
}

private async openSettings(): Promise<void> {
if (process.platform === 'darwin') {
await this.code.dispatchKeybinding('cmd+,');
} else {
await this.code.dispatchKeybinding('ctrl+,');
}
await this.quickopen.runCommand('Preferences: Open User Settings');
}
}
13 changes: 10 additions & 3 deletions smoke/src/areas/search/search.test.ts
Expand Up @@ -3,16 +3,23 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import * as cp from 'child_process';
import { Application } from '../../application';

export function setup() {
describe('Search', () => {
after(function () {
const app = this.app as Application;
cp.execSync('git checkout .', { cwd: app.workspacePath });
cp.execSync('git reset --hard origin/master', { cwd: app.workspacePath });
});

it('searches for body & checks for correct result number', async function () {
const app = this.app as Application;
await app.workbench.search.openSearchViewlet();
await app.workbench.search.searchFor('body');

await app.workbench.search.waitForResultText('14 results in 5 files');
await app.workbench.search.waitForResultText('21 results in 6 files');
});

it('searches only for *.js files & checks for correct result number', async function () {
Expand All @@ -31,7 +38,7 @@ export function setup() {
const app = this.app as Application;
await app.workbench.search.searchFor('body');
await app.workbench.search.removeFileMatch(1);
await app.workbench.search.waitForResultText('10 results in 4 files');
await app.workbench.search.waitForResultText('17 results in 5 files');
});

it('replaces first search result with a replace term', async function () {
Expand All @@ -42,7 +49,7 @@ export function setup() {
await app.workbench.search.setReplaceText('ydob');
await app.workbench.search.replaceFileMatch(1);

await app.workbench.search.waitForResultText('10 results in 4 files');
await app.workbench.search.waitForResultText('17 results in 5 files');

await app.workbench.search.searchFor('ydob');
await app.workbench.search.setReplaceText('body');
Expand Down
4 changes: 4 additions & 0 deletions smoke/src/areas/search/search.ts
Expand Up @@ -63,6 +63,10 @@ export class Search extends Viewlet {
await this.code.waitAndClick(`${VIEWLET} .search-widget .monaco-button.toggle-replace-button.collapse`);
}

async collapseReplace(): Promise<void> {
await this.code.waitAndClick(`${VIEWLET} .search-widget .monaco-button.toggle-replace-button.expand`);
}

async setReplaceText(text: string): Promise<void> {
await this.code.waitAndClick(`${VIEWLET} .search-widget .replace-container .monaco-inputbox input[title="Replace"]`);
await this.code.waitForElement(`${VIEWLET} .search-widget .replace-container .monaco-inputbox.synthetic-focus input[title="Replace"]`);
Expand Down
2 changes: 1 addition & 1 deletion smoke/src/areas/workbench/workbench.ts
Expand Up @@ -55,7 +55,7 @@ export class Workbench {
this.debug = new Debug(code, this.quickopen, this.editors, this.editor);
this.statusbar = new StatusBar(code);
this.problems = new Problems(code);
this.settingsEditor = new SettingsEditor(code, userDataPath, this.editors, this.editor);
this.settingsEditor = new SettingsEditor(code, userDataPath, this.editors, this.editor, this.quickopen);
this.keybindingsEditor = new KeybindingsEditor(code);
this.terminal = new Terminal(code);
}
Expand Down
4 changes: 2 additions & 2 deletions smoke/src/main.ts
Expand Up @@ -188,8 +188,8 @@ async function setupRepository(): Promise<void> {
cp.spawnSync('git', ['clean', '-xdf'], { cwd: workspacePath });
}

console.log('*** Running npm install...');
cp.execSync('npm install', { cwd: workspacePath, stdio: 'inherit' });
console.log('*** Running yarn...');
cp.execSync('yarn', { cwd: workspacePath, stdio: 'inherit' });
}
}

Expand Down
18 changes: 18 additions & 0 deletions smoke/src/utils.ts
@@ -0,0 +1,18 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

import { ISuiteCallbackContext, ITestCallbackContext } from 'mocha';

export function describeRepeat(n: number, description: string, callback: (this: ISuiteCallbackContext) => void): void {
for (let i = 0; i < n; i++) {
describe(`${description} (iteration ${i})`, callback);
}
}

export function itRepeat(n: number, description: string, callback: (this: ITestCallbackContext, done: MochaDone) => any): void {
for (let i = 0; i < n; i++) {
it(`${description} (iteration ${i})`, callback);
}
}

0 comments on commit 5bd30b2

Please sign in to comment.