Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial support for tooltips: parse tree visualizations. #1305

Merged
merged 3 commits into from
Jun 15, 2023
Merged

Commits on Jun 14, 2023

  1. Initial support for tooltips: parse tree visualizations.

    Dex has a reactive notebook and literate programming environment in `dex web`.
    
    Tooltips add additional IDE information to the web environment, shown when
    hovering the cursor over code.
    
    This initial PR adds infrastructure for tooltips, with parse tree visualizations
    as the first feature.
    
    - Backend: compiler computes a `SpanTree` describing all nested expression
      spans, based on concrete syntax trees.
    
    - Frontend: HTML rendering uses `SpanTree` to augment HTML elements with class
      attributes about span ranges. These span range attributes are highlighted on
      mouse hover.
    
    Co-Authored-By: Dougal <d.maclaurin@gmail.com>
    dan-zheng and dougalm committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    f7d1157 View commit details
    Browse the repository at this point in the history
  2. Fix typo in SourceInfoSpec

    dougalm committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    d488a0a View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2023

  1. Remove Typeable instances.

    `Typeable` instances were added to implement an older version of
    TraverseSourceInfo using reflection to find all nested `SrcPosCtx` values.
    
    This is no longer needed, as TraverseSourceInfo now only uses `Generic`, which
    is more lightweight.
    dan-zheng committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    4de8fdb View commit details
    Browse the repository at this point in the history