diff --git a/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts b/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts index 80581c81bd5..b70cc14d0ca 100644 --- a/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts +++ b/src/vs/platform/keybinding/browser/keybindingServiceImpl.ts @@ -15,7 +15,7 @@ import * as dom from 'vs/base/browser/dom'; import {IKeyboardEvent, StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent'; import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation'; import {KeybindingResolver} from 'vs/platform/keybinding/common/keybindingResolver'; -import {ICommandHandler, IKeybindingContextKey, IKeybindingItem, IKeybindingScopeLocation, IKeybindingService} from 'vs/platform/keybinding/common/keybindingService'; +import {ICommandHandler, IKeybindingContextKey, IKeybindingItem, IKeybindingScopeLocation, IKeybindingService, SET_CONTEXT_COMMAND_ID} from 'vs/platform/keybinding/common/keybindingService'; import {KeybindingsRegistry} from 'vs/platform/keybinding/common/keybindingsRegistry'; import {IMessageService} from 'vs/platform/message/common/message'; import {IConfigurationService} from 'vs/platform/configuration/common/configuration'; @@ -363,6 +363,14 @@ export abstract class KeybindingService extends AbstractKeybindingService implem this._configurationContext.fillInContext(args.context); } + if (commandId === SET_CONTEXT_COMMAND_ID) { + var contextKey = String(args[0]); + var contextValue = args[1]; + + this.setContext(contextKey, contextValue); + return TPromise.as(null); + } + return this._invokeHandler(commandId, args); } } diff --git a/src/vs/platform/keybinding/common/keybindingService.ts b/src/vs/platform/keybinding/common/keybindingService.ts index 320da3fb997..69c91a4b91e 100644 --- a/src/vs/platform/keybinding/common/keybindingService.ts +++ b/src/vs/platform/keybinding/common/keybindingService.ts @@ -338,3 +338,5 @@ export interface IKeybindingService { executeCommand(commandId: string, args?: any): TPromise; executeCommand(commandId: string, args?: any): TPromise; } + +export const SET_CONTEXT_COMMAND_ID = 'setContext'; diff --git a/src/vs/workbench/api/node/extHostCommands.ts b/src/vs/workbench/api/node/extHostCommands.ts index 9ee1c8a552b..b8930624489 100644 --- a/src/vs/workbench/api/node/extHostCommands.ts +++ b/src/vs/workbench/api/node/extHostCommands.ts @@ -93,9 +93,9 @@ export class ExtHostCommands { let result = callback.apply(thisArg, args); return Promise.resolve(result); } catch (err) { + console.log(err); // try { // console.log(toErrorMessage(err)); - // console.log(err); // } catch (err) { // // // }