@@ -3,10 +3,7 @@ import { ContainerModule } from '@theia/core/shared/inversify';
33import { WidgetFactory } from '@theia/core/lib/browser/widget-manager' ;
44import { CommandContribution } from '@theia/core/lib/common/command' ;
55import { 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' ;
107import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/ws-connection-provider' ;
118import {
129 FrontendApplicationContribution ,
@@ -84,10 +81,7 @@ import { BoardsAutoInstaller } from './boards/boards-auto-installer';
8481import { ShellLayoutRestorer } from './theia/core/shell-layout-restorer' ;
8582import { ListItemRenderer } from './widgets/component-list/list-item-renderer' ;
8683import { 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+
9185import {
9286 ArduinoDaemonPath ,
9387 ArduinoDaemon ,
@@ -137,7 +131,6 @@ import { Settings } from './contributions/settings';
137131import { WorkspaceCommandContribution } from './theia/workspace/workspace-commands' ;
138132import { WorkspaceDeleteHandler as TheiaWorkspaceDeleteHandler } from '@theia/workspace/lib/browser/workspace-delete-handler' ;
139133import { WorkspaceDeleteHandler } from './theia/workspace/workspace-delete-handler' ;
140- import { TabBarToolbar } from './theia/core/tab-bar-toolbar' ;
141134import { EditorWidgetFactory as TheiaEditorWidgetFactory } from '@theia/editor/lib/browser/editor-widget-factory' ;
142135import { EditorWidgetFactory } from './theia/editor/editor-widget-factory' ;
143136import { BurnBootloader } from './contributions/burn-bootloader' ;
@@ -181,8 +174,6 @@ import { EditorCommandContribution } from './theia/editor/editor-command';
181174import { NavigatorTabBarDecorator as TheiaNavigatorTabBarDecorator } from '@theia/navigator/lib/browser/navigator-tab-bar-decorator' ;
182175import { NavigatorTabBarDecorator } from './theia/navigator/navigator-tab-bar-decorator' ;
183176import { 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' ;
186177import { Sketchbook } from './contributions/sketchbook' ;
187178import { DebugFrontendApplicationContribution } from './theia/debug/debug-frontend-application-contribution' ;
188179import { 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';
271262import {
272263 IDEUpdaterDialog ,
273264 IDEUpdaterDialogProps ,
274- IDEUpdaterDialogWidget ,
275265} from './dialogs/ide-updater/ide-updater-dialog' ;
276266import { ElectronIpcConnectionProvider } from '@theia/core/lib/electron-browser/messaging/electron-ipc-connection-provider' ;
277267import { MonitorModel } from './monitor-model' ;
@@ -313,10 +303,6 @@ import { SelectedBoard } from './contributions/selected-board';
313303import { CheckForIDEUpdates } from './contributions/check-for-ide-updates' ;
314304import { OpenBoardsConfig } from './contributions/open-boards-config' ;
315305import { 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' ;
320306import { EditorMenuContribution } from './theia/editor/editor-file' ;
321307import { EditorMenuContribution as TheiaEditorMenuContribution } from '@theia/editor/lib/browser/editor-menu' ;
322308import { PreferencesEditorWidget as TheiaPreferencesEditorWidget } from '@theia/preferences/lib/browser/views/preference-editor-widget' ;
@@ -337,32 +323,16 @@ import { InterfaceScale } from './contributions/interface-scale';
337323import { OpenHandler } from '@theia/core/lib/browser/opener-service' ;
338324import { NewCloudSketch } from './contributions/new-cloud-sketch' ;
339325import { 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
367337export 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} ) ;
0 commit comments