Skip to content

UI comm: handle inputBoundaries RPC for Positron Quarto#1272

Closed
metehankaygsz wants to merge 1 commit into
posit-dev:mainfrom
metehankaygsz:input-boundaries-ui-rpc
Closed

UI comm: handle inputBoundaries RPC for Positron Quarto#1272
metehankaygsz wants to merge 1 commit into
posit-dev:mainfrom
metehankaygsz:input-boundaries-ui-rpc

Conversation

@metehankaygsz

@metehankaygsz metehankaygsz commented Jun 13, 2026

Copy link
Copy Markdown

Summary

  • handle callMethod("inputBoundaries", code) directly in the UI comm backend
  • reuse the existing Rust-side analysis::input_boundaries parser logic
  • return the same { boundaries: [...] } payload shape expected by Positron
  • add a unit test covering the new RPC response

Why

Positron Quarto now asks the R backend for all statement boundaries in a single request so it can split multi-expression inline chunks without paying for one completeness probe per line.

Testing

  • cargo test -p ark test_input_boundaries_call_method -- --nocapture

Notes

  • pairs with the Positron Quarto execution change on posit-dev/positron#14185
  • this is intentionally limited to the UI comm RPC path; the boundary analysis implementation already existed

@lionel-

lionel- commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Input boundaries are meant to be provided by the LSP, not by the UI comm (we plan to split the LSP and kernel in the future). But I see that you do call the LSP in the Positron-side PR to get input boundaries, which seems right.

Your Positron-side PR already works without this backend-side one, right?

For context: #522 and #533

@metehankaygsz

Copy link
Copy Markdown
Author

Yes, you’re right. I verified that the Positron-side PR already works without this change. RSession.callMethod("inputBoundaries") routes the request through the LSP using the existing positron/inputBoundaries endpoint in Ark.

I opened this PR because I misunderstood an earlier review comment asking for the accompanying Ark implementation and assumed the UI comm RPC still needed a backend handler. I now understand that the required Ark implementation already exists in the LSP and that adding it to UI comm would duplicate the functionality in the wrong architectural layer.

Thanks for clarifying and for the references to #522 and #533. I’ll close this PR as unnecessary.

@github-actions github-actions Bot locked and limited conversation to collaborators Jun 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants