alexmojaki / alexmojaki/futurecoder

Better tokenization of revealed solution

Aberta
#97 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
1.5k
Forks
183
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.