diff --git a/src/vs/editor/contrib/inspectTMScopes/electron-browser/inspectTMScopes.ts b/src/vs/editor/contrib/inspectTMScopes/electron-browser/inspectTMScopes.ts index 4bc69a7fa25acb5652a1b8a3e64f83b10a4d663c..f8bfa8c6447f83d2b4392c49f3e1c7a96e28d3a9 100644 --- a/src/vs/editor/contrib/inspectTMScopes/electron-browser/inspectTMScopes.ts +++ b/src/vs/editor/contrib/inspectTMScopes/electron-browser/inspectTMScopes.ts @@ -22,7 +22,7 @@ import { TokenMetadata } from 'vs/editor/common/model/tokensBinaryEncoding'; import { TokenizationRegistry, LanguageIdentifier, FontStyle, StandardTokenType } from 'vs/editor/common/modes'; import { CharCode } from 'vs/base/common/charCode'; import { findMatchingThemeRule } from 'vs/editor/electron-browser/textMate/TMHelper'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { Color } from 'vs/base/common/color'; import { IMessageService } from 'vs/platform/message/common/message'; import Severity from 'vs/base/common/severity'; diff --git a/src/vs/editor/electron-browser/textMate/TMHelper.ts b/src/vs/editor/electron-browser/textMate/TMHelper.ts index be81436a3eac2e181f114d00af409bbafe83e39c..8858abbc678671d8103f11e05a17474fbf997f31 100644 --- a/src/vs/editor/electron-browser/textMate/TMHelper.ts +++ b/src/vs/editor/electron-browser/textMate/TMHelper.ts @@ -5,7 +5,7 @@ 'use strict'; -import { IColorTheme, ITokenColorizationSetting } from 'vs/workbench/services/themes/common/themeService'; +import { IColorTheme, ITokenColorizationSetting } from 'vs/workbench/services/themes/common/workbenchThemeService'; export function findMatchingThemeRule(theme: IColorTheme, scopes: string[]): ThemeRule { for (let i = scopes.length - 1; i >= 0; i--) { diff --git a/src/vs/editor/electron-browser/textMate/TMSyntax.ts b/src/vs/editor/electron-browser/textMate/TMSyntax.ts index 35b0adb215ef50d2b5f962c6d89c3df67a665928..2d23a20b8d0b127c3aa27a4df67f244d9b0c4a9a 100644 --- a/src/vs/editor/electron-browser/textMate/TMSyntax.ts +++ b/src/vs/editor/electron-browser/textMate/TMSyntax.ts @@ -16,7 +16,7 @@ import { ExtensionMessageCollector } from 'vs/platform/extensions/common/extensi import { ITokenizationSupport, TokenizationRegistry, IState, LanguageId } from 'vs/editor/common/modes'; import { IModeService } from 'vs/editor/common/services/modeService'; import { INITIAL, StackElement, IGrammar, Registry, IEmbeddedLanguagesMap as IEmbeddedLanguagesMap2 } from 'vscode-textmate'; -import { IWorkbenchThemeService, ITokenColorizationRule } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService, ITokenColorizationRule } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { ITextMateService } from 'vs/editor/node/textMate/textMateService'; import { grammarsExtPoint, IEmbeddedLanguagesMap, ITMSyntaxExtensionPoint } from 'vs/editor/node/textMate/TMGrammars'; import { TokenizationResult, TokenizationResult2 } from 'vs/editor/common/core/token'; diff --git a/src/vs/platform/theme/common/themeService.ts b/src/vs/platform/theme/common/themeService.ts index 204870c008048734ac8296fb8a63a4f8e43e31fc..ff9f54c95f5aca01f01c39ee09c3ff5326579cfb 100644 --- a/src/vs/platform/theme/common/themeService.ts +++ b/src/vs/platform/theme/common/themeService.ts @@ -14,9 +14,11 @@ import Event, { Emitter } from 'vs/base/common/event'; export let IThemeService = createDecorator('themeService'); // base themes +export const DARK = 'dark'; +export const LIGHT = 'light'; +export const HIGH_CONTRAST = 'hc'; export type ThemeType = 'light' | 'dark' | 'hc'; - export interface ITheme { readonly selector: string; readonly type: ThemeType; diff --git a/src/vs/workbench/browser/layout.ts b/src/vs/workbench/browser/layout.ts index cb2f7c3e7c1f9e960876606867fb91957dd5d00e..b0ad363005acda6a1055d22f9f6e993234819483 100644 --- a/src/vs/workbench/browser/layout.ts +++ b/src/vs/workbench/browser/layout.ts @@ -15,10 +15,10 @@ import { IPartService, Position, ILayoutOptions, Parts } from 'vs/workbench/serv import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IContextViewService } from 'vs/platform/contextview/browser/contextView'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; import { getZoomFactor } from 'vs/base/browser/browser'; +import { IThemeService } from "vs/platform/theme/common/themeService"; const MIN_SIDEBAR_PART_WIDTH = 170; const MIN_EDITOR_PART_HEIGHT = 70; @@ -94,7 +94,7 @@ export class WorkbenchLayout implements IVerticalSashLayoutProvider, IHorizontal @IEditorGroupService private editorGroupService: IEditorGroupService, @IPartService private partService: IPartService, @IViewletService private viewletService: IViewletService, - @IWorkbenchThemeService themeService: IWorkbenchThemeService + @IThemeService themeService: IThemeService ) { this.parent = parent; this.workbenchContainer = workbenchContainer; @@ -124,7 +124,7 @@ export class WorkbenchLayout implements IVerticalSashLayoutProvider, IHorizontal this.layoutEditorGroupsVertically = (this.editorGroupService.getGroupOrientation() !== 'horizontal'); - this.toUnbind.push(themeService.onDidColorThemeChange(_ => this.layout())); + this.toUnbind.push(themeService.onThemeChange(_ => this.layout())); this.toUnbind.push(editorGroupService.onEditorsChanged(() => this.onEditorsChanged())); this.toUnbind.push(editorGroupService.onGroupOrientationChanged(e => this.onGroupOrientationChanged())); diff --git a/src/vs/workbench/browser/parts/editor/textDiffEditor.ts b/src/vs/workbench/browser/parts/editor/textDiffEditor.ts index bdcb532596f0e607cf0c737bf537ca5bb80d39a5..2511dc50899d96c8e0ab98a2acd1230e70ecae9a 100644 --- a/src/vs/workbench/browser/parts/editor/textDiffEditor.ts +++ b/src/vs/workbench/browser/parts/editor/textDiffEditor.ts @@ -31,7 +31,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; import { IModeService } from 'vs/editor/common/services/modeService'; import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles'; diff --git a/src/vs/workbench/browser/parts/editor/textEditor.ts b/src/vs/workbench/browser/parts/editor/textEditor.ts index 03dc7cc3ea574769df356c9a8bd04f52d991428f..f43adaab05aed7d364f88eb4f36d4db5f1f03054 100644 --- a/src/vs/workbench/browser/parts/editor/textEditor.ts +++ b/src/vs/workbench/browser/parts/editor/textEditor.ts @@ -21,7 +21,7 @@ import { IStorageService } from 'vs/platform/storage/common/storage'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { Scope } from 'vs/workbench/common/memento'; import { getCodeEditor } from 'vs/editor/common/services/codeEditorService'; import { IModeService } from 'vs/editor/common/services/modeService'; diff --git a/src/vs/workbench/browser/parts/editor/textResourceEditor.ts b/src/vs/workbench/browser/parts/editor/textResourceEditor.ts index 675032818435d33ecebaa71bf3c0bd8a90b4706c..78693265c828f2e39ae8b7da364f8bdcc4471108 100644 --- a/src/vs/workbench/browser/parts/editor/textResourceEditor.ts +++ b/src/vs/workbench/browser/parts/editor/textResourceEditor.ts @@ -18,7 +18,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IStorageService } from 'vs/platform/storage/common/storage'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; import { IModeService } from 'vs/editor/common/services/modeService'; diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index b523a7648bb3ea7cf366384091b44313c06bef24..07d10f6548bd0d78a1701ad7c1c42a9d4cb6358a 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -101,8 +101,8 @@ import SCMPreview from 'vs/workbench/parts/scm/browser/scmPreview'; import { readdir } from 'vs/base/node/pfs'; import { join } from 'path'; import 'vs/platform/opener/browser/opener.contribution'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; -import { WorkbenchThemeService } from 'vs/workbench/services/themes/electron-browser/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; +import { WorkbenchThemeService } from 'vs/workbench/services/themes/electron-browser/workbenchThemeService'; import { registerThemingParticipant, ITheme, ICssStyleCollector } from 'vs/platform/theme/common/themeService'; import { WINDOW_FOREGROUND } from 'vs/workbench/common/theme'; diff --git a/src/vs/workbench/electron-browser/window.ts b/src/vs/workbench/electron-browser/window.ts index dededc68b61dfad88577ddf5a0685983ae7783fc..fb554e91285ecb354e80ffc062b8d17797a151d7 100644 --- a/src/vs/workbench/electron-browser/window.ts +++ b/src/vs/workbench/electron-browser/window.ts @@ -38,7 +38,7 @@ import { ITitleService } from 'vs/workbench/services/title/common/titleService'; import { Registry } from 'vs/platform/platform'; import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; -import { IWorkbenchThemeService, VS_HC_THEME, VS_DARK_THEME } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService, VS_HC_THEME, VS_DARK_THEME } from 'vs/workbench/services/themes/common/workbenchThemeService'; import * as browser from 'vs/base/browser/browser'; import { ReloadWindowAction, ToggleDevToolsAction, ShowStartupPerformance, OpenRecentAction, ToggleSharedProcessAction } from 'vs/workbench/electron-browser/actions'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index f93bd113dba9e3ce5a3d4032a326fb2233ab4552..67122952ce4145a41acdf6beec105f36aba098bb 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -37,7 +37,7 @@ import * as debug from 'vs/workbench/parts/debug/common/debug'; import { ClearReplAction } from 'vs/workbench/parts/debug/browser/debugActions'; import { ReplHistory } from 'vs/workbench/parts/debug/common/replHistory'; import { Panel } from 'vs/workbench/browser/panel'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IPanelService } from 'vs/workbench/services/panel/common/panelService'; import { IListService } from 'vs/platform/list/browser/listService'; diff --git a/src/vs/workbench/parts/extensions/browser/extensionEditor.ts b/src/vs/workbench/parts/extensions/browser/extensionEditor.ts index 42dbf0ff5375c78e888ff2e485131c34bbee82fa..ce5f90a4b6de12a3c549e46e61e2b1e43136b222 100644 --- a/src/vs/workbench/parts/extensions/browser/extensionEditor.ts +++ b/src/vs/workbench/parts/extensions/browser/extensionEditor.ts @@ -25,7 +25,6 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IExtensionGalleryService, IExtensionManifest, IKeyBinding } from 'vs/platform/extensionManagement/common/extensionManagement'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; import { ExtensionsInput } from 'vs/workbench/parts/extensions/common/extensionsInput'; import { IExtensionsWorkbenchService, IExtensionsViewlet, VIEWLET_ID, IExtension, IExtensionDependencies } from 'vs/workbench/parts/extensions/common/extensions'; import { Renderer, DataSource, Controller } from 'vs/workbench/parts/extensions/browser/dependenciesViewer'; @@ -46,6 +45,7 @@ import { Position } from 'vs/platform/editor/common/editor'; import { IListService } from 'vs/platform/list/browser/listService'; import { OS } from 'vs/base/common/platform'; import { IPartService, Parts } from 'vs/workbench/services/part/common/partService'; +import { IThemeService } from "vs/platform/theme/common/themeService"; function renderBody(body: string): string { const nonce = new Date().getTime() + '' + new Date().getMilliseconds(); @@ -155,7 +155,7 @@ export class ExtensionEditor extends BaseEditor { @IInstantiationService private instantiationService: IInstantiationService, @IViewletService private viewletService: IViewletService, @IExtensionsWorkbenchService private extensionsWorkbenchService: IExtensionsWorkbenchService, - @IWorkbenchThemeService protected themeService: IWorkbenchThemeService, + @IThemeService protected themeService: IThemeService, @IKeybindingService private keybindingService: IKeybindingService, @IMessageService private messageService: IMessageService, @IOpenerService private openerService: IOpenerService, @@ -322,7 +322,7 @@ export class ExtensionEditor extends BaseEditor { .then(renderBody) .then(body => { const webview = new WebView(this.content, this.partService.getContainer(Parts.EDITOR_PART)); - webview.style(this.themeService.getColorTheme()); + webview.style(this.themeService.getTheme()); webview.contents = [body]; webview.onDidClickLink(link => { @@ -331,7 +331,7 @@ export class ExtensionEditor extends BaseEditor { this.openerService.open(link); } }, null, this.contentDisposables); - this.themeService.onDidColorThemeChange(theme => webview.style(theme), null, this.contentDisposables); + this.themeService.onThemeChange(theme => webview.style(theme), null, this.contentDisposables); this.contentDisposables.push(webview); }) .then(null, () => { diff --git a/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts b/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts index 4486419de0912219f555bef9627d97e45e59411d..5960046face128e55240a24253cad7c67d0ef249 100644 --- a/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts +++ b/src/vs/workbench/parts/files/browser/editors/textFileEditor.ts @@ -28,7 +28,7 @@ import { IHistoryService } from 'vs/workbench/services/history/common/history'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { CancelAction } from 'vs/platform/message/common/message'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; import { IModeService } from 'vs/editor/common/services/modeService'; diff --git a/src/vs/workbench/parts/files/browser/views/explorerView.ts b/src/vs/workbench/parts/files/browser/views/explorerView.ts index 457e1a4c214472dbcc62cebd892d826728036a83..7727ad8190a7e5cd9693d188dc7e164b3ef9eaee 100644 --- a/src/vs/workbench/parts/files/browser/views/explorerView.ts +++ b/src/vs/workbench/parts/files/browser/views/explorerView.ts @@ -40,7 +40,7 @@ import { IContextMenuService } from 'vs/platform/contextview/browser/contextView import { IMessageService, Severity } from 'vs/platform/message/common/message'; import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { ResourceContextKey } from 'vs/workbench/common/resourceContextKey'; -import { IWorkbenchThemeService, IFileIconTheme } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService, IFileIconTheme } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { isLinux } from 'vs/base/common/platform'; export class ExplorerView extends CollapsibleViewletView { diff --git a/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts b/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts index 5e10f2f5036ddae3a58be1ac1f00e7e35405238f..56871b68761b3038c0a9ac0d17a24c132d4e35d8 100644 --- a/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts +++ b/src/vs/workbench/parts/html/browser/htmlPreviewPart.ts @@ -18,13 +18,14 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel'; import { HtmlInput } from 'vs/workbench/parts/html/common/htmlInput'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IThemeService } from "vs/platform/theme/common/themeService"; import { IOpenerService } from 'vs/platform/opener/common/opener'; import { ITextModelResolverService, ITextEditorModel } from 'vs/editor/common/services/resolverService'; import { Parts, IPartService } from 'vs/workbench/services/part/common/partService'; import Webview from './webview'; + /** * An implementation of editor for showing HTML content in an IFrame by leveraging the HTML input. */ @@ -48,7 +49,7 @@ export class HtmlPreviewPart extends BaseEditor { constructor( @ITelemetryService telemetryService: ITelemetryService, @ITextModelResolverService textModelResolverService: ITextModelResolverService, - @IWorkbenchThemeService protected themeService: IWorkbenchThemeService, + @IThemeService protected themeService: IThemeService, @IOpenerService openerService: IOpenerService, @IWorkspaceContextService contextService: IWorkspaceContextService, @IPartService private partService: IPartService @@ -116,8 +117,8 @@ export class HtmlPreviewPart extends BaseEditor { this._webviewDisposables = dispose(this._webviewDisposables); this._webview = undefined; } else { - this._themeChangeSubscription = this.themeService.onDidColorThemeChange(themeId => this.webview.style(themeId)); - this.webview.style(this.themeService.getColorTheme()); + this._themeChangeSubscription = this.themeService.onThemeChange(themeId => this.webview.style(themeId)); + this.webview.style(this.themeService.getTheme()); if (this._hasValidModel()) { this._modelChangeSubscription = this.model.onDidChangeContent(() => this.webview.contents = this.model.getLinesContent()); diff --git a/src/vs/workbench/parts/html/browser/webview.ts b/src/vs/workbench/parts/html/browser/webview.ts index d7fe4a019ebf68177fab60f9cea7445b40cd898a..cb24c65f1bb824608048d8ab06202bf9429224c7 100644 --- a/src/vs/workbench/parts/html/browser/webview.ts +++ b/src/vs/workbench/parts/html/browser/webview.ts @@ -13,8 +13,8 @@ import Event, { Emitter } from 'vs/base/common/event'; import { addDisposableListener, addClass } from 'vs/base/browser/dom'; import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { MenuRegistry } from 'vs/platform/actions/common/actions'; -import { IColorTheme } from 'vs/workbench/services/themes/common/themeService'; import { editorBackground, editorForeground } from 'vs/platform/theme/common/colorRegistry'; +import { ITheme, LIGHT, DARK } from "vs/platform/theme/common/themeService"; declare interface WebviewElement extends HTMLElement { src: string; @@ -145,7 +145,7 @@ export default class Webview { this._send('message', data); } - style(theme: IColorTheme): void { + style(theme: ITheme): void { const { fontFamily, fontWeight, fontSize } = window.getComputedStyle(this._styleElement); // TODO@theme avoid styleElement let value = ` @@ -184,7 +184,7 @@ export default class Webview { let activeTheme: ApiThemeClassName; - if (theme.isLightTheme()) { + if (theme.type === LIGHT) { value += ` ::-webkit-scrollbar-thumb { background-color: rgba(100, 100, 100, 0.4); @@ -198,7 +198,7 @@ export default class Webview { activeTheme = 'vscode-light'; - } else if (theme.isDarkTheme()) { + } else if (theme.type === DARK) { value += ` ::-webkit-scrollbar-thumb { background-color: rgba(121, 121, 121, 0.4); diff --git a/src/vs/workbench/parts/output/browser/outputPanel.ts b/src/vs/workbench/parts/output/browser/outputPanel.ts index c964cc7e0a0f04d8eda54c590b67cc6b5462a8c6..8d28289fa52c475b698fb1e9ae394ab200203ed2 100644 --- a/src/vs/workbench/parts/output/browser/outputPanel.ts +++ b/src/vs/workbench/parts/output/browser/outputPanel.ts @@ -21,7 +21,7 @@ import { EditorInput, EditorOptions } from 'vs/workbench/common/editor'; import { TextResourceEditor } from 'vs/workbench/browser/parts/editor/textResourceEditor'; import { OutputEditors, OUTPUT_PANEL_ID, IOutputService, CONTEXT_IN_OUTPUT } from 'vs/workbench/parts/output/common/output'; import { SwitchOutputAction, SwitchOutputActionItem, ClearOutputAction, ToggleOutputScrollLockAction } from 'vs/workbench/parts/output/browser/outputActions'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService'; import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService'; import { IModeService } from 'vs/editor/common/services/modeService'; diff --git a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts index a2a991e8362ba522d03dd98cd0df8c573d78f1a9..82149be25bed0b360a3444a25f61a3bf764c6df0 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesEditor.ts @@ -32,7 +32,7 @@ import { SearchWidget, SettingsTabsWidget } from 'vs/workbench/parts/preferences import { ContextKeyExpr, IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey'; import { CommonEditorRegistry, Command } from 'vs/editor/common/editorCommonExtensions'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IModelService } from 'vs/editor/common/services/modelService'; import { IModeService } from 'vs/editor/common/services/modeService'; import { IStorageService } from 'vs/platform/storage/common/storage'; diff --git a/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts b/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts index 27781ddb4de73b0d26988ef161a39c9c46ceb046..6c4bb04648a45bd5cbf0d9dac3647359eb53b703 100644 --- a/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts +++ b/src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts @@ -35,7 +35,7 @@ import { IAction, IActionItem, ActionRunner } from 'vs/base/common/actions'; import { createActionItem } from 'vs/platform/actions/browser/menuItemActionItem'; import { SCMMenus } from './scmMenus'; import { ActionBar, IActionItemProvider } from 'vs/base/browser/ui/actionbar/actionbar'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IThemeService, LIGHT } from "vs/platform/theme/common/themeService"; import { InputBox } from 'vs/base/browser/ui/inputbox/inputBox'; import { IModelService } from 'vs/editor/common/services/modelService'; import { comparePaths } from 'vs/base/common/comparers'; @@ -134,7 +134,7 @@ class ResourceRenderer implements IRenderer { private scmMenus: SCMMenus, private actionItemProvider: IActionItemProvider, private getSelectedResources: () => URI[], - @IWorkbenchThemeService private themeService: IWorkbenchThemeService, + @IThemeService private themeService: IThemeService, @IInstantiationService private instantiationService: IInstantiationService ) { } @@ -159,8 +159,8 @@ class ResourceRenderer implements IRenderer { template.actionBar.push(this.scmMenus.getResourceActions(resource)); toggleClass(template.name, 'strike-through', resource.decorations.strikeThrough); - const theme = this.themeService.getColorTheme(); - const icon = theme.isDarkTheme() ? resource.decorations.iconDark : resource.decorations.icon; + const theme = this.themeService.getTheme(); + const icon = theme.type === LIGHT ? resource.decorations.icon : resource.decorations.iconDark; if (icon) { template.decorationIcon.style.backgroundImage = `url('${icon}')`; @@ -209,7 +209,7 @@ export class SCMViewlet extends Viewlet { @IMessageService private messageService: IMessageService, @IListService private listService: IListService, @IContextMenuService private contextMenuService: IContextMenuService, - @IWorkbenchThemeService protected themeService: IWorkbenchThemeService, + @IThemeService protected themeService: IThemeService, @IMenuService private menuService: IMenuService, @IModelService private modelService: IModelService ) { @@ -284,7 +284,7 @@ export class SCMViewlet extends Viewlet { this.setActiveProvider(this.scmService.activeProvider); this.scmService.onDidChangeProvider(this.setActiveProvider, this, this.disposables); - this.themeService.onDidColorThemeChange(this.update, this, this.disposables); + this.themeService.onThemeChange(this.update, this, this.disposables); return TPromise.as(null); } diff --git a/src/vs/workbench/parts/search/browser/openFileHandler.ts b/src/vs/workbench/parts/search/browser/openFileHandler.ts index e1b3bd09f5033e0ca16776a4fadd253894d5aa16..0fb851a61ff187099cb2c5c766291dd0cae288b1 100644 --- a/src/vs/workbench/parts/search/browser/openFileHandler.ts +++ b/src/vs/workbench/parts/search/browser/openFileHandler.ts @@ -17,7 +17,7 @@ import { IRange } from 'vs/editor/common/editorCommon'; import { IModeService } from 'vs/editor/common/services/modeService'; import { getIconClasses } from 'vs/workbench/browser/labels'; import { IModelService } from 'vs/editor/common/services/modelService'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IAutoFocus } from 'vs/base/parts/quickopen/common/quickOpen'; import { QuickOpenEntry, QuickOpenModel } from 'vs/base/parts/quickopen/browser/quickOpenModel'; import { QuickOpenHandler, EditorQuickOpenEntry } from 'vs/workbench/browser/quickopen'; diff --git a/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts b/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts index c9510831cf86d9060da13ee347d934c26ae5bcdc..b4d5f1a2ec96c73c43e07cf46f6763872c3d4765 100644 --- a/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts +++ b/src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts @@ -15,7 +15,7 @@ import { IMessageService, Severity } from 'vs/platform/message/common/message'; import { Registry } from 'vs/platform/platform'; import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actionRegistry'; import { IQuickOpenService, IPickOpenEntry } from 'vs/platform/quickOpen/common/quickOpen'; -import { IWorkbenchThemeService, COLOR_THEME_SETTING, ICON_THEME_SETTING } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService, COLOR_THEME_SETTING, ICON_THEME_SETTING } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { VIEWLET_ID, IExtensionsViewlet } from 'vs/workbench/parts/extensions/common/extensions'; import { IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement'; import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; diff --git a/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts b/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts index 435b4b0e123143eed86071d597b9843af1eab474..ca5fe84f64394a8b17de094005edc9cd0fc95dea 100644 --- a/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts +++ b/src/vs/workbench/parts/themes/test/electron-browser/themes.test.contribution.ts @@ -12,7 +12,7 @@ import { IModeService } from 'vs/editor/common/services/modeService'; import pfs = require('vs/base/node/pfs'); import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation'; -import { IWorkbenchThemeService, IColorTheme } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService, IColorTheme } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; import { toResource } from 'vs/workbench/common/editor'; import { ITextMateService } from 'vs/editor/node/textMate/textMateService'; diff --git a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts index 11833c618e7997dfd8c7081e7cd12723a31279a2..2fad0c0952afdf51c387e961b9085ffaaf9ed07b 100644 --- a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts +++ b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts @@ -12,7 +12,7 @@ import { Builder } from 'vs/base/browser/builder'; import { append, $ } from 'vs/base/browser/dom'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IThemeService } from 'vs/platform/theme/common/themeService'; import { ReleaseNotesInput } from './releaseNotesInput'; import { EditorOptions } from 'vs/workbench/common/editor'; import WebView from 'vs/workbench/parts/html/browser/webview'; @@ -44,7 +44,7 @@ export class ReleaseNotesEditor extends BaseEditor { constructor( @ITelemetryService telemetryService: ITelemetryService, - @IWorkbenchThemeService protected themeService: IWorkbenchThemeService, + @IThemeService protected themeService: IThemeService, @IOpenerService private openerService: IOpenerService, @IModeService private modeService: IModeService, @IPartService private partService: IPartService @@ -88,11 +88,11 @@ export class ReleaseNotesEditor extends BaseEditor { .then(body => { this.webview = new WebView(this.content, this.partService.getContainer(Parts.EDITOR_PART)); this.webview.baseUrl = `https://code.visualstudio.com/raw/`; - this.webview.style(this.themeService.getColorTheme()); + this.webview.style(this.themeService.getTheme()); this.webview.contents = [body]; this.webview.onDidClickLink(link => this.openerService.open(link), null, this.contentDisposables); - this.themeService.onDidColorThemeChange(themeId => this.webview.style(themeId), null, this.contentDisposables); + this.themeService.onThemeChange(themeId => this.webview.style(themeId), null, this.contentDisposables); this.contentDisposables.push(this.webview); this.contentDisposables.push(toDisposable(() => this.webview = null)); }); diff --git a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts index 36fa31d4ae417bd8783202a5c30fa673f80c452e..16415789873590b44333bf85714215cd33f00ffd 100644 --- a/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts +++ b/src/vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts @@ -19,7 +19,7 @@ import { EditorOptions } from 'vs/workbench/common/editor'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { WalkThroughInput } from 'vs/workbench/parts/welcome/walkThrough/node/walkThroughInput'; -import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IOpenerService } from 'vs/platform/opener/common/opener'; import { marked } from 'vs/base/common/marked/marked'; import { IModeService } from 'vs/editor/common/services/modeService'; diff --git a/src/vs/workbench/services/themes/common/themeService.ts b/src/vs/workbench/services/themes/common/workbenchThemeService.ts similarity index 100% rename from src/vs/workbench/services/themes/common/themeService.ts rename to src/vs/workbench/services/themes/common/workbenchThemeService.ts diff --git a/src/vs/workbench/services/themes/electron-browser/colorThemeData.ts b/src/vs/workbench/services/themes/electron-browser/colorThemeData.ts index a68c83368dc7d1c4cd84912dd206bd32c0c3522a..08778ae11035b11e4b6fe3754a60da34f39ea5e1 100644 --- a/src/vs/workbench/services/themes/electron-browser/colorThemeData.ts +++ b/src/vs/workbench/services/themes/electron-browser/colorThemeData.ts @@ -6,7 +6,7 @@ import Paths = require('vs/base/common/paths'); import Json = require('vs/base/common/json'); import { Color } from 'vs/base/common/color'; -import { ExtensionData, ITokenColorizationRule, IColorTheme, IColorMap, VS_LIGHT_THEME, VS_HC_THEME } from 'vs/workbench/services/themes/common/themeService'; +import { ExtensionData, ITokenColorizationRule, IColorTheme, IColorMap, VS_LIGHT_THEME, VS_HC_THEME } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { convertSettings } from 'vs/workbench/services/themes/electron-browser/themeCompatibility'; import { TPromise } from 'vs/base/common/winjs.base'; import { getBaseThemeId, getSyntaxThemeId, isDarkTheme, isLightTheme } from 'vs/platform/theme/common/themes'; diff --git a/src/vs/workbench/services/themes/electron-browser/themeCompatibility.ts b/src/vs/workbench/services/themes/electron-browser/themeCompatibility.ts index 6d10374bf4ace496f19273bf8c730f4fcdb25261..ded59b5716bd122de9959c99e427c60b0808c0f4 100644 --- a/src/vs/workbench/services/themes/electron-browser/themeCompatibility.ts +++ b/src/vs/workbench/services/themes/electron-browser/themeCompatibility.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { ITokenColorizationRule, IColorMap } from 'vs/workbench/services/themes/common/themeService'; +import { ITokenColorizationRule, IColorMap } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { Color } from 'vs/base/common/color'; import * as colorRegistry from 'vs/platform/theme/common/colorRegistry'; diff --git a/src/vs/workbench/services/themes/electron-browser/themeService.ts b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts similarity index 99% rename from src/vs/workbench/services/themes/electron-browser/themeService.ts rename to src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts index 2bf4355ee1f8179d0931131366a08ec3267c1cc4..eea676e34b0689553401dd4439ef2a5c7d4db5b5 100644 --- a/src/vs/workbench/services/themes/electron-browser/themeService.ts +++ b/src/vs/workbench/services/themes/electron-browser/workbenchThemeService.ts @@ -12,7 +12,7 @@ import * as types from 'vs/base/common/types'; import { IThemeExtensionPoint } from 'vs/platform/theme/common/themeExtensionPoint'; import { IExtensionService } from 'vs/platform/extensions/common/extensions'; import { ExtensionsRegistry, ExtensionMessageCollector } from 'vs/platform/extensions/common/extensionsRegistry'; -import { IWorkbenchThemeService, IColorTheme, IFileIconTheme, ExtensionData, VS_LIGHT_THEME, VS_DARK_THEME, VS_HC_THEME, COLOR_THEME_SETTING, ICON_THEME_SETTING } from 'vs/workbench/services/themes/common/themeService'; +import { IWorkbenchThemeService, IColorTheme, IFileIconTheme, ExtensionData, VS_LIGHT_THEME, VS_DARK_THEME, VS_HC_THEME, COLOR_THEME_SETTING, ICON_THEME_SETTING } from 'vs/workbench/services/themes/common/workbenchThemeService'; import { IWindowIPCService } from 'vs/workbench/services/window/electron-browser/windowService'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';