digitallyserviced/semanticolor

Colouring problems in Python

Closed this issue · 7 comments

See the way semanticolor handles .format(...) here:

image

I've seen this a few times in Python code. It looks like a bug to me. I used the "log cursor scope" feature and the identifier.semanticolor-* scope is indeed different. The other scopes are exactly the same.

What other scopes are present for the f and the rest of the word? Aside from the semanticolor ones, is there a difference in the scope list?

Hmmmmm... I'll look into it. Thanks. : )

If it helps, it only seems to happen when an attribute follows a parenthesized expression (e.g. myfunc().myattribute).

So, it seems this is a bug in the Python language grammar for Atom. The language-python-mamba grammar doesn't have this issue. Basically, the grammar is identifying the first letter and the rest of the word as separate tokens, for some reason. I could maybe open a PR to fix the grammar...

Looks like there is some work going on around replacing the crappy language-python module: atom/atom#13877

...I'm gonna close this as not a semanticolor issue. Hopefully you'll get some improved Python support soon! in the meantime you could try the language-python-mamba package, or just wait.

Thanks for having checked. I think I'll just used MagicPython for now, but good to know!