forked from intersystems-community/vscode-objectscript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathweb-extension.ts
35 lines (29 loc) · 1.66 KB
/
web-extension.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from "vscode";
import { getLanguageConfiguration } from "./languageConfiguration";
import { ObjectScriptClassSymbolProvider } from "./providers/ObjectScriptClassSymbolProvider";
import { ObjectScriptRoutineSymbolProvider } from "./providers/ObjectScriptRoutineSymbolProvider";
const documentSelector = (...list: string[]) => list.map((language) => ({ scheme: "file", language }));
// this method is called when your extension is activated
// your extension is activated the very first time the command is executed
export async function activate(context: vscode.ExtensionContext): Promise<any> {
vscode.commands.executeCommand("setContext", "vscode-objectscript.connectActive", false);
context.subscriptions.push(
vscode.languages.registerDocumentSymbolProvider(
documentSelector("objectscript-class"),
new ObjectScriptClassSymbolProvider()
),
vscode.languages.registerDocumentSymbolProvider(
documentSelector("objectscript"),
new ObjectScriptRoutineSymbolProvider()
),
vscode.languages.setLanguageConfiguration("objectscript-class", getLanguageConfiguration("objectscript-class")),
vscode.languages.setLanguageConfiguration("objectscript", getLanguageConfiguration("objectscript")),
vscode.languages.setLanguageConfiguration("objectscript-int", getLanguageConfiguration("objectscript-int")),
vscode.languages.setLanguageConfiguration("objectscript-macros", getLanguageConfiguration("objectscript-macros"))
);
}
export function deactivate(): void {
// nothing here
}