Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0d9b47b

Browse filesBrowse files
authored
Merge 9e042ae into fe3fbb1
2 parents fe3fbb1 + 9e042ae commit 0d9b47b
Copy full SHA for 0d9b47b

File tree

61 files changed

+3209
-4067
lines changed
Filter options

Some content is hidden

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

61 files changed

+3209
-4067
lines changed

‎.gitignore

Copy file name to clipboardExpand all lines: .gitignore
+1-3Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@ build/
77
Examples/
88
!electron/build/
99
src-gen/
10-
!webpack.config.js
10+
webpack.config.js
1111
gen-webpack.config.js
1212
.DS_Store
1313
# switching from `electron` to `browser` in dev mode.
1414
.browser_modules
1515
yarn*.log
1616
# For the VS Code extensions used by Theia.
1717
plugins
18-
# the config files for the CLI
19-
arduino-ide-extension/data/cli/config
2018
# the tokens folder for the themes
2119
scripts/themes/tokens
2220
# environment variables

‎arduino-ide-extension/package.json

Copy file name to clipboardExpand all lines: arduino-ide-extension/package.json
+31-32Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,31 @@
2121
},
2222
"dependencies": {
2323
"@grpc/grpc-js": "^1.6.7",
24-
"@theia/application-package": "1.25.0",
25-
"@theia/core": "1.25.0",
26-
"@theia/editor": "1.25.0",
27-
"@theia/electron": "1.25.0",
28-
"@theia/filesystem": "1.25.0",
29-
"@theia/keymaps": "1.25.0",
30-
"@theia/markers": "1.25.0",
31-
"@theia/monaco": "1.25.0",
32-
"@theia/navigator": "1.25.0",
33-
"@theia/outline-view": "1.25.0",
34-
"@theia/output": "1.25.0",
35-
"@theia/preferences": "1.25.0",
36-
"@theia/search-in-workspace": "1.25.0",
37-
"@theia/terminal": "1.25.0",
38-
"@theia/workspace": "1.25.0",
24+
"@theia/application-package": "1.31.1",
25+
"@theia/core": "1.31.1",
26+
"@theia/debug": "1.31.1",
27+
"@theia/editor": "1.31.1",
28+
"@theia/electron": "1.31.1",
29+
"@theia/filesystem": "1.31.1",
30+
"@theia/keymaps": "1.31.1",
31+
"@theia/markers": "1.31.1",
32+
"@theia/messages": "1.31.1",
33+
"@theia/monaco": "1.31.1",
34+
"@theia/monaco-editor-core": "1.67.2",
35+
"@theia/navigator": "1.31.1",
36+
"@theia/outline-view": "1.31.1",
37+
"@theia/output": "1.31.1",
38+
"@theia/plugin-ext": "1.31.1",
39+
"@theia/preferences": "1.31.1",
40+
"@theia/scm": "1.31.1",
41+
"@theia/search-in-workspace": "1.31.1",
42+
"@theia/terminal": "1.31.1",
43+
"@theia/typehierarchy": "1.31.1",
44+
"@theia/workspace": "1.31.1",
3945
"@tippyjs/react": "^4.2.5",
40-
"@types/atob": "^2.1.2",
4146
"@types/auth0-js": "^9.14.0",
4247
"@types/btoa": "^1.2.3",
4348
"@types/dateformat": "^3.0.1",
44-
"@types/deep-equal": "^1.0.1",
4549
"@types/deepmerge": "^2.2.0",
4650
"@types/glob": "^7.2.0",
4751
"@types/google-protobuf": "^3.7.2",
@@ -50,49 +54,48 @@
5054
"@types/lodash.debounce": "^4.0.6",
5155
"@types/ncp": "^2.0.4",
5256
"@types/node-fetch": "^2.5.7",
57+
"@types/p-queue": "^2.3.1",
5358
"@types/ps-tree": "^1.1.0",
54-
"@types/react-select": "^3.0.0",
5559
"@types/react-tabs": "^2.3.2",
60+
"@types/react-virtualized": "^9.21.21",
5661
"@types/temp": "^0.8.34",
5762
"@types/which": "^1.3.1",
58-
"ajv": "^6.5.3",
5963
"arduino-serial-plotter-webapp": "0.2.0",
6064
"async-mutex": "^0.3.0",
61-
"atob": "^2.1.2",
6265
"auth0-js": "^9.14.0",
6366
"btoa": "^1.2.1",
6467
"classnames": "^2.3.1",
6568
"dateformat": "^3.0.3",
66-
"deep-equal": "^2.0.5",
6769
"deepmerge": "2.0.1",
6870
"electron-updater": "^4.6.5",
6971
"fast-safe-stringify": "^2.1.1",
7072
"glob": "^7.1.6",
7173
"google-protobuf": "^3.20.1",
7274
"hash.js": "^1.1.7",
73-
"is-valid-path": "^0.1.1",
7475
"js-yaml": "^3.13.1",
7576
"jwt-decode": "^3.1.2",
7677
"keytar": "7.2.0",
7778
"lodash.debounce": "^4.0.8",
79+
"minimatch": "^3.1.2",
7880
"ncp": "^2.0.0",
7981
"node-fetch": "^2.6.1",
8082
"open": "^8.0.6",
81-
"p-queue": "^5.0.0",
83+
"p-debounce": "^2.1.0",
84+
"p-queue": "^2.4.2",
8285
"ps-tree": "^1.2.0",
8386
"query-string": "^7.0.1",
84-
"react-disable": "^0.1.0",
87+
"react-disable": "^0.1.1",
8588
"react-markdown": "^8.0.0",
86-
"react-select": "^3.0.4",
89+
"react-perfect-scrollbar": "^1.5.8",
90+
"react-select": "^5.6.0",
8791
"react-tabs": "^3.1.2",
92+
"react-virtualized": "^9.22.3",
8893
"react-window": "^1.8.6",
8994
"semver": "^7.3.2",
9095
"string-natural-compare": "^2.0.3",
9196
"temp": "^0.9.1",
9297
"temp-dir": "^2.0.0",
9398
"tree-kill": "^1.2.1",
94-
"upath": "^1.1.2",
95-
"url": "^0.11.0",
9699
"which": "^1.3.1"
97100
},
98101
"devDependencies": {
@@ -101,11 +104,10 @@
101104
"@types/chai-string": "^1.4.2",
102105
"@types/mocha": "^5.2.7",
103106
"@types/react-window": "^1.8.5",
104-
"@types/sinon": "^10.0.6",
105-
"@types/sinon-chai": "^3.2.6",
106107
"chai": "^4.2.0",
107108
"chai-string": "^1.5.0",
108109
"decompress": "^4.2.0",
110+
"decompress-tarbz2": "^4.1.1",
109111
"decompress-targz": "^4.1.1",
110112
"decompress-unzip": "^4.0.1",
111113
"download": "^7.1.0",
@@ -115,9 +117,6 @@
115117
"moment": "^2.24.0",
116118
"protoc": "^1.0.4",
117119
"shelljs": "^0.8.3",
118-
"sinon": "^12.0.1",
119-
"sinon-chai": "^3.7.0",
120-
"typemoq": "^2.1.0",
121120
"uuid": "^3.2.1",
122121
"yargs": "^11.1.0"
123122
},

‎arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts
+32-59Lines changed: 32 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ 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';
6-
import {
7-
TabBarToolbarContribution,
8-
TabBarToolbarFactory,
9-
} from '@theia/core/lib/browser/shell/tab-bar-toolbar';
6+
import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
107
import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/ws-connection-provider';
118
import {
129
FrontendApplicationContribution,
@@ -84,10 +81,7 @@ import { BoardsAutoInstaller } from './boards/boards-auto-installer';
8481
import { ShellLayoutRestorer } from './theia/core/shell-layout-restorer';
8582
import { ListItemRenderer } from './widgets/component-list/list-item-renderer';
8683
import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution';
87-
import {
88-
MonacoThemeJson,
89-
MonacoThemingService,
90-
} from '@theia/monaco/lib/browser/monaco-theming-service';
84+
9185
import {
9286
ArduinoDaemonPath,
9387
ArduinoDaemon,
@@ -137,7 +131,6 @@ import { Settings } from './contributions/settings';
137131
import { WorkspaceCommandContribution } from './theia/workspace/workspace-commands';
138132
import { WorkspaceDeleteHandler as TheiaWorkspaceDeleteHandler } from '@theia/workspace/lib/browser/workspace-delete-handler';
139133
import { WorkspaceDeleteHandler } from './theia/workspace/workspace-delete-handler';
140-
import { TabBarToolbar } from './theia/core/tab-bar-toolbar';
141134
import { EditorWidgetFactory as TheiaEditorWidgetFactory } from '@theia/editor/lib/browser/editor-widget-factory';
142135
import { EditorWidgetFactory } from './theia/editor/editor-widget-factory';
143136
import { BurnBootloader } from './contributions/burn-bootloader';
@@ -181,8 +174,6 @@ import { EditorCommandContribution } from './theia/editor/editor-command';
181174
import { NavigatorTabBarDecorator as TheiaNavigatorTabBarDecorator } from '@theia/navigator/lib/browser/navigator-tab-bar-decorator';
182175
import { NavigatorTabBarDecorator } from './theia/navigator/navigator-tab-bar-decorator';
183176
import { Debug } from './contributions/debug';
184-
import { DebugSessionManager } from './theia/debug/debug-session-manager';
185-
import { DebugSessionManager as TheiaDebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager';
186177
import { Sketchbook } from './contributions/sketchbook';
187178
import { DebugFrontendApplicationContribution } from './theia/debug/debug-frontend-application-contribution';
188179
import { DebugFrontendApplicationContribution as TheiaDebugFrontendApplicationContribution } from '@theia/debug/lib/browser/debug-frontend-application-contribution';
@@ -271,7 +262,6 @@ import { IDEUpdaterClientImpl } from './ide-updater/ide-updater-client-impl';
271262
import {
272263
IDEUpdaterDialog,
273264
IDEUpdaterDialogProps,
274-
IDEUpdaterDialogWidget,
275265
} from './dialogs/ide-updater/ide-updater-dialog';
276266
import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-provider';
277267
import { MonitorModel } from './monitor-model';
@@ -313,10 +303,6 @@ import { SelectedBoard } from './contributions/selected-board';
313303
import { CheckForIDEUpdates } from './contributions/check-for-ide-updates';
314304
import { OpenBoardsConfig } from './contributions/open-boards-config';
315305
import { SketchFilesTracker } from './contributions/sketch-files-tracker';
316-
import { MonacoThemeServiceIsReady } from './utils/window';
317-
import { Deferred } from '@theia/core/lib/common/promise-util';
318-
import { StatusBarImpl } from './theia/core/status-bar';
319-
import { StatusBarImpl as TheiaStatusBarImpl } from '@theia/core/lib/browser';
320306
import { EditorMenuContribution } from './theia/editor/editor-file';
321307
import { EditorMenuContribution as TheiaEditorMenuContribution } from '@theia/editor/lib/browser/editor-menu';
322308
import { PreferencesEditorWidget as TheiaPreferencesEditorWidget } from '@theia/preferences/lib/browser/views/preference-editor-widget';
@@ -337,32 +323,16 @@ import { InterfaceScale } from './contributions/interface-scale';
337323
import { OpenHandler } from '@theia/core/lib/browser/opener-service';
338324
import { NewCloudSketch } from './contributions/new-cloud-sketch';
339325
import { SketchbookCompositeWidget } from './widgets/sketchbook/sketchbook-composite-widget';
340-
341-
const registerArduinoThemes = () => {
342-
const themes: MonacoThemeJson[] = [
343-
{
344-
id: 'arduino-theme',
345-
label: 'Light (Arduino)',
346-
uiTheme: 'vs',
347-
json: require('../../src/browser/data/default.color-theme.json'),
348-
},
349-
{
350-
id: 'arduino-theme-dark',
351-
label: 'Dark (Arduino)',
352-
uiTheme: 'vs-dark',
353-
json: require('../../src/browser/data/dark.color-theme.json'),
354-
},
355-
];
356-
themes.forEach((theme) => MonacoThemingService.register(theme));
357-
};
358-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
359-
const global = window as any;
360-
const ready = global[MonacoThemeServiceIsReady] as Deferred;
361-
if (ready) {
362-
ready.promise.then(registerArduinoThemes);
363-
} else {
364-
registerArduinoThemes();
365-
}
326+
import { WindowTitleUpdater } from './theia/core/window-title-updater';
327+
import { WindowTitleUpdater as TheiaWindowTitleUpdater } from '@theia/core/lib/browser/window/window-title-updater';
328+
import { ThemeService } from './theia/core/theming';
329+
import { ThemeService as TheiaThemeService } from '@theia/core/lib/browser/theming';
330+
import { MonacoThemingService } from './theia/monaco/monaco-theming-service';
331+
import { MonacoThemingService as TheiaMonacoThemingService } from '@theia/monaco/lib/browser/monaco-theming-service';
332+
import { TypeHierarchyServiceProvider } from './theia/typehierarchy/type-hierarchy-service';
333+
import { TypeHierarchyServiceProvider as TheiaTypeHierarchyServiceProvider } from '@theia/typehierarchy/lib/browser/typehierarchy-service';
334+
import { TypeHierarchyContribution } from './theia/typehierarchy/type-hierarchy-contribution';
335+
import { TypeHierarchyContribution as TheiaTypeHierarchyContribution } from '@theia/typehierarchy/lib/browser/typehierarchy-contribution';
366336

367337
export default new ContainerModule((bind, unbind, isBound, rebind) => {
368338
// Commands and toolbar items
@@ -587,14 +557,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
587557
.to(WorkspaceDeleteHandler)
588558
.inSingletonScope();
589559
rebind(TheiaEditorWidgetFactory).to(EditorWidgetFactory).inSingletonScope();
590-
rebind(TabBarToolbarFactory).toFactory(
591-
({ container: parentContainer }) =>
592-
() => {
593-
const container = parentContainer.createChild();
594-
container.bind(TabBarToolbar).toSelf().inSingletonScope();
595-
return container.get(TabBarToolbar);
596-
}
597-
);
598560
bind(OutputChannelManager).toSelf().inSingletonScope();
599561
rebind(TheiaOutputChannelManager).toService(OutputChannelManager);
600562
bind(OutputChannelRegistryMainImpl).toSelf().inTransientScope();
@@ -838,9 +800,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
838800
bind(AboutDialog).toSelf().inSingletonScope();
839801
rebind(TheiaAboutDialog).toService(AboutDialog);
840802

841-
// To avoid running `Save All` when there are no dirty editors before starting the debug session.
842-
bind(DebugSessionManager).toSelf().inSingletonScope();
843-
rebind(TheiaDebugSessionManager).toService(DebugSessionManager);
844803
// To remove the `Run` menu item from the application menu.
845804
bind(DebugFrontendApplicationContribution).toSelf().inSingletonScope();
846805
rebind(TheiaDebugFrontendApplicationContribution).toService(
@@ -854,10 +813,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
854813
bind(WidgetManager).toSelf().inSingletonScope();
855814
rebind(TheiaWidgetManager).toService(WidgetManager);
856815

857-
// To avoid running a status bar update on every single `keypress` event from the editor.
858-
bind(StatusBarImpl).toSelf().inSingletonScope();
859-
rebind(TheiaStatusBarImpl).toService(StatusBarImpl);
860-
861816
// Debounced update for the tab-bar toolbar when typing in the editor.
862817
bind(DockPanelRenderer).toSelf();
863818
rebind(TheiaDockPanelRenderer).toService(DockPanelRenderer);
@@ -942,7 +897,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
942897
bind(LocalCacheFsProvider).toSelf().inSingletonScope();
943898
bind(FileServiceContribution).toService(LocalCacheFsProvider);
944899
bind(CloudSketchbookCompositeWidget).toSelf();
945-
bind<WidgetFactory>(WidgetFactory).toDynamicValue((ctx) => ({
900+
bind(WidgetFactory).toDynamicValue((ctx) => ({
946901
id: 'cloud-sketchbook-composite-widget',
947902
createWidget: () => ctx.container.get(CloudSketchbookCompositeWidget),
948903
}));
@@ -958,7 +913,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
958913
title: 'UploadCertificate',
959914
});
960915

961-
bind(IDEUpdaterDialogWidget).toSelf().inSingletonScope();
962916
bind(IDEUpdaterDialog).toSelf().inSingletonScope();
963917
bind(IDEUpdaterDialogProps).toConstantValue({
964918
title: 'IDEUpdater',
@@ -991,4 +945,23 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
991945
rebind(TheiaHostedPluginSupport).toService(HostedPluginSupport);
992946
bind(HostedPluginEvents).toSelf().inSingletonScope();
993947
bind(FrontendApplicationContribution).toService(HostedPluginEvents);
948+
949+
// custom window titles
950+
bind(WindowTitleUpdater).toSelf().inSingletonScope();
951+
rebind(TheiaWindowTitleUpdater).toService(WindowTitleUpdater);
952+
953+
// register Arduino themes
954+
bind(ThemeService).toSelf().inSingletonScope();
955+
rebind(TheiaThemeService).toService(ThemeService);
956+
bind(MonacoThemingService).toSelf().inSingletonScope();
957+
rebind(TheiaMonacoThemingService).toService(MonacoThemingService);
958+
959+
// disable type-hierarchy support
960+
// https://github.com/eclipse-theia/theia/commit/16c88a584bac37f5cf3cc5eb92ffdaa541bda5be
961+
bind(TypeHierarchyServiceProvider).toSelf().inSingletonScope();
962+
rebind(TheiaTypeHierarchyServiceProvider).toService(
963+
TypeHierarchyServiceProvider
964+
);
965+
bind(TypeHierarchyContribution).toSelf().inSingletonScope();
966+
rebind(TheiaTypeHierarchyContribution).toService(TypeHierarchyContribution);
994967
});

‎arduino-ide-extension/src/browser/contributions/sketch-control.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/browser/contributions/sketch-control.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ export class SketchControl extends SketchContribution {
235235
});
236236
registry.registerKeybinding({
237237
command: CommonCommands.PREVIOUS_TAB.id,
238-
keybinding: 'CtrlCmd+Alt+Left', // TODO: check why electron does not show the keybindings in the UI.
238+
keybinding: 'CtrlCmd+Alt+Left',
239239
});
240240
registry.registerKeybinding({
241241
command: CommonCommands.NEXT_TAB.id,

‎arduino-ide-extension/src/browser/create/create-uri.ts

Copy file name to clipboardExpand all lines: arduino-ide-extension/src/browser/create/create-uri.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { URI as Uri } from 'vscode-uri';
1+
import { URI as Uri } from '@theia/core/shared/vscode-uri';
22
import URI from '@theia/core/lib/common/uri';
33
import { toPosixPath, parentPosix, posix } from './create-paths';
44
import { Create } from './typings';

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.