Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into fix-1278
Browse files Browse the repository at this point in the history
  • Loading branch information
isc-bsaviano committed Aug 5, 2024
2 parents ff7f63b + 2de83fd commit 73c926d
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 19 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
# Change Log

## [2.12.7] 05-Aug-2024
- Enhancements
- Fire source control hooks for opened and closed documents (#1414)
- Always stop the debug target process when attaching (#1415)
- Prompt user for workspace folder before process ID when attaching to a process in a multi-root workspace (#1417)
- Rename `InterSystems WebSocket Terminal` to `InterSystems Lite Terminal` (#1418)
- Fixes
- Fix showing of CSP files in project folders (#1408)
- Add confirmation dialog when deleting a project (#1410)
- Fix attach debugging when no file is open (#1412)
- Improve reliability of updating status bar panels (#1416)
- Add CSPSHARE=1 to Studio Add-In links to align behavior with Studio (#1419)
- Don't append CSPCHD for web applications that don't support it by default (#1420)

## [2.12.6] 23-Jul-2024
Minimum VS Code version is now 1.91.0.
- Enhancements
- Support command stepping in debugger (requires InterSystems IRIS 2023.1.5, 2024.1.1+, or 2024.2+) (#1385)
- Add `Compile` command to server-side file explorer (#1389)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ To unlock these features (optional):

1. Download and install a beta version from GitHub. This is necessary because Marketplace does not allow publication of extensions that use proposed APIs.
- Go to https://github.com/intersystems-community/vscode-objectscript/releases
- Locate the beta immediately above the release you installed from Marketplace. For instance, if you installed `2.12.6`, look for `2.12.7-beta.1`. This will be functionally identical to the Marketplace version apart from being able to use proposed APIs.
- Download the VSIX file (for example `vscode-objectscript-2.12.7-beta.1.vsix`) and install it. One way to install a VSIX is to drag it from your download folder and drop it onto the list of extensions in the Extensions view of VS Code.
- Locate the beta immediately above the release you installed from Marketplace. For instance, if you installed `2.12.7`, look for `2.12.8-beta.1`. This will be functionally identical to the Marketplace version apart from being able to use proposed APIs.
- Download the VSIX file (for example `vscode-objectscript-2.12.8-beta.1.vsix`) and install it. One way to install a VSIX is to drag it from your download folder and drop it onto the list of extensions in the Extensions view of VS Code.

2. From [Command Palette](https://code.visualstudio.com/docs/getstarted/tips-and-tricks#_command-palette) choose `Preferences: Configure Runtime Arguments`.
3. In the argv.json file that opens, add this line (required for both Stable and Insiders versions of VS Code):
Expand Down
12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "vscode-objectscript",
"displayName": "InterSystems ObjectScript",
"description": "InterSystems ObjectScript language support for Visual Studio Code",
"version": "2.12.7-SNAPSHOT",
"version": "2.12.8-SNAPSHOT",
"icon": "images/logo.png",
"aiKey": "9cd75d51-697c-406c-a929-2bcf46e97c64",
"categories": [
Expand Down Expand Up @@ -1139,11 +1139,11 @@
{
"category": "ObjectScript",
"command": "vscode-objectscript.launchWebSocketTerminal",
"title": "Launch WebSocket Terminal"
"title": "Launch Lite Terminal"
},
{
"command": "vscode-objectscript.intersystems-servermanager.webterminal",
"title": "Launch WebSocket Terminal",
"title": "Launch Lite Terminal",
"icon": "$(terminal)"
},
{
Expand Down Expand Up @@ -1517,7 +1517,7 @@
"default": true
},
"objectscript.webSocketTerminal.syntaxColoring": {
"description": "Enable syntax coloring for command input in the InterSystems WebSocket Terminal.",
"description": "Enable syntax coloring for command input in the InterSystems Lite Terminal.",
"type": "boolean",
"default": true
},
Expand Down Expand Up @@ -1686,7 +1686,7 @@
"type": "objectscript",
"request": "attach",
"name": "Attach to running process"
}
}
],
"configurationSnippets": [
{
Expand Down Expand Up @@ -1744,7 +1744,7 @@
"profiles": [
{
"id": "vscode-objectscript.webSocketTerminal",
"title": "InterSystems WebSocket Terminal",
"title": "InterSystems Lite Terminal",
"icon": "./images/fileIcon.svg"
}
]
Expand Down
7 changes: 3 additions & 4 deletions src/commands/serverActions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,13 +219,11 @@ export async function serverActions(): Promise<void> {
}
switch (action.id) {
case "openPortal": {
const token = await getCSPToken(api, portalPath);
vscode.env.openExternal(vscode.Uri.parse(`${serverUrl}${portalPath}&CSPCHD=${token}`));
vscode.env.openExternal(vscode.Uri.parse(`${serverUrl}${portalPath}`));
break;
}
case "openClassReference": {
const token = await getCSPToken(api, classRef);
vscode.env.openExternal(vscode.Uri.parse(`${serverUrl}${classRef}&CSPCHD=${token}`));
vscode.env.openExternal(vscode.Uri.parse(`${serverUrl}${classRef}`));
break;
}
case "openStudioAddin": {
Expand All @@ -251,6 +249,7 @@ export async function serverActions(): Promise<void> {
params += `&Project=${encodeURIComponent(project)}`;
}
params += `&CSPCHD=${token}`;
params += "&CSPSHARE=1";
vscode.env.openExternal(vscode.Uri.parse(`${serverUrl}${addin.id}?${params}`));
}
}
Expand Down
14 changes: 7 additions & 7 deletions src/commands/webSocketTerminal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ class WebSocketTerminal implements vscode.Pseudoterminal {
},
});
} catch (error) {
handleError(error, "Failed to initialize WebSocket Terminal.");
handleError(error, "Failed to initialize Lite Terminal.");
outputChannel.appendLine("Check that the InterSystems server's web server supports WebSockets.");
this._closeEmitter.fire();
return;
Expand All @@ -180,7 +180,7 @@ class WebSocketTerminal implements vscode.Pseudoterminal {
this._socket
.on("error", (error) => {
// Log the error and close
handleError(`WebSocket error: ${error.toString()}`, "WebSocket Terminal failed.");
handleError(`WebSocket error: ${error.toString()}`, "Lite Terminal failed.");
this._closeEmitter.fire();
})
.on("close", () => {
Expand All @@ -197,7 +197,7 @@ class WebSocketTerminal implements vscode.Pseudoterminal {
switch (message.type) {
case "error":
// Log the error and close
handleError(message.text, "WebSocket Terminal failed.");
handleError(message.text, "Lite Terminal failed.");
this._closeEmitter.fire();
break;
case "output":
Expand Down Expand Up @@ -597,12 +597,12 @@ function terminalConfigForUri(
): vscode.ExtensionTerminalOptions | undefined {
// Make sure the server connection is active
if (!api.active || api.ns == "") {
reportError("WebSocket Terminal requires an active server connection.", throwErrors);
reportError("Lite Terminal requires an active server connection.", throwErrors);
return;
}
// Make sure the server has the terminal endpoint
if (api.config.apiVersion < 7) {
reportError("WebSocket Terminal requires InterSystems IRIS version 2023.2 or above.", throwErrors);
reportError("Lite Terminal requires InterSystems IRIS version 2023.2 or above.", throwErrors);
return;
}

Expand All @@ -625,7 +625,7 @@ async function workspaceUriForTerminal(throwErrors = false) {
let uri: vscode.Uri;
const workspaceFolders = vscode.workspace.workspaceFolders || [];
if (workspaceFolders.length == 0) {
reportError("WebSocket Terminal requires an open workspace.", throwErrors);
reportError("Lite Terminal requires an open workspace.", throwErrors);
} else if (workspaceFolders.length == 1) {
// Use the current connection
uri = workspaceFolders[0].uri;
Expand Down Expand Up @@ -679,7 +679,7 @@ export class WebSocketTerminalProfileProvider implements vscode.TerminalProfileP
const terminalOpts = terminalConfigForUri(new AtelierAPI(uri), uri, true);
return new vscode.TerminalProfile(terminalOpts);
} else {
throw new Error("WebSocket Terminal requires a selected workspace folder.");
throw new Error("Lite Terminal requires a selected workspace folder.");
}
}
}

0 comments on commit 73c926d

Please sign in to comment.