MagicPython
MagicPython copied to clipboard
No difference between single and double quoted strings
Ok I'm sorry if I don't take the time to use your template and try to prepare a pull request and all that stuff. I'm just not used to it.
I already spent much time on solving the issue for myself. And I only post here to share my solution.
If somebody is experimented with pull requests and all those things, below is my diff.
Also, if anybody finds this issue from google they will have the option to just apply the diff.
SOLUTION
Put the fix-string-quoted-double.patch (file below) in the relevant location of the extension.
Should be something like ~/.vscode/extensions/magicstack.magicpython-1.1.0/grammars/src
Then go to this location and execute git apply fix-string-quoted-double.patch
fix-string-quoted-double.patch
diff --git a/MagicPython.syntax.yaml b/MagicPython.syntax.yaml
index f885059..c6f6ae4 100644
--- a/MagicPython.syntax.yaml
+++ b/MagicPython.syntax.yaml
@@ -86,7 +86,7 @@ repository:
- file: 'regexp.wrapper.syntax.yaml'
vars:
- scopename: string.regexp.quoted.single.python
+ scopename: string.regexp.quoted.double.python
prefix: 'double-one-'
basename: 'regexp'
nested: ''
@@ -160,7 +160,7 @@ repository:
- file: 'regexp.wrapper.syntax.yaml'
vars:
- scopename: string.regexp.quoted.single.python
+ scopename: string.regexp.quoted.double.python
string.interpolated.python
prefix: 'double-one-'
basename: 'fregexp'
@@ -183,7 +183,13 @@ repository:
- file: 'pystring.inc.syntax.yaml'
vars:
line: single
- marker: (['"])
+ marker: "'"
+ guard: "|((?<!\\\\)\\n)"
+
+ - file: 'pystring.inc.syntax.yaml'
+ vars:
+ line: double
+ marker: '"'
guard: "|((?<!\\\\)\\n)"
- file: 'pystring.inc.syntax.yaml'
@@ -195,7 +201,14 @@ repository:
- file: 'pyfstring.inc.syntax.yaml'
vars:
line: single
- marker: (['"])
+ marker: "'"
+ fguard: "|(?=\\n)"
+ guard: "|((?<!\\\\)\\n)"
+
+ - file: 'pyfstring.inc.syntax.yaml'
+ vars:
+ line: double
+ marker: '"'
fguard: "|(?=\\n)"
guard: "|((?<!\\\\)\\n)"
@@ -666,18 +679,25 @@ repository:
string:
patterns:
- include: '#string-quoted-multi-line'
+ - include: '#string-quoted-double-line'
- include: '#string-quoted-single-line'
- include: '#string-bin-quoted-multi-line'
+ - include: '#string-bin-quoted-double-line'
- include: '#string-bin-quoted-single-line'
- include: '#string-raw-quoted-multi-line'
+ - include: '#string-raw-quoted-double-line'
- include: '#string-raw-quoted-single-line'
- include: '#string-raw-bin-quoted-multi-line'
+ - include: '#string-raw-bin-quoted-double-line'
- include: '#string-raw-bin-quoted-single-line'
- include: '#fstring-fnorm-quoted-multi-line'
+ - include: '#fstring-fnorm-quoted-double-line'
- include: '#fstring-fnorm-quoted-single-line'
- include: '#fstring-normf-quoted-multi-line'
+ - include: '#fstring-normf-quoted-double-line'
- include: '#fstring-normf-quoted-single-line'
- include: '#fstring-raw-quoted-multi-line'
+ - include: '#fstring-raw-quoted-double-line'
- include: '#fstring-raw-quoted-single-line'
string-unicode-guts:
Has this been implemented yet I still have this issue in VScode with Python