Skip to content

Implement substitute() effect handler - #1373

Merged
lionel- merged 1 commit into
mainfrom
oak-nse/14-substitute
Aug 3, 2026
Merged

Implement substitute() effect handler#1373
lionel- merged 1 commit into
mainfrom
oak-nse/14-substitute

Conversation

@lionel-

@lionel- lionel- commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Progress towards #1338

Adds a Quote handler for substitute() calls.

In the following example, goto-def, find-refs, and rename should:

  • See through symbols defined in the current environment (arg and obj).
  • Treat all other symbols as quoted/inert, including those defined in a parent (foo, foobaz).
foo <- function() {}
foobaz <- 1

function(arg) {
  obj <- 1
  substitute(foo(arg, obj, foobaz))
}

Positron Release Notes

New Features

  • Symbol navigation now works inside substitute() calls. Quoted parts remain inert, whereas substituted parts now goto-definition, find-references, or rename.

Bug Fixes

  • N/A

@lionel-
lionel- force-pushed the oak-nse/14-substitute branch from 1c3d0d0 to 5bd97d1 Compare July 30, 2026 15:24
@lionel-
lionel- force-pushed the oak-nse/14-substitute branch from 5bd97d1 to 9f11c39 Compare July 31, 2026 07:08
@lionel-
lionel- force-pushed the oak-nse/14-substitute branch 2 times, most recently from 6700492 to e39284a Compare July 31, 2026 14:23
@lionel-
lionel- force-pushed the oak-nse/14-substitute branch 2 times, most recently from 8893e16 to 5011279 Compare August 3, 2026 13:17
@lionel-
lionel- force-pushed the oak-nse/14-substitute branch from 5011279 to bd49ba9 Compare August 3, 2026 16:18
Base automatically changed from oak-nse/13-evalq to main August 3, 2026 16:31
@lionel-
lionel- force-pushed the oak-nse/14-substitute branch from bd49ba9 to 0124b85 Compare August 3, 2026 16:32
@lionel-
lionel- merged commit 36ccf35 into main Aug 3, 2026
17 checks passed
@lionel-
lionel- deleted the oak-nse/14-substitute branch August 3, 2026 16:32
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 3, 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.

1 participant