forked from microsoft/vscode
/
toggleRenderControlCharacter.ts
44 lines (37 loc) · 1.88 KB
/
toggleRenderControlCharacter.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { localize } from 'vs/nls';
import { Action2, MenuId, registerAction2 } from 'vs/platform/actions/common/actions';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { Categories } from 'vs/platform/action/common/actionCommonCategories';
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
export class ToggleRenderControlCharacterAction extends Action2 {
static readonly ID = 'editor.action.toggleRenderControlCharacter';
constructor() {
super({
id: ToggleRenderControlCharacterAction.ID,
title: {
value: localize('toggleRenderControlCharacters', "Toggle Control Characters"),
mnemonicTitle: localize({ key: 'miToggleRenderControlCharacters', comment: ['&& denotes a mnemonic'] }, "Render &&Control Characters"),
original: 'Toggle Control Characters'
},
category: Categories.View,
f1: true,
toggled: ContextKeyExpr.equals('config.editor.renderControlCharacters', true),
menu: {
id: MenuId.MenubarAppearanceMenu,
group: '4_editor',
order: 4
}
});
}
override run(accessor: ServicesAccessor): Promise<void> {
const configurationService = accessor.get(IConfigurationService);
const newRenderControlCharacters = !configurationService.getValue<boolean>('editor.renderControlCharacters');
return configurationService.updateValue('editor.renderControlCharacters', newRenderControlCharacters);
}
}
registerAction2(ToggleRenderControlCharacterAction);