MagicStack / MagicStack/MagicPython

No difference between single and double quoted strings

Offen
#172 1 Kommentar 2 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@vpetrovykh arbeitet bereits daran.

Seit 04.2.2019.

Vorherrschende Sprache
JavaScript
Sterne
1.4k
Forks
98
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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:

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.