Skip to content

Commit 1bbf7dd

Browse files
authored
Add revealSetting and focusSearch params (microsoft#187079)
1 parent 49ab813 commit 1bbf7dd

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

src/vs/workbench/contrib/preferences/browser/preferences.contribution.ts

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import { KeyChord, KeyCode, KeyMod } from 'vs/base/common/keyCodes';
77
import { Disposable, DisposableStore, MutableDisposable } from 'vs/base/common/lifecycle';
88
import { Schemas } from 'vs/base/common/network';
9-
import { isObject } from 'vs/base/common/types';
9+
import { isBoolean, isObject, isString } from 'vs/base/common/types';
1010
import { URI } from 'vs/base/common/uri';
1111
import 'vs/css!./media/preferences';
1212
import { EditorContributionInstantiation, registerEditorContribution } from 'vs/editor/browser/editorExtensions';
@@ -126,17 +126,43 @@ const category = { value: nls.localize('preferences', "Preferences"), original:
126126
interface IOpenSettingsActionOptions {
127127
openToSide?: boolean;
128128
query?: string;
129+
revealSetting?: {
130+
key: string;
131+
edit?: boolean;
132+
};
133+
focusSearch?: boolean;
134+
}
135+
136+
function sanitizeBoolean(arg: any): boolean | undefined {
137+
return isBoolean(arg) ? arg : undefined;
138+
}
139+
140+
function sanitizeString(arg: any): string | undefined {
141+
return isString(arg) ? arg : undefined;
129142
}
130143

131144
function sanitizeOpenSettingsArgs(args: any): IOpenSettingsActionOptions {
132145
if (!isObject(args)) {
133146
args = {};
134147
}
135148

136-
return {
137-
openToSide: args.openToSide,
138-
query: args.query
149+
let sanitizedObject: IOpenSettingsActionOptions = {
150+
focusSearch: sanitizeBoolean(args?.focusSearch),
151+
openToSide: sanitizeBoolean(args?.openToSide),
152+
query: sanitizeString(args?.query)
139153
};
154+
155+
if (isString(args?.revealSetting?.key)) {
156+
sanitizedObject = {
157+
...sanitizedObject,
158+
revealSetting: {
159+
key: args.revealSetting.key,
160+
edit: sanitizeBoolean(args.revealSetting?.edit)
161+
}
162+
};
163+
}
164+
165+
return sanitizedObject;
140166
}
141167

142168
class PreferencesActionsContribution extends Disposable implements IWorkbenchContribution {

0 commit comments

Comments
 (0)