tlaplus / tlaplus/vscode-tlaplus

Run TLC in VSCode integrated terminal

Open
#175 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
435
Forks
50
Avg merge
20h 54m
Merged PRs (30d)
1

Description

Some TLC-specific TLA+ operators such as PickSuccessor prompt users for (interactive) input (on stdin). This is currently unsupported because the extension just prints TLC's stdout/stderr to the output section of the model-checking results webview (check-result-view.html) and expects no input. I suggest changing the extension such that it (also) creates a proper VSCode terminal (not just read-only OutputChannel) with which a user can interact with TLC.

Screenshot from 2020-11-16 17-13-26

Long-term, this might be a use-case for the debug adapter protocol.

Contributor guide

Open the contributing guide

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 tracing how TLC stdout and stderr reach the model-checking results webview in check-result-view.html, then review the VSCode terminal and debug adapter protocol guidance linked in the issue. Done means TLC can run in a proper interactive terminal so operators such as PickSuccessor can receive stdin, while existing model-checking results remain available.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.