|
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