]> git.lizzy.rs Git - micro.git/commitdiff
Raku syntax: Fix strings and comments (#2311)
authorJuan Francisco Cantero Hurtado <iam@juanfra.info>
Fri, 31 Dec 2021 22:42:21 +0000 (23:42 +0100)
committerGitHub <noreply@github.com>
Fri, 31 Dec 2021 22:42:21 +0000 (17:42 -0500)
* Raku syntax: Fix strings and comments

Problematic code:
my @array1 = [
   "'", "a", "b"
];
my @array2 = [
   '"', 'a', 'b'
];
my @array3 = [
   "#", "a", "b"
];

I deleted "default" because it was breaking comments with urls after
of my changes.

Some parts were taken from:
https://github.com/hankache/raku.nanorc/blob/master/raku.nanorc

* Raku syntax: fix strings

Code:
sub xyz(Str is encoded('utf8')) returns int32 is native('asdf') { * }
sub xyz(Str is encoded("utf8")) returns int32 is native("asdf") { * }

From python3.yaml

runtime/syntax/raku.yaml

index 919da12500395fa11655c8876a0daf64b049e800..c0f6c9104eb2179fcf6994ab2d669cdbfe0bde50 100644 (file)
@@ -12,14 +12,29 @@ rules:
     - identifier: "[$@%&](\\.|!|^)?([[:alpha:]]|_)([[:alnum:]]|-|_)*([[:alnum:]]|_)"
     - identifier: "[$@%&](\\?|\\*)([A-Z])([A-Z]|-)*([A-Z])"
 
-    - constant.string: "\".*\"|qq\\|.*\\|"
-    - default: "[sm]/.*/"
+    - comment: "#\ [^`|=]*"
+    - comment: "#[:alnum:].*"
+    - comment: "^#!/.*"
+
+    - constant.string:
+        start: "\""
+        end: "\""
+        skip: "\\\\."
+        rules:
+            - constant.specialChar: "\\\\."
+
+    - constant.string:
+        start: "'"
+        end: "'"
+        skip: "\\\\."
+        rules:
+            - constant.specialChar: "\\\\."
+
     - preproc:
         start: "(^use| = new)"
         end: ";"
         rules: []
 
-    - comment: "#.*"
     - identifier.macro:
         start: "<<EOSQL"
         end: "EOSQL"