PythonImproved icon indicating copy to clipboard operation
PythonImproved copied to clipboard

Error in coloring of raw python strings

Open Grokzen opened this issue 9 years ago • 14 comments

I loaded this piece of code into ST3 and when the following text was parsed as a raw string it caused a major coloring error. I guess it fails out because when [ ] is used inside a string it tries to match them and color the content.

image

Solutions that solves the problem temporarily is to remove the r before the string and then escape all special characters inside the string. This is not a desired solution tho.

Grokzen avatar Mar 11 '15 13:03 Grokzen

Thanks for the feedback. Could you please post the plain text of the code you're using so I can test it?

MattDMo avatar Mar 11 '15 14:03 MattDMo

https://gist.github.com/Grokzen/af9b1bcf65e2c0f977ea

Grokzen avatar Mar 11 '15 14:03 Grokzen

This might not help anything but i am running the following theme and scheme

"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
"theme": "Flatland Dark.sublime-theme",

Grokzen avatar Mar 11 '15 14:03 Grokzen

Strange. Using the Neon Color Scheme, ST3 Build 3075 (just released yesterday), and the latest version of Python Improved, your code looks fine to me:

issue_34_neon

Are you sure you're running the latest version of Python Improved?

MattDMo avatar Mar 11 '15 15:03 MattDMo

It also doesn't seem to be an issue with Monokai:

issue_34_monokai

MattDMo avatar Mar 11 '15 15:03 MattDMo

I tried neon color scheme and i am running on the latest ST3 (3075) release and it bugs out anyway

Grokzen avatar Mar 11 '15 15:03 Grokzen

Mkay, it apeared to be some random bug or something because i started to disable and enable packages and when i disabled all python related, then PyImproved then Python and renable them in the reverse order everything cleared out and now it renders correctly O.o

Closing this because there is no point of having it open now :] Thanks for the help anyway

Grokzen avatar Mar 11 '15 15:03 Grokzen

No problem. Glad you got it fixed!

MattDMo avatar Mar 11 '15 17:03 MattDMo

I don't know if the below highlighting bug (is it?) is in any way related to the issue, but this seemed to be the right place to post it.

From the source code of http.cookies:

MCVE:

Removing the r suffix solves the problem. The default Python syntax definition for ST3 gives the same result.

vaultah avatar Oct 11 '15 12:10 vaultah

So this is either a problem with Sublime itself and bracket matching, or with the regex syntax definition. Just to be sure, I've cloned the regex syntax def from the original Python package and added it to PI with a few initial changes, unfortunately none that will address this issue. Feel free to hack at it and see what you think.

MattDMo avatar Oct 18 '15 04:10 MattDMo

Same issue as SublimeTextIssues/DefaultPackages #158.

MattDMo avatar Nov 02 '15 03:11 MattDMo

The referenced issue is fixed in 3095 (and will be very hard to fix with tmLanguage syntax because of how it's structured).

In the default Python syntax def, you can use an upper case R before the string to still get a raw string but not automatic regexp syntax highlighting.

FichteFoll avatar Nov 03 '15 10:11 FichteFoll

This should be semi-fixed in the new 2.1 release I'm about to push - see #25. Here's how it looks using raw-regex (lowercase r):

screen shot 2015-12-04 at 12 55 14 pm

and here's how it looks using raw (uppercase R):

screen shot 2015-12-04 at 12 56 19 pm

I'm going to leave this issue open for now, just on the off chance that someone can figure out how to tweak either the main syntax or the regex syntax to make everything work with raw-regex. If you have any thoughts, please share!

MattDMo avatar Dec 04 '15 18:12 MattDMo

See also https://github.com/SublimeTextIssues/DefaultPackages/issues/173 and probably others

MattDMo avatar Feb 09 '16 15:02 MattDMo