Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,7 @@
"id": "workspaceViewer",
"name": "Workspace",
"icon": "./images/Rlogo.svg",
"contextualTitle": "R",
"when": "r.WorkspaceViewer:show"
"contextualTitle": "R"
},
{
"id": "rHelpPages",
Expand All @@ -117,7 +116,8 @@
"viewsWelcome": [
{
"view": "workspaceViewer",
"contents": "R workspace is empty."
"when": "!r.WorkspaceViewer:show",
"contents": "R workspace viewer requires that the [session watcher be enabled](https://github.com/REditorSupport/vscode-R/wiki/R-Session-watcher)."
},
{
"view": "rHelpPages",
Expand Down Expand Up @@ -1246,22 +1246,22 @@
{
"command": "r.workspaceViewer.load",
"group": "navigation@0",
"when": "view == workspaceViewer && !r.liveShare:isGuest"
"when": "r.WorkspaceViewer:show && view == workspaceViewer && !r.liveShare:isGuest"
},
{
"command": "r.workspaceViewer.save",
"group": "navigation@1",
"when": "view == workspaceViewer && !r.liveShare:isGuest"
"when": "r.WorkspaceViewer:show && view == workspaceViewer && !r.liveShare:isGuest"
},
{
"command": "r.workspaceViewer.clear",
"group": "navigation@2",
"when": "view == workspaceViewer"
"when": "r.WorkspaceViewer:show && view == workspaceViewer"
},
{
"command": "r.workspaceViewer.refreshEntry",
"group": "navigation@3",
"when": "view == workspaceViewer"
"when": "r.WorkspaceViewer:show && view == workspaceViewer"
},
{
"command": "r.helpPanel.showQuickPick",
Expand Down
12 changes: 4 additions & 8 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<apiImp
extensionContext = context;

// assign session watcher setting to global variable
enableSessionWatcher = util.config().get<boolean>('sessionWatcher');
enableSessionWatcher = util.config().get<boolean>('sessionWatcher') ?? false;
rmdPreviewManager = new rmarkdown.RMarkdownPreviewManager();
rmdKnitManager = new rmarkdown.RMarkdownKnitManager();

Expand Down Expand Up @@ -133,8 +133,8 @@ export async function activate(context: vscode.ExtensionContext): Promise<apiImp

// workspace viewer
'r.workspaceViewer.refreshEntry': () => rWorkspace?.refresh(),
'r.workspaceViewer.view': (node: workspaceViewer.GlobalEnvItem) => node.label && workspaceViewer.viewItem(node.label),
'r.workspaceViewer.remove': (node: workspaceViewer.GlobalEnvItem) => node.label && workspaceViewer.removeItem(node.label),
'r.workspaceViewer.view': (node: workspaceViewer.GlobalEnvItem) => node?.label && workspaceViewer.viewItem(node.label),
'r.workspaceViewer.remove': (node: workspaceViewer.GlobalEnvItem) => node?.label && workspaceViewer.removeItem(node.label),
'r.workspaceViewer.clear': workspaceViewer.clearWorkspace,
'r.workspaceViewer.load': workspaceViewer.loadWorkspace,
'r.workspaceViewer.save': workspaceViewer.saveWorkspace,
Expand Down Expand Up @@ -242,17 +242,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<apiImp
// creates a custom context value for the workspace view
// only shows view when session watcher is enabled
rWorkspace = new workspaceViewer.WorkspaceDataProvider();
vscode.window.registerTreeDataProvider(
'workspaceViewer',
rWorkspace
);
void vscode.commands.executeCommand('setContext', 'r.WorkspaceViewer:show', enableSessionWatcher);

// if session watcher is active, register dyamic completion provider
const liveTriggerCharacters = ['', '[', '(', ',', '$', '@', '"', '\''];
vscode.languages.registerCompletionItemProvider(['r', 'rmd'], new completions.LiveCompletionItemProvider(), ...liveTriggerCharacters);
}

void vscode.commands.executeCommand('setContext', 'r.WorkspaceViewer:show', enableSessionWatcher);

return rExtension;
}
8 changes: 5 additions & 3 deletions src/workspaceViewer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ export class WorkspaceDataProvider implements TreeDataProvider<TreeItem> {
await node.showQuickPick();
})
);

vscode.window.registerTreeDataProvider('workspaceViewer', this);
}

public getTreeItem(element: TreeItem): TreeItem {
Expand Down Expand Up @@ -172,7 +174,7 @@ export class WorkspaceDataProvider implements TreeDataProvider<TreeItem> {
}

class PackageItem extends TreeItem {
public static command : string = 'r.workspaceViewer.package.showQuickPick';
public static command: string = 'r.workspaceViewer.package.showQuickPick';
public label?: string;
public name: string;
public pkgNode?: PackageNode;
Expand Down Expand Up @@ -258,7 +260,7 @@ export class GlobalEnvItem extends TreeItem {
}

private getTooltip(
label:string,
label: string,
rClass: string,
size?: number,
treeLevel?: number
Expand Down Expand Up @@ -291,7 +293,7 @@ export class GlobalEnvItem extends TreeItem {
of what elements can have have 'child' nodes os not. It can be expanded
in the futere for more tree levels.*/
private static setCollapsibleState(treeLevel: number, type: string, str: string): vscode.TreeItemCollapsibleState {
if (treeLevel === TreeLevel.Parent && collapsibleTypes.includes(type) && str.includes('\n')){
if (treeLevel === TreeLevel.Parent && collapsibleTypes.includes(type) && str.includes('\n')) {
return TreeItemCollapsibleState.Collapsed;
} else {
return TreeItemCollapsibleState.None;
Expand Down