MagicStack / MagicStack/MagicPython
Grammar could support the walrus operator
還沒有人認領這個 Issue。
- 主要語言
- JavaScript
- 星號
- 1.4k
- 分支
- 98
- PR 合併指標
- 30 天內沒有已合併 PR
描述
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](https://www.python.org/dev/peps/pep-0572)) 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](https://github.com/christopherafbjur/vscode-theme-onedarker)
* **MagicPython version**: commit 0b09c1fca238d22e15ac5712d03f9bf6da626f9c
* **A sreenshot**: 

* **5-10 lines of surrounding code**:
```python
if m := x
```
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
issue 中沒有指定原始檔案或測試。先定位負責 `:=` 的 Python 語法和 token 範圍規則,然後將 `if m := x` 產生的範圍與預期的單一 walrus-operator token 進行比較;當該運算子獲得一致的醒目顯示,且其中的冒號和等號不再是分開的 token 時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- javascript, python
- 領域
- tooling
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100