Skip to content

Commit 4d5b628

Browse files
committed
feat: add help link to coder.com/docs
1 parent 7238ce4 commit 4d5b628

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed

media/docs.svg

Lines changed: 60 additions & 0 deletions
Loading

src/extension.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
'use strict';
22

33
import * as vscode from 'vscode';
4+
import { CoderHelpProvider } from './help';
45

56
import { CoderWorkspacesProvider, CoderWorkspace, rebuildWorkspace, openWorkspace, shutdownWorkspace } from './workspaces';
67

78
export function activate(context: vscode.ExtensionContext) {
89
const workspaceProvider = new CoderWorkspacesProvider();
910
vscode.window.registerTreeDataProvider('coderWorkspaces', workspaceProvider);
11+
vscode.window.registerTreeDataProvider('coderHelpFeedback', new CoderHelpProvider());
1012
vscode.commands.registerCommand("coderWorkspaces.openWorkspace", (ws: CoderWorkspace) => {
1113
const { name } = ws.workspace;
1214
openWorkspace(name);

src/help.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import * as vscode from 'vscode';
2+
import * as path from 'path';
3+
4+
export class CoderHelpProvider implements vscode.TreeDataProvider<vscode.TreeItem> {
5+
private _onDidChangeTreeData: vscode.EventEmitter<vscode.TreeItem | undefined | void> = new vscode.EventEmitter<vscode.TreeItem | undefined | void>();
6+
readonly onDidChangeTreeData: vscode.Event<vscode.TreeItem | undefined | void> = this._onDidChangeTreeData.event;
7+
8+
constructor() {
9+
this.refresh();
10+
}
11+
12+
refresh(): void {
13+
this._onDidChangeTreeData.fire();
14+
}
15+
16+
getTreeItem(element: vscode.TreeItem): vscode.TreeItem {
17+
return element;
18+
}
19+
20+
getChildren(element?: vscode.TreeItem): Thenable<vscode.TreeItem[]> {
21+
return Promise.resolve([
22+
docsLink(),
23+
]);
24+
}
25+
}
26+
27+
const docsLink = (): vscode.TreeItem => {
28+
const item = new vscode.TreeItem("Read the Coder Documentation", vscode.TreeItemCollapsibleState.None);
29+
item.iconPath = path.join(__filename, '..', '..', 'media', "docs.svg");
30+
item.command = {
31+
title: "Open Coder Documentation",
32+
command: "vscode.open",
33+
arguments: [vscode.Uri.parse('https://coder.com/docs')]
34+
};
35+
return item;
36+
};
37+

0 commit comments

Comments
 (0)