Skip to content

Commit 16e9850

Browse files
Merge branch 'main' into fspissu/dark-theme-implementation
2 parents 096ce23 + 5b486b1 commit 16e9850

File tree

202 files changed

+4647
-3711
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+4647
-3711
lines changed

Diff for: .github/workflows/build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ jobs:
7878
fi
7979
fi
8080
81+
npx node-gyp install
8182
yarn --cwd ./electron/packager/
8283
yarn --cwd ./electron/packager/ package
8384

Diff for: arduino-ide-extension/package.json

+17-17
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@
2222
},
2323
"dependencies": {
2424
"@grpc/grpc-js": "^1.3.7",
25-
"@theia/application-package": "1.22.1",
26-
"@theia/core": "1.22.1",
27-
"@theia/editor": "1.22.1",
28-
"@theia/editor-preview": "1.22.1",
29-
"@theia/electron": "1.22.1",
30-
"@theia/filesystem": "1.22.1",
31-
"@theia/git": "1.22.1",
32-
"@theia/keymaps": "1.22.1",
33-
"@theia/markers": "1.22.1",
34-
"@theia/monaco": "1.22.1",
35-
"@theia/navigator": "1.22.1",
36-
"@theia/outline-view": "1.22.1",
37-
"@theia/output": "1.22.1",
38-
"@theia/preferences": "1.22.1",
39-
"@theia/search-in-workspace": "1.22.1",
40-
"@theia/terminal": "1.22.1",
41-
"@theia/workspace": "1.22.1",
25+
"@theia/application-package": "1.25.0",
26+
"@theia/core": "1.25.0",
27+
"@theia/editor": "1.25.0",
28+
"@theia/editor-preview": "1.25.0",
29+
"@theia/electron": "1.25.0",
30+
"@theia/filesystem": "1.25.0",
31+
"@theia/git": "1.25.0",
32+
"@theia/keymaps": "1.25.0",
33+
"@theia/markers": "1.25.0",
34+
"@theia/monaco": "1.25.0",
35+
"@theia/navigator": "1.25.0",
36+
"@theia/outline-view": "1.25.0",
37+
"@theia/output": "1.25.0",
38+
"@theia/preferences": "1.25.0",
39+
"@theia/search-in-workspace": "1.25.0",
40+
"@theia/terminal": "1.25.0",
41+
"@theia/workspace": "1.25.0",
4242
"@tippyjs/react": "^4.2.5",
4343
"@types/atob": "^2.1.2",
4444
"@types/auth0-js": "^9.14.0",

Diff for: arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx

+56-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { inject, injectable, postConstruct } from 'inversify';
2-
import * as React from 'react';
1+
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
2+
import * as React from '@theia/core/shared/react';
33
import * as remote from '@theia/core/electron-shared/@electron/remote';
44
import {
55
BoardsService,
@@ -17,9 +17,11 @@ import {
1717
DisposableCollection,
1818
} from '@theia/core';
1919
import {
20+
Dialog,
2021
FrontendApplication,
2122
FrontendApplicationContribution,
2223
LocalStorageService,
24+
OnWillStopAction,
2325
SaveableWidget,
2426
StatusBar,
2527
StatusBarAlignment,
@@ -575,7 +577,11 @@ export class ArduinoFrontendContribution
575577
(widget) => widget.editor.uri.toString() === uri
576578
);
577579
if (!widget || forceOpen) {
578-
return this.editorManager.open(new URI(uri), options);
580+
return this.editorManager.open(new URI(uri), options ?? {
581+
mode: 'reveal',
582+
preview: false,
583+
counter: 0
584+
});
579585
}
580586
}
581587

@@ -659,4 +665,51 @@ export class ArduinoFrontendContribution
659665
}
660666
);
661667
}
668+
669+
onWillStop(): OnWillStopAction {
670+
return {
671+
reason: 'temp-sketch',
672+
action: () => {
673+
return this.showTempSketchDialog();
674+
}
675+
}
676+
}
677+
678+
private async showTempSketchDialog(): Promise<boolean> {
679+
const sketch = await this.sketchServiceClient.currentSketch();
680+
if (!sketch) {
681+
return true;
682+
}
683+
const isTemp = await this.sketchService.isTemp(sketch);
684+
if (!isTemp) {
685+
return true;
686+
}
687+
const messageBoxResult = await remote.dialog.showMessageBox(
688+
remote.getCurrentWindow(),
689+
{
690+
message: nls.localize('arduino/sketch/saveTempSketch', 'Save your sketch to open it again later.'),
691+
title: nls.localize('theia/core/quitTitle', 'Are you sure you want to quit?'),
692+
type: 'question',
693+
buttons: [
694+
Dialog.CANCEL,
695+
nls.localizeByDefault('Save As...'),
696+
nls.localizeByDefault("Don't Save"),
697+
],
698+
}
699+
)
700+
const result = messageBoxResult.response;
701+
if (result === 2) {
702+
return true;
703+
} else if (result === 1) {
704+
return !!(await this.commandRegistry.executeCommand(
705+
SaveAsSketch.Commands.SAVE_AS_SKETCH.id,
706+
{
707+
execOnlyIfTemp: false,
708+
openAfterMove: false,
709+
wipeOriginal: true
710+
}
711+
));
712+
}
713+
return false
714+
}
662715
}

Diff for: arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import '../../src/browser/style/index.css';
2-
import { ContainerModule } from 'inversify';
2+
import { ContainerModule } from '@theia/core/shared/inversify';
33
import { WidgetFactory } from '@theia/core/lib/browser/widget-manager';
44
import { CommandContribution } from '@theia/core/lib/common/command';
55
import { bindViewContribution } from '@theia/core/lib/browser/shell/view-contribution';
@@ -275,6 +275,8 @@ import {
275275
IDEUpdaterDialogWidget,
276276
} from './dialogs/ide-updater/ide-updater-dialog';
277277
import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-provider';
278+
import { EditorManager as TheiaEditorManager } from '@theia/editor/lib/browser/editor-manager';
279+
import { EditorManager } from './theia/editor/editor-manager';
278280

279281
const ElementQueries = require('css-element-queries/src/ElementQueries');
280282

@@ -514,6 +516,8 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
514516

515517
bind(SearchInWorkspaceWidget).toSelf();
516518
rebind(TheiaSearchInWorkspaceWidget).toService(SearchInWorkspaceWidget);
519+
520+
rebind(TheiaEditorManager).to(EditorManager);
517521

518522
// replace search icon
519523
rebind(TheiaSearchInWorkspaceFactory)
@@ -680,6 +684,8 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
680684

681685
// Workaround for https://github.com/eclipse-theia/theia/issues/8722
682686
// Do not trigger a save on IDE startup if `"editor.autoSave": "on"` was set as a preference.
687+
// Note: `"editor.autoSave" was renamed to `"files.autoSave" and `"on"` was replaced with three
688+
// different cases, but we treat `!== 'off'` as auto save enabled. (https://github.com/eclipse-theia/theia/issues/10812)
683689
bind(EditorCommandContribution).toSelf().inSingletonScope();
684690
rebind(TheiaEditorCommandContribution).toService(EditorCommandContribution);
685691

Diff for: arduino-ide-extension/src/browser/arduino-preferences.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { interfaces } from 'inversify';
1+
import { interfaces } from '@theia/core/shared/inversify';
22
import {
33
createPreferenceProxy,
44
PreferenceProxy,
@@ -83,7 +83,7 @@ export const ArduinoConfigSchema: PreferenceSchema = {
8383
default: 'https://downloads.arduino.cc/arduino-ide',
8484
description: nls.localize(
8585
'arduino/preferences/ide.updateBaseUrl',
86-
`The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'`
86+
"The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'"
8787
),
8888
},
8989
'arduino.board.certificates': {

Diff for: arduino-ide-extension/src/browser/auth/authentication-client-service.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable } from 'inversify';
1+
import { inject, injectable } from '@theia/core/shared/inversify';
22
import { Emitter } from '@theia/core/lib/common/event';
33
import { JsonRpcProxy } from '@theia/core/lib/common/messaging/proxy-factory';
44
import { WindowService } from '@theia/core/lib/browser/window/window-service';
@@ -49,7 +49,10 @@ export class AuthenticationClientService
4949
this.service
5050
.session()
5151
.then((session) => this.notifySessionDidChange(session));
52+
5253
this.setOptions();
54+
this.service.initAuthSession()
55+
5356
this.arduinoPreferences.onPreferenceChanged((event) => {
5457
if (event.preferenceName.startsWith('arduino.auth.')) {
5558
this.setOptions();

Diff for: arduino-ide-extension/src/browser/boards/boards-auto-installer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { injectable, inject } from 'inversify';
1+
import { injectable, inject } from '@theia/core/shared/inversify';
22
import { MessageService } from '@theia/core/lib/common/message-service';
33
import { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application';
44
import {

Diff for: arduino-ide-extension/src/browser/boards/boards-config-dialog-widget.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import * as React from 'react';
2-
import { injectable, inject } from 'inversify';
1+
import * as React from '@theia/core/shared/react';
2+
import { injectable, inject } from '@theia/core/shared/inversify';
33
import { Emitter } from '@theia/core/lib/common/event';
44
import { ReactWidget, Message } from '@theia/core/lib/browser';
55
import { BoardsService } from '../../common/protocol/boards-service';

Diff for: arduino-ide-extension/src/browser/boards/boards-config-dialog.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { injectable, inject, postConstruct } from 'inversify';
2-
import { Message } from '@phosphor/messaging';
1+
import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
2+
import { Message } from '@theia/core/shared/@phosphor/messaging';
33
import { DialogProps, Widget, DialogError } from '@theia/core/lib/browser';
44
import { AbstractDialog } from '../theia/dialogs/dialogs';
55
import { BoardsConfig } from './boards-config';

Diff for: arduino-ide-extension/src/browser/boards/boards-config.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import * as React from '@theia/core/shared/react';
22
import { Event } from '@theia/core/lib/common/event';
33
import { notEmpty } from '@theia/core/lib/common/objects';
44
import { MaybePromise } from '@theia/core/lib/common/types';

Diff for: arduino-ide-extension/src/browser/boards/boards-data-menu-updater.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as PQueue from 'p-queue';
2-
import { inject, injectable } from 'inversify';
2+
import { inject, injectable } from '@theia/core/shared/inversify';
33
import { CommandRegistry } from '@theia/core/lib/common/command';
44
import { MenuModelRegistry } from '@theia/core/lib/common/menu';
55
import {

Diff for: arduino-ide-extension/src/browser/boards/boards-data-store.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { injectable, inject, named } from 'inversify';
1+
import { injectable, inject, named } from '@theia/core/shared/inversify';
22
import { ILogger } from '@theia/core/lib/common/logger';
33
import { deepClone } from '@theia/core/lib/common/objects';
44
import { Event, Emitter } from '@theia/core/lib/common/event';

Diff for: arduino-ide-extension/src/browser/boards/boards-list-widget.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable, postConstruct } from 'inversify';
1+
import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
22
import {
33
BoardsPackage,
44
BoardsService,

Diff for: arduino-ide-extension/src/browser/boards/boards-service-provider.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { injectable, inject } from 'inversify';
1+
import { injectable, inject } from '@theia/core/shared/inversify';
22
import { Emitter } from '@theia/core/lib/common/event';
33
import { ILogger } from '@theia/core/lib/common/logger';
44
import { CommandService } from '@theia/core/lib/common/command';

Diff for: arduino-ide-extension/src/browser/boards/boards-toolbar-item.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import * as React from 'react';
2-
import * as ReactDOM from 'react-dom';
1+
import * as React from '@theia/core/shared/react';
2+
import * as ReactDOM from '@theia/core/shared/react-dom';
33
import { CommandRegistry } from '@theia/core/lib/common/command';
44
import { DisposableCollection } from '@theia/core/lib/common/disposable';
55
import { Port } from '../../common/protocol';

Diff for: arduino-ide-extension/src/browser/boards/boards-widget-frontend-contribution.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { injectable } from 'inversify';
1+
import { injectable } from '@theia/core/shared/inversify';
22
import { BoardsListWidget } from './boards-list-widget';
33
import { BoardsPackage } from '../../common/protocol/boards-service';
44
import { ListWidgetFrontendContribution } from '../widgets/component-list/list-widget-frontend-contribution';

Diff for: arduino-ide-extension/src/browser/components/ProgressBar.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react';
1+
import * as React from '@theia/core/shared/react';
22

33
export type ProgressBarProps = {
44
percent?: number;

Diff for: arduino-ide-extension/src/browser/contributions/about.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable } from 'inversify';
1+
import { inject, injectable } from '@theia/core/shared/inversify';
22
import * as moment from 'moment';
33
import * as remote from '@theia/core/electron-shared/@electron/remote';
44
import { isOSX, isWindows } from '@theia/core/lib/common/os';

Diff for: arduino-ide-extension/src/browser/contributions/add-file.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable } from 'inversify';
1+
import { inject, injectable } from '@theia/core/shared/inversify';
22
import * as remote from '@theia/core/electron-shared/@electron/remote';
33
import { ArduinoMenus } from '../menu/arduino-menus';
44
import {

Diff for: arduino-ide-extension/src/browser/contributions/add-zip-library.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable } from 'inversify';
1+
import { inject, injectable } from '@theia/core/shared/inversify';
22
import * as remote from '@theia/core/electron-shared/@electron/remote';
33
import URI from '@theia/core/lib/common/uri';
44
import { ConfirmDialog } from '@theia/core/lib/browser/dialogs';

Diff for: arduino-ide-extension/src/browser/contributions/archive-sketch.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { injectable } from 'inversify';
1+
import { injectable } from '@theia/core/shared/inversify';
22
import * as remote from '@theia/core/electron-shared/@electron/remote';
33
import * as dateFormat from 'dateformat';
44
import URI from '@theia/core/lib/common/uri';

Diff for: arduino-ide-extension/src/browser/contributions/board-selection.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable } from 'inversify';
1+
import { inject, injectable } from '@theia/core/shared/inversify';
22
import * as remote from '@theia/core/electron-shared/@electron/remote';
33
import { MenuModelRegistry } from '@theia/core/lib/common/menu';
44
import {

Diff for: arduino-ide-extension/src/browser/contributions/burn-bootloader.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { inject, injectable } from 'inversify';
1+
import { inject, injectable } from '@theia/core/shared/inversify';
22
import { OutputChannelManager } from '@theia/output/lib/browser/output-channel';
33
import { CoreService } from '../../common/protocol';
44
import { ArduinoMenus } from '../menu/arduino-menus';

0 commit comments

Comments
 (0)