MagicStack / MagicStack/MagicPython

Grammar could support the walrus operator

Open
#204 0 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.4k
Forks
98
PR merge metrics
No merged PRs in 30d

Description

From @BornForFever in https://github.com/microsoft/vscode/issues/94999

The walrus operator :=(an operator to allow you to make assignments in an expression, see PEP 572) is highlighted as 2 different colors. And I tried inspecting tokens and scopes, and found that : and = were treated as 2 tokens.

  • Editor name and version: VS Code 1.44
  • Platform: any
  • Color scheme: Well illustrated with Atom One Darker
  • MagicPython version: commit 0b09c1fca238d22e15ac5712d03f9bf6da626f9c
  • A sreenshot: 批注 2020-04-11 222317
    批注 2020-04-11 222406
  • 5-10 lines of surrounding code:
if m := x 

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

No source file or test is named in the issue. Start by locating the Python grammar and token-scope rules responsible for :=, then compare the scopes produced for if m := x with the intended single walrus-operator token; done means the operator is highlighted consistently and its colon and equals signs are no longer separate tokens.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.