| /*--------------------------------------------------------- | |
| * Copyright 2022 The Go Authors. All rights reserved. | |
| * Licensed under the MIT License. See LICENSE in the project root for license information. | |
| *--------------------------------------------------------*/ | |
| import * as vscode from 'vscode'; | |
| import { CommandFactory } from '.'; | |
| import { getExtensionCommands } from '../util'; | |
| export const showCommands: CommandFactory = () => { | |
| return () => { | |
| const extCommands = getExtensionCommands(); | |
| extCommands.push({ | |
| command: 'editor.action.goToDeclaration', | |
| title: 'Go to Definition' | |
| }); | |
| extCommands.push({ | |
| command: 'editor.action.goToImplementation', | |
| title: 'Go to Implementation' | |
| }); | |
| extCommands.push({ | |
| command: 'workbench.action.gotoSymbol', | |
| title: 'Go to Symbol in File...' | |
| }); | |
| extCommands.push({ | |
| command: 'workbench.action.showAllSymbols', | |
| title: 'Go to Symbol in Workspace...' | |
| }); | |
| vscode.window.showQuickPick(extCommands.map((x) => x.title)).then((cmd) => { | |
| const selectedCmd = extCommands.find((x) => x.title === cmd); | |
| if (selectedCmd) { | |
| vscode.commands.executeCommand(selectedCmd.command); | |
| } | |
| }); | |
| }; | |
| }; |