MagicStack / MagicStack/MagicPython

No difference between single and double quoted strings

Aperta
#172 1 commento 2 reazioni 1 assegnatario Vedi su GitHub

@vpetrovykh ci sta già lavorando.

Dal 4/2/2019.

Lingua principale
JavaScript
Stelle
1.4k
Fork
98
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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:

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.