Skip to content

vscode r coexistence docs#194

Merged
jbearak merged 4 commits intomainfrom
vscode-r-coexistence-docs
May 9, 2026
Merged

vscode r coexistence docs#194
jbearak merged 4 commits intomainfrom
vscode-r-coexistence-docs

Conversation

@jbearak
Copy link
Copy Markdown
Owner

@jbearak jbearak commented May 9, 2026

  • Hide R console toolbar when disabled
  • Extract coexistence docs into standalone page
  • Flesh out coexistence.md with rationale and fix lintr guidance
  • Add what REditorSupport offers that Raven doesn't to comparison.md

Summary by CodeRabbit

  • New Features

    • R console-dependent commands (Run Line/Selection, Source File, Send to R) now conditionally appear based on R console activation state.
  • Documentation

    • New guidance document explaining Raven's coexistence with REditorSupport (R) and Positron extensions.
    • Updated configuration documentation to reference coexistence guidance.

Review Change Stack

jbearak added 4 commits May 9, 2026 16:25
Move the Coexistence section out of comparison.md into a dedicated
docs/coexistence.md so the "Learn more" link from the VS Code extension
lands on a self-contained page rather than a mid-section anchor in a
long comparison document.

The new page covers what steps aside (R console, plot/data viewers) vs.
what doesn't (language server, help viewer), the raven.rConsole.activation
setting, and the trade-off between running Raven alone vs. both language
servers (correcting the previous guidance that incorrectly said lintr
works with r.lsp.enabled off — it doesn't, since lintr diagnostics are
provided by REditorSupport's language server).

Update all references across docs, README, package.json, and extension
source to point to the new file.
- Add why you'd choose Raven alone (temp-file send, Arrow data viewer)
- Add why you'd keep REditorSupport (workspace viewer panel)
- Invite issues for workspace viewer / lintr integration in Raven
- Fix contradictory lintr advice: lintr requires r.lsp.enabled true,
  not false (it's provided by REditorSupport's language server)
- Soften r.lsp.enabled: false to an optional optimization, not a
  requirement, since running both LSPs is fine
Balance the comparison by adding two new sections listing features
REditorSupport has that Raven lacks:

Language server: lintr diagnostics, session-aware completions from
the live globalenv().

VS Code extension: workspace viewer, htmlwidget/Shiny viewer,
R Markdown support, list/environment viewer.

Invite issues/PRs for any of these.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 9, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 42b7cabb-8203-4cbc-a71b-3a8c41e3ab27

📥 Commits

Reviewing files that changed from the base of the PR and between f240d1f and 736abd6.

📒 Files selected for processing (13)
  • AGENTS.md
  • README.md
  • docs/coexistence.md
  • docs/comparison.md
  • docs/configuration.md
  • docs/data-viewer.md
  • docs/plot-viewer.md
  • docs/r-console.md
  • editors/vscode/README.md
  • editors/vscode/package.json
  • editors/vscode/src/extension.ts
  • editors/vscode/src/r-console-activation.ts
  • editors/vscode/src/test/r-console-activation.test.ts

📝 Walkthrough

Walkthrough

This PR establishes comprehensive documentation for R-console coexistence with other R-focused VS Code extensions and implements activation gating in the extension UI layer. A new coexistence guide is added, comparison documentation is reorganized, internal links are updated, and VS Code commands and menus are gated behind a context key derived from the resolved R-console activation state.

Changes

R-Console Coexistence and Activation Gating

Layer / File(s) Summary
Coexistence Documentation Foundation
docs/coexistence.md
New page comprehensively documents which Raven components always activate (language server, help viewer) versus which overlap with other extensions (R console, plot/data viewers). Describes raven.rConsole.activation setting (auto, enabled, disabled), compares Raven LSP with REditorSupport's lintr-based diagnostics, and provides configuration to disable REditorSupport's language server.
Documentation Reorganization and Link Updates
docs/comparison.md, docs/configuration.md, docs/data-viewer.md, docs/plot-viewer.md, docs/r-console.md
Comparison.md adds subsections itemizing REditorSupport language server and extension capabilities, then replaces detailed coexistence content with a pointer to coexistence.md. All documentation references throughout are updated from comparison.md#coexistence to direct links to coexistence.md.
Code Module Documentation and References
editors/vscode/src/r-console-activation.ts, editors/vscode/src/extension.ts
r-console-activation.ts updates module and message documentation links to coexistence.md. extension.ts introduces R_CONSOLE_ENABLED_CONTEXT constant and implements context key publishing based on resolved R-console state via setContext command.
Command and Menu When-Clause Gating
editors/vscode/package.json
Keybindings raven.runLineOrSelection and raven.sourceFile now require raven.rConsoleEnabled alongside editor conditions. Submenu raven.sendToR under editor/title is similarly gated. Configuration description link is updated to coexistence.md.
Test Verification and Supporting Documentation
editors/vscode/src/test/r-console-activation.test.ts, editors/vscode/README.md, README.md, AGENTS.md
New test loads package.json and verifies keybindings and submenu require raven.rConsoleEnabled. VS Code README clarifies lintr origin and gating behavior. Top-level README and AGENTS.md point to coexistence guidance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • jbearak/raven#191: Both modify the same R-console coexistence feature (docs, package.json command/menu gating, extension.ts context key, and r-console-activation references), touching overlapping functionality and files.
  • jbearak/raven#170: Main PR implements gating and testing of send-to-R editor commands and menus (package.json and extension context) that PR #170 originally introduced.
  • jbearak/raven#16: Both modify VS Code extension code (editors/vscode/package.json and extension.ts) and Raven-specific manifest keys related to command and menu visibility.

Poem

A rabbit hops through docs so bright,
Organizing coexistence right—
When R consoles dance and play,
Context keys light up the way! 🐰✨
No more tangled links, hooray!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'vscode r coexistence docs' directly and accurately describes the main change: extracting and reorganizing coexistence documentation into a dedicated page.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch vscode-r-coexistence-docs

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

Benchmark Comparison

No main baseline found — benchmark comparison skipped.

A baseline will be created when this branch (or a future PR) is merged to main.

@jbearak jbearak merged commit 75a65cf into main May 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant