@@ -8,6 +8,7 @@ import { activateLspClient, deactivateLspClient } from "./lsp/client";
8
8
import { LanguageClient } from "vscode-languageclient/node" ;
9
9
import { canonicaliseLocation } from "./utils/misc" ;
10
10
import config from "./utils/config" ;
11
+ import { showPanel } from "./commands/showPanel" ;
11
12
12
13
// TODO: Don't expose this object directly, create an interface via a wrapper class
13
14
export let client : LanguageClient ;
@@ -51,6 +52,27 @@ export function activate(context: vscode.ExtensionContext) {
51
52
"*.js" : "source" ,
52
53
} ) ;
53
54
}
55
+
56
+ vscode . window . registerUriHandler ( {
57
+ handleUri ( uri : vscode . Uri ) {
58
+ console . log ( "I got it" ) ;
59
+ const searchParams = new URLSearchParams ( uri . query ) ;
60
+ const code = searchParams . get ( "code" ) ;
61
+ // const provider = searchParams.get("provider");
62
+ const clientRequestId = searchParams . get ( "client-request-id" ) ;
63
+ // vscode.window.showInformationMessage(`code: ${provider}`);
64
+ vscode . window . showInformationMessage ( `Code: ${ code } ` ) ;
65
+ vscode . window . showInformationMessage ( `CRI: ${ clientRequestId } ` ) ;
66
+
67
+ // vscode.commands.executeCommand("source-academy.show-panel", `/login/callback?code=${code}&provider=${provider}`);
68
+ vscode . commands . executeCommand (
69
+ "source-academy.show-panel" ,
70
+ `/login/callback?code=${ code } &client-request-id=${ clientRequestId } ` ,
71
+ ) ;
72
+
73
+ // context.globalState.update("token", { accessToken, refreshToken });
74
+ } ,
75
+ } ) ;
54
76
}
55
77
56
78
// This method is called when your extension is deactivated
0 commit comments