@@ -3,10 +3,7 @@ import { ContainerModule } from '@theia/core/shared/inversify';
3
3
import { WidgetFactory } from '@theia/core/lib/browser/widget-manager' ;
4
4
import { CommandContribution } from '@theia/core/lib/common/command' ;
5
5
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' ;
10
7
import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/ws-connection-provider' ;
11
8
import {
12
9
FrontendApplicationContribution ,
@@ -84,10 +81,7 @@ import { BoardsAutoInstaller } from './boards/boards-auto-installer';
84
81
import { ShellLayoutRestorer } from './theia/core/shell-layout-restorer' ;
85
82
import { ListItemRenderer } from './widgets/component-list/list-item-renderer' ;
86
83
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
+
91
85
import {
92
86
ArduinoDaemonPath ,
93
87
ArduinoDaemon ,
@@ -137,7 +131,6 @@ import { Settings } from './contributions/settings';
137
131
import { WorkspaceCommandContribution } from './theia/workspace/workspace-commands' ;
138
132
import { WorkspaceDeleteHandler as TheiaWorkspaceDeleteHandler } from '@theia/workspace/lib/browser/workspace-delete-handler' ;
139
133
import { WorkspaceDeleteHandler } from './theia/workspace/workspace-delete-handler' ;
140
- import { TabBarToolbar } from './theia/core/tab-bar-toolbar' ;
141
134
import { EditorWidgetFactory as TheiaEditorWidgetFactory } from '@theia/editor/lib/browser/editor-widget-factory' ;
142
135
import { EditorWidgetFactory } from './theia/editor/editor-widget-factory' ;
143
136
import { BurnBootloader } from './contributions/burn-bootloader' ;
@@ -181,8 +174,6 @@ import { EditorCommandContribution } from './theia/editor/editor-command';
181
174
import { NavigatorTabBarDecorator as TheiaNavigatorTabBarDecorator } from '@theia/navigator/lib/browser/navigator-tab-bar-decorator' ;
182
175
import { NavigatorTabBarDecorator } from './theia/navigator/navigator-tab-bar-decorator' ;
183
176
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' ;
186
177
import { Sketchbook } from './contributions/sketchbook' ;
187
178
import { DebugFrontendApplicationContribution } from './theia/debug/debug-frontend-application-contribution' ;
188
179
import { DebugFrontendApplicationContribution as TheiaDebugFrontendApplicationContribution } from '@theia/debug/lib/browser/debug-frontend-application-contribution' ;
@@ -241,7 +232,6 @@ import { UploadFirmware } from './contributions/upload-firmware';
241
232
import {
242
233
UploadFirmwareDialog ,
243
234
UploadFirmwareDialogProps ,
244
- UploadFirmwareDialogWidget ,
245
235
} from './dialogs/firmware-uploader/firmware-uploader-dialog' ;
246
236
247
237
import { UploadCertificate } from './contributions/upload-certificate' ;
@@ -258,7 +248,6 @@ import { PlotterFrontendContribution } from './serial/plotter/plotter-frontend-c
258
248
import {
259
249
UserFieldsDialog ,
260
250
UserFieldsDialogProps ,
261
- UserFieldsDialogWidget ,
262
251
} from './dialogs/user-fields/user-fields-dialog' ;
263
252
import { nls } from '@theia/core/lib/common' ;
264
253
import { IDEUpdaterCommands } from './ide-updater/ide-updater-commands' ;
@@ -271,7 +260,6 @@ import { IDEUpdaterClientImpl } from './ide-updater/ide-updater-client-impl';
271
260
import {
272
261
IDEUpdaterDialog ,
273
262
IDEUpdaterDialogProps ,
274
- IDEUpdaterDialogWidget ,
275
263
} from './dialogs/ide-updater/ide-updater-dialog' ;
276
264
import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-provider' ;
277
265
import { MonitorModel } from './monitor-model' ;
@@ -313,10 +301,6 @@ import { SelectedBoard } from './contributions/selected-board';
313
301
import { CheckForIDEUpdates } from './contributions/check-for-ide-updates' ;
314
302
import { OpenBoardsConfig } from './contributions/open-boards-config' ;
315
303
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' ;
320
304
import { EditorMenuContribution } from './theia/editor/editor-file' ;
321
305
import { EditorMenuContribution as TheiaEditorMenuContribution } from '@theia/editor/lib/browser/editor-menu' ;
322
306
import { PreferencesEditorWidget as TheiaPreferencesEditorWidget } from '@theia/preferences/lib/browser/views/preference-editor-widget' ;
@@ -337,32 +321,16 @@ import { InterfaceScale } from './contributions/interface-scale';
337
321
import { OpenHandler } from '@theia/core/lib/browser/opener-service' ;
338
322
import { NewCloudSketch } from './contributions/new-cloud-sketch' ;
339
323
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
- }
324
+ import { WindowTitleUpdater } from './theia/core/window-title-updater' ;
325
+ import { WindowTitleUpdater as TheiaWindowTitleUpdater } from '@theia/core/lib/browser/window/window-title-updater' ;
326
+ import { ThemeService } from './theia/core/theming' ;
327
+ import { ThemeService as TheiaThemeService } from '@theia/core/lib/browser/theming' ;
328
+ import { MonacoThemingService } from './theia/monaco/monaco-theming-service' ;
329
+ import { MonacoThemingService as TheiaMonacoThemingService } from '@theia/monaco/lib/browser/monaco-theming-service' ;
330
+ import { TypeHierarchyServiceProvider } from './theia/typehierarchy/type-hierarchy-service' ;
331
+ import { TypeHierarchyServiceProvider as TheiaTypeHierarchyServiceProvider } from '@theia/typehierarchy/lib/browser/typehierarchy-service' ;
332
+ import { TypeHierarchyContribution } from './theia/typehierarchy/type-hierarchy-contribution' ;
333
+ import { TypeHierarchyContribution as TheiaTypeHierarchyContribution } from '@theia/typehierarchy/lib/browser/typehierarchy-contribution' ;
366
334
367
335
export default new ContainerModule ( ( bind , unbind , isBound , rebind ) => {
368
336
// Commands and toolbar items
@@ -587,14 +555,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
587
555
. to ( WorkspaceDeleteHandler )
588
556
. inSingletonScope ( ) ;
589
557
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
- ) ;
598
558
bind ( OutputChannelManager ) . toSelf ( ) . inSingletonScope ( ) ;
599
559
rebind ( TheiaOutputChannelManager ) . toService ( OutputChannelManager ) ;
600
560
bind ( OutputChannelRegistryMainImpl ) . toSelf ( ) . inTransientScope ( ) ;
@@ -838,9 +798,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
838
798
bind ( AboutDialog ) . toSelf ( ) . inSingletonScope ( ) ;
839
799
rebind ( TheiaAboutDialog ) . toService ( AboutDialog ) ;
840
800
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 ) ;
844
801
// To remove the `Run` menu item from the application menu.
845
802
bind ( DebugFrontendApplicationContribution ) . toSelf ( ) . inSingletonScope ( ) ;
846
803
rebind ( TheiaDebugFrontendApplicationContribution ) . toService (
@@ -854,10 +811,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
854
811
bind ( WidgetManager ) . toSelf ( ) . inSingletonScope ( ) ;
855
812
rebind ( TheiaWidgetManager ) . toService ( WidgetManager ) ;
856
813
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
-
861
814
// Debounced update for the tab-bar toolbar when typing in the editor.
862
815
bind ( DockPanelRenderer ) . toSelf ( ) ;
863
816
rebind ( TheiaDockPanelRenderer ) . toService ( DockPanelRenderer ) ;
@@ -942,12 +895,11 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
942
895
bind ( LocalCacheFsProvider ) . toSelf ( ) . inSingletonScope ( ) ;
943
896
bind ( FileServiceContribution ) . toService ( LocalCacheFsProvider ) ;
944
897
bind ( CloudSketchbookCompositeWidget ) . toSelf ( ) ;
945
- bind < WidgetFactory > ( WidgetFactory ) . toDynamicValue ( ( ctx ) => ( {
898
+ bind ( WidgetFactory ) . toDynamicValue ( ( ctx ) => ( {
946
899
id : 'cloud-sketchbook-composite-widget' ,
947
900
createWidget : ( ) => ctx . container . get ( CloudSketchbookCompositeWidget ) ,
948
901
} ) ) ;
949
902
950
- bind ( UploadFirmwareDialogWidget ) . toSelf ( ) . inSingletonScope ( ) ;
951
903
bind ( UploadFirmwareDialog ) . toSelf ( ) . inSingletonScope ( ) ;
952
904
bind ( UploadFirmwareDialogProps ) . toConstantValue ( {
953
905
title : 'UploadFirmware' ,
@@ -958,13 +910,11 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
958
910
title : 'UploadCertificate' ,
959
911
} ) ;
960
912
961
- bind ( IDEUpdaterDialogWidget ) . toSelf ( ) . inSingletonScope ( ) ;
962
913
bind ( IDEUpdaterDialog ) . toSelf ( ) . inSingletonScope ( ) ;
963
914
bind ( IDEUpdaterDialogProps ) . toConstantValue ( {
964
915
title : 'IDEUpdater' ,
965
916
} ) ;
966
917
967
- bind ( UserFieldsDialogWidget ) . toSelf ( ) . inSingletonScope ( ) ;
968
918
bind ( UserFieldsDialog ) . toSelf ( ) . inSingletonScope ( ) ;
969
919
bind ( UserFieldsDialogProps ) . toConstantValue ( {
970
920
title : 'UserFields' ,
@@ -991,4 +941,23 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
991
941
rebind ( TheiaHostedPluginSupport ) . toService ( HostedPluginSupport ) ;
992
942
bind ( HostedPluginEvents ) . toSelf ( ) . inSingletonScope ( ) ;
993
943
bind ( FrontendApplicationContribution ) . toService ( HostedPluginEvents ) ;
944
+
945
+ // custom window titles
946
+ bind ( WindowTitleUpdater ) . toSelf ( ) . inSingletonScope ( ) ;
947
+ rebind ( TheiaWindowTitleUpdater ) . toService ( WindowTitleUpdater ) ;
948
+
949
+ // register Arduino themes
950
+ bind ( ThemeService ) . toSelf ( ) . inSingletonScope ( ) ;
951
+ rebind ( TheiaThemeService ) . toService ( ThemeService ) ;
952
+ bind ( MonacoThemingService ) . toSelf ( ) . inSingletonScope ( ) ;
953
+ rebind ( TheiaMonacoThemingService ) . toService ( MonacoThemingService ) ;
954
+
955
+ // disable type-hierarchy support
956
+ // https://github.com/eclipse-theia/theia/commit/16c88a584bac37f5cf3cc5eb92ffdaa541bda5be
957
+ bind ( TypeHierarchyServiceProvider ) . toSelf ( ) . inSingletonScope ( ) ;
958
+ rebind ( TheiaTypeHierarchyServiceProvider ) . toService (
959
+ TypeHierarchyServiceProvider
960
+ ) ;
961
+ bind ( TypeHierarchyContribution ) . toSelf ( ) . inSingletonScope ( ) ;
962
+ rebind ( TheiaTypeHierarchyContribution ) . toService ( TypeHierarchyContribution ) ;
994
963
} ) ;
0 commit comments