Skip to content

Commit d797f4e

Browse files
authored
Merge pull request #603 from devchat-ai/feat/add-open-link-handler
feat: Add external link handler and update GUI submodule
2 parents 81d0f5d + e11d47a commit d797f4e

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

gui

src/handler/handlerRegister.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { doVscodeCommand } from './vscodeCommandHandler';
1414
import { readFile, writeFile, getIDEServicePort, getCurrentFileInfo } from './fileHandler';
1515
import { getTopics, deleteTopic } from './topicHandler';
1616
import { readConfig, writeConfig, readServerConfigBase, writeServerConfigBase } from './configHandler';
17+
import { openLink } from './openlinkHandler';
1718

1819

1920
// According to the context menu selected by the user, add the corresponding context file
@@ -83,4 +84,5 @@ messageHandler.registerHandler('getIDEServicePort', getIDEServicePort);
8384
messageHandler.registerHandler('readServerConfigBase', readServerConfigBase);
8485
messageHandler.registerHandler('writeServerConfigBase', writeServerConfigBase);
8586

87+
messageHandler.registerHandler('openLink', openLink);
8688

src/handler/openlinkHandler.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
Commands for handling configuration read and write
3+
*/
4+
5+
import * as fs from 'fs';
6+
import * as path from 'path';
7+
import * as vscode from 'vscode';
8+
import yaml from 'yaml';
9+
import { regInMessage, regOutMessage } from '../util/reg_messages';
10+
import { MessageHandler } from './messageHandler';
11+
import { DevChatConfig } from '../util/config';
12+
import { logger } from '../util/logger';
13+
14+
15+
regInMessage({command: 'openLink', url: 'http://...'}); // when key is "", it will rewrite all config values
16+
export async function openLink(message: any, panel: vscode.WebviewPanel|vscode.WebviewView): Promise<void> {
17+
const url = message.url;
18+
vscode.env.openExternal(vscode.Uri.parse(url));
19+
}

0 commit comments

Comments
 (0)