alexmojaki / alexmojaki/futurecoder

Better tokenization of revealed solution

未關閉
#97 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
1.5k
分支
183
PR 合併指標
30 天內沒有已合併 PR

描述

The `get_solution` function uses the standard Python tokenizer to split an exercise solution into tokens which the user can gradually reveal. This works pretty well, but:

1. f-strings are considered a single massive token, which reveals too much information in a single click.
2. There's no syntax highlighting :cry:

I think a good solution would be to use Pygments to highlight the solution and then treat each individual span as a separate token to be revealed by the user. For example, this Python code:

```python
print(f"{name} went to {meal} with {friend}.")
```

gets converted into:

```html
print(f"{name} went to {meal} with {friend}.")

```

Each span like `print` is a token. Any whitespace between tags (I don't see any in the example above) should be preserved, but is already 'revealed' from the beginning.

This could probably be done either by hooking into pygments, e.g. writing a custom formatter, or parsing the HTML produced by the standard formatter.

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。