src/vs/workbench/services/preferences/browser/keybindingsEditorModel.ts/KeybindingsEditorModel/fetch
class KeybindingsEditorModel:	fetch(searchValue: string, sortByPrecedence: boolean = false): IKeybindingItemEntry[] {
		let keybindingItems = sortByPrecedence ? this._keybindingItemsSortedByPrecedence : this._keybindingItems;

		const commandIdMatches = /@command:\s*(.+)/i.exec(searchValue);
		if (commandIdMatches && commandIdMatches[1]) {
			return keybindingItems.filter(k => k.command === commandIdMatches[1])
				.map(keybindingItem => (<IKeybindingItemEntry>{ id: KeybindingsEditorModel.getId(keybindingItem), keybindingItem, templateId: KEYBINDING_ENTRY_TEMPLATE_ID }));
		}

		if (/@source:\s*(user|default|extension)/i.test(searchValue)) {
			keybindingItems = this.filterBySource(keybindingItems, searchValue);
			searchValue = searchValue.replace(/@source:\s*(user|default|extension)/i, '');
		} else {
			const keybindingMatches = /@keybinding:\s*((\".+\")|(\S+))/i.exec(searchValue);
			if (keybindingMatches && (keybindingMatches[2] || keybindingMatches[3])) {
				searchValue = keybindingMatches[2] || `"${keybindingMatches[3]}"`;
			}
		}

		searchValue = searchValue.trim();
		if (!searchValue) {
			return keybindingItems.map(keybindingItem => (<IKeybindingItemEntry>{ id: KeybindingsEditorModel.getId(keybindingItem), keybindingItem, templateId: KEYBINDING_ENTRY_TEMPLATE_ID }));
		}

		return this.filterByText(keybindingItems, searchValue);
	}