|
1 | 1 | export const extensionId = "intersystems-community.vscode-objectscript";
|
2 | 2 |
|
3 | 3 | import vscode = require("vscode");
|
| 4 | +import * as semver from "semver"; |
4 | 5 |
|
5 | 6 | import { AtelierJob } from "./api/atelier";
|
6 | 7 | const { workspace, window } = vscode;
|
@@ -646,6 +647,21 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
|
646 | 647 | )
|
647 | 648 | );
|
648 | 649 | context.subscriptions.push(...noLSsubscriptions);
|
| 650 | + } else { |
| 651 | + const lsVersion = languageServerExt.packageJSON.version; |
| 652 | + // Language Server implements FoldingRangeProvider starting from 1.0.5 |
| 653 | + if (semver.lt(lsVersion, "1.0.5")) { |
| 654 | + context.subscriptions.push( |
| 655 | + vscode.languages.registerFoldingRangeProvider( |
| 656 | + documentSelector("objectscript-class"), |
| 657 | + new ObjectScriptClassFoldingRangeProvider() |
| 658 | + ), |
| 659 | + vscode.languages.registerFoldingRangeProvider( |
| 660 | + documentSelector("objectscript"), |
| 661 | + new ObjectScriptFoldingRangeProvider() |
| 662 | + ) |
| 663 | + ); |
| 664 | + } |
649 | 665 | }
|
650 | 666 |
|
651 | 667 | context.subscriptions.push(
|
@@ -826,14 +842,6 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
|
826 | 842 | documentSelector("objectscript-class", "objectscript"),
|
827 | 843 | new CodeActionProvider()
|
828 | 844 | ),
|
829 |
| - vscode.languages.registerFoldingRangeProvider( |
830 |
| - documentSelector("objectscript-class"), |
831 |
| - new ObjectScriptClassFoldingRangeProvider() |
832 |
| - ), |
833 |
| - vscode.languages.registerFoldingRangeProvider( |
834 |
| - documentSelector("objectscript"), |
835 |
| - new ObjectScriptFoldingRangeProvider() |
836 |
| - ), |
837 | 845 | vscode.languages.registerWorkspaceSymbolProvider(new WorkspaceSymbolProvider()),
|
838 | 846 | vscode.debug.registerDebugConfigurationProvider("objectscript", new ObjectScriptConfigurationProvider()),
|
839 | 847 | vscode.debug.registerDebugAdapterDescriptorFactory("objectscript", debugAdapterFactory),
|
|
0 commit comments