diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/toggleMinimap.ts b/src/vs/workbench/parts/codeEditor/electron-browser/toggleMinimap.ts index 7e34a56e4bb6711f8c5b9aedf1c36568efa2e3e4..8361e7b855bdd1fa5fee3b81d1f1e7670cc386a0 100644 --- a/src/vs/workbench/parts/codeEditor/electron-browser/toggleMinimap.ts +++ b/src/vs/workbench/parts/codeEditor/electron-browser/toggleMinimap.ts @@ -5,28 +5,30 @@ 'use strict'; import * as nls from 'vs/nls'; -import { registerEditorAction, ServicesAccessor, EditorAction } from 'vs/editor/browser/editorExtensions'; import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; +import { Registry } from 'vs/platform/registry/common/platform'; +import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions'; +import { Action } from 'vs/base/common/actions'; +import { TPromise } from 'vs/base/common/winjs.base'; +import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; -export class ToggleMinimapAction extends EditorAction { +export class ToggleMinimapAction extends Action { + public static readonly ID = 'editor.action.toggleMinimap'; + public static readonly LABEL = nls.localize('toggleMinimap', "View: Toggle Minimap"); - constructor() { - super({ - id: 'editor.action.toggleMinimap', - label: nls.localize('toggleMinimap', "View: Toggle Minimap"), - alias: 'View: Toggle Minimap', - precondition: null - }); + constructor( + id: string, + label: string, + @IConfigurationService private readonly _configurationService: IConfigurationService + ) { + super(id, label); } - public run(accessor: ServicesAccessor, editor: ICodeEditor): void { - const configurationService = accessor.get(IConfigurationService); - - const newValue = !editor.getConfiguration().viewInfo.minimap.enabled; - - configurationService.updateValue('editor.minimap.enabled', newValue, ConfigurationTarget.USER); + public run(): TPromise { + const newValue = !this._configurationService.getValue('editor.minimap.enabled'); + return this._configurationService.updateValue('editor.minimap.enabled', newValue, ConfigurationTarget.USER); } } -registerEditorAction(ToggleMinimapAction); +const registry = Registry.as(ActionExtensions.WorkbenchActions); +registry.registerWorkbenchAction(new SyncActionDescriptor(ToggleMinimapAction, ToggleMinimapAction.ID, ToggleMinimapAction.LABEL), 'View: Toggle Minimap'); diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderControlCharacter.ts b/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderControlCharacter.ts index b9a12fda3c72299e2659c7b5320ecf2886d99e95..7c35e71b00c4b13f2cc0c6fc1fe06b08a6fcec9a 100644 --- a/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderControlCharacter.ts +++ b/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderControlCharacter.ts @@ -5,28 +5,31 @@ 'use strict'; import * as nls from 'vs/nls'; -import { registerEditorAction, ServicesAccessor, EditorAction } from 'vs/editor/browser/editorExtensions'; import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; +import { Registry } from 'vs/platform/registry/common/platform'; +import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions'; +import { Action } from 'vs/base/common/actions'; +import { TPromise } from 'vs/base/common/winjs.base'; +import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; -export class ToggleRenderControlCharacterAction extends EditorAction { +export class ToggleRenderControlCharacterAction extends Action { - constructor() { - super({ - id: 'editor.action.toggleRenderControlCharacter', - label: nls.localize('toggleRenderControlCharacters', "View: Toggle Control Characters"), - alias: 'View: Toggle Control Characters', - precondition: null - }); - } - - public run(accessor: ServicesAccessor, editor: ICodeEditor): void { - const configurationService = accessor.get(IConfigurationService); + public static readonly ID = 'editor.action.toggleRenderControlCharacter'; + public static readonly LABEL = nls.localize('toggleRenderControlCharacters', "View: Toggle Control Characters"); - let newRenderControlCharacters = !editor.getConfiguration().viewInfo.renderControlCharacters; + constructor( + id: string, + label: string, + @IConfigurationService private readonly _configurationService: IConfigurationService + ) { + super(id, label); + } - configurationService.updateValue('editor.renderControlCharacters', newRenderControlCharacters, ConfigurationTarget.USER); + public run(): TPromise { + let newRenderControlCharacters = !this._configurationService.getValue('editor.renderControlCharacters'); + return this._configurationService.updateValue('editor.renderControlCharacters', newRenderControlCharacters, ConfigurationTarget.USER); } } -registerEditorAction(ToggleRenderControlCharacterAction); +const registry = Registry.as(ActionExtensions.WorkbenchActions); +registry.registerWorkbenchAction(new SyncActionDescriptor(ToggleRenderControlCharacterAction, ToggleRenderControlCharacterAction.ID, ToggleRenderControlCharacterAction.LABEL), 'View: Toggle Control Characters'); diff --git a/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderWhitespace.ts b/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderWhitespace.ts index 9fcb8b26e7683599f34b087a834d7fbeab736c6c..856e35dce600773784452107a1ff18d11fd87d91 100644 --- a/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderWhitespace.ts +++ b/src/vs/workbench/parts/codeEditor/electron-browser/toggleRenderWhitespace.ts @@ -5,25 +5,29 @@ 'use strict'; import * as nls from 'vs/nls'; -import { registerEditorAction, ServicesAccessor, EditorAction } from 'vs/editor/browser/editorExtensions'; import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration'; -import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; +import { Registry } from 'vs/platform/registry/common/platform'; +import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/workbench/common/actions'; +import { Action } from 'vs/base/common/actions'; +import { TPromise } from 'vs/base/common/winjs.base'; +import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; -export class ToggleRenderWhitespaceAction extends EditorAction { +export class ToggleRenderWhitespaceAction extends Action { - constructor() { - super({ - id: 'editor.action.toggleRenderWhitespace', - label: nls.localize('toggleRenderWhitespace', "View: Toggle Render Whitespace"), - alias: 'View: Toggle Render Whitespace', - precondition: null - }); + public static readonly ID = 'editor.action.toggleRenderWhitespace'; + public static readonly LABEL = nls.localize('toggleRenderWhitespace', "View: Toggle Render Whitespace"); + + constructor( + id: string, + label: string, + @IConfigurationService private readonly _configurationService: IConfigurationService + ) { + super(id, label); } - public run(accessor: ServicesAccessor, editor: ICodeEditor): void { - const configurationService = accessor.get(IConfigurationService); + public run(): TPromise { + const renderWhitespace = this._configurationService.getValue('editor.renderWhitespace'); - let renderWhitespace = editor.getConfiguration().viewInfo.renderWhitespace; let newRenderWhitespace: string; if (renderWhitespace === 'none') { newRenderWhitespace = 'all'; @@ -31,8 +35,9 @@ export class ToggleRenderWhitespaceAction extends EditorAction { newRenderWhitespace = 'none'; } - configurationService.updateValue('editor.renderWhitespace', newRenderWhitespace, ConfigurationTarget.USER); + return this._configurationService.updateValue('editor.renderWhitespace', newRenderWhitespace, ConfigurationTarget.USER); } } -registerEditorAction(ToggleRenderWhitespaceAction); +const registry = Registry.as(ActionExtensions.WorkbenchActions); +registry.registerWorkbenchAction(new SyncActionDescriptor(ToggleRenderWhitespaceAction, ToggleRenderWhitespaceAction.ID, ToggleRenderWhitespaceAction.LABEL), 'View: Toggle Render Whitespace');