leanprover / leanprover/vscode-lean4

Feature request: Support Live Share

Open
#390 6 comments 20 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

RFC
Dominant language
TypeScript
Stars
313
Forks
104
Avg merge
1h 56m
Merged PRs (30d)
1

Description

Proposal

VS Code Live Share is a feature that allows multiple clients to edit the same file. When using Live Share with Lean, standard LSP functionality (autocomplete, hovers, ..) already works for all clients, but the infoview only works in the primary client (the one running the Lean server). Attempting to open the infoview in the secondary client results in various errors, for instance command 'lean.displayGoal' not found. Note that it is possible to test this locally by opening two windows, sharing from one, and joining from the other.

The Lean server already supports multiple RPC sessions, so in principle it should be possible to add support for a working infoview in both Live Share clients by modifying the extension only.

  • User Experience: Better support for collaborating on Lean programs.

  • Beneficiaries: Anyone collaborating using Live Share.

  • Maintainability: Difficult to say; it may add complexity or lead to a refactoring that simplifies something.

Impact

Add 👍 to issues you consider important. If others benefit from the changes in this proposal being added, please ask them to add 👍 to it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with two VS Code windows using Live Share, as described in the proposal, and compare infoview behavior between the primary and secondary clients. Trace how the extension exposes the infoview and handles the lean.displayGoal command. Done means both clients can open and use the infoview while standard Lean functionality continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.