Skip to content

Commit b540581

Browse files
committed
Add objectscript.serverSourceControl.respectEditableStatus setting
1 parent 740d1b3 commit b540581

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,6 +1312,11 @@
13121312
"type": "boolean",
13131313
"scope": "resource"
13141314
},
1315+
"objectscript.serverSourceControl.respectEditableStatus": {
1316+
"description": "Set ISFS document readonly if GetStatus method of server-side source control class returns Editable=0",
1317+
"type": "boolean",
1318+
"scope": "resource"
1319+
},
13151320
"objectscript.export": {
13161321
"type": "object",
13171322
"description": "Control what to export from the server into the local folder.",

src/providers/FileSystemProvider/FileSystemProvider.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -231,11 +231,13 @@ export class FileSystemProvider implements vscode.FileSystemProvider {
231231
}
232232

233233
// Does server-side source control report it as editable?
234-
const query = "select * from %Atelier_v1_Utils.Extension_GetStatus(?)";
235-
const statusObj = await api.actionQuery(query, [serverName]);
236-
const docStatus = statusObj.result.content.pop();
237-
if (docStatus) {
238-
result.permissions = docStatus.editable ? undefined : result.permissions | vscode.FilePermission.Readonly;
234+
if (vscode.workspace.getConfiguration("objectscript.serverSourceControl", uri)?.get("respectEditableStatus")) {
235+
const query = "select * from %Atelier_v1_Utils.Extension_GetStatus(?)";
236+
const statusObj = await api.actionQuery(query, [serverName]);
237+
const docStatus = statusObj.result.content.pop();
238+
if (docStatus) {
239+
result.permissions = docStatus.editable ? undefined : result.permissions | vscode.FilePermission.Readonly;
240+
}
239241
}
240242
}
241243
return result;

0 commit comments

Comments
 (0)