Skip to content

Commit

Permalink
Add run task command
Browse files Browse the repository at this point in the history
  • Loading branch information
vinistock committed Jun 27, 2024
1 parent 7b23190 commit df86afa
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
1 change: 1 addition & 0 deletions vscode/src/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export enum Command {
DebugTest = "rubyLsp.debugTest",
ShowSyntaxTree = "rubyLsp.showSyntaxTree",
DisplayAddons = "rubyLsp.displayAddons",
RunTask = "rubyLsp.runTask",
}

export interface RubyInterface {
Expand Down
16 changes: 16 additions & 0 deletions vscode/src/rubyLsp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,22 @@ export class RubyLsp {
Command.DebugTest,
this.testController.debugTest.bind(this.testController),
),
vscode.commands.registerCommand(
Command.RunTask,
async (command: string) => {
let workspace = this.currentActiveWorkspace();

if (!workspace) {
workspace = await this.showWorkspacePick();
}

if (!workspace) {
return;
}

await workspace.execute(command);
},
),
);
}

Expand Down
7 changes: 7 additions & 0 deletions vscode/src/workspace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,13 @@ export class Workspace implements WorkspaceInterface {
return this.#rebaseInProgress;
}

async execute(command: string) {
return asyncExec(command, {
env: this.ruby.env,
cwd: this.workspaceFolder.uri.fsPath,
});
}

private registerRestarts(context: vscode.ExtensionContext) {
this.createRestartWatcher(context, "Gemfile.lock");
this.createRestartWatcher(context, "gems.locked");
Expand Down

0 comments on commit df86afa

Please sign in to comment.