From 5129a23bcf73f0b5d4ce1e9f973508ab48440024 Mon Sep 17 00:00:00 2001 From: Matilde Park Date: Mon, 19 Jul 2021 16:19:39 -0400 Subject: [PATCH 1/2] hoon: fix mixed-case aura tokenisation --- components/prism-hoon.js | 1 + components/prism-hoon.min.js | 2 +- tests/languages/hoon/comments_and_leaves.test | 3 +-- tests/languages/hoon/nested_strings.test | 4 +--- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/components/prism-hoon.js b/components/prism-hoon.js index 1e0025a377..1837d84df1 100644 --- a/components/prism-hoon.js +++ b/components/prism-hoon.js @@ -8,6 +8,7 @@ Prism.languages.hoon = { 'class-name': [ { pattern: /@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/, + greedy: true }, /\*/ ], diff --git a/components/prism-hoon.min.js b/components/prism-hoon.min.js index ea3a370aea..3f409f405a 100644 --- a/components/prism-hoon.min.js +++ b/components/prism-hoon.min.js @@ -1 +1 @@ -Prism.languages.hoon={constant:/%(?:\.[ny]|[\w-]+)/,comment:{pattern:/::.*/,greedy:!0},function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,"class-name":[{pattern:/@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/},/\*/],string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/:_|\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; \ No newline at end of file +Prism.languages.hoon={constant:/%(?:\.[ny]|[\w-]+)/,comment:{pattern:/::.*/,greedy:!0},function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,"class-name":[{pattern:/@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/,greedy:!0},/\*/],string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/:_|\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; \ No newline at end of file diff --git a/tests/languages/hoon/comments_and_leaves.test b/tests/languages/hoon/comments_and_leaves.test index 943354c7f7..17f61a6b48 100644 --- a/tests/languages/hoon/comments_and_leaves.test +++ b/tests/languages/hoon/comments_and_leaves.test @@ -31,8 +31,7 @@ " [", ["function", "now"], "=", - ["class-name", "@"], - ["function", "da"], + ["class-name", "@da"], ["function", "ovo"], "=", ["class-name", "*"], diff --git a/tests/languages/hoon/nested_strings.test b/tests/languages/hoon/nested_strings.test index fcf621354e..b2ca9ddc03 100644 --- a/tests/languages/hoon/nested_strings.test +++ b/tests/languages/hoon/nested_strings.test @@ -48,9 +48,7 @@ c ["keyword", "|="], ["function", "c"], "=", - ["class-name", "@"], - ["function", "t"], - "D\r\n", + ["class-name", "@tD"], ["keyword", "?:"], " &((", From 97440500d7da703c5b3cd8eb86bfe9b2e8f91375 Mon Sep 17 00:00:00 2001 From: Matilde Park Date: Mon, 19 Jul 2021 16:54:12 -0400 Subject: [PATCH 2/2] hoon: reverse parse order --- components/prism-hoon.js | 5 ++--- components/prism-hoon.min.js | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/components/prism-hoon.js b/components/prism-hoon.js index 1837d84df1..a3d408240a 100644 --- a/components/prism-hoon.js +++ b/components/prism-hoon.js @@ -4,14 +4,13 @@ Prism.languages.hoon = { pattern: /::.*/, greedy: true }, - 'function': /(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/, 'class-name': [ { - pattern: /@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/, - greedy: true + pattern: /@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/ }, /\*/ ], + 'function': /(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/, 'string': { pattern: /"[^"]*"|'[^']*'/, greedy: true diff --git a/components/prism-hoon.min.js b/components/prism-hoon.min.js index 3f409f405a..01eb598d0f 100644 --- a/components/prism-hoon.min.js +++ b/components/prism-hoon.min.js @@ -1 +1 @@ -Prism.languages.hoon={constant:/%(?:\.[ny]|[\w-]+)/,comment:{pattern:/::.*/,greedy:!0},function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,"class-name":[{pattern:/@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/,greedy:!0},/\*/],string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/:_|\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; \ No newline at end of file +Prism.languages.hoon={constant:/%(?:\.[ny]|[\w-]+)/,comment:{pattern:/::.*/,greedy:!0},"class-name":[{pattern:/@(?:[A-Za-z0-9-]*[A-Za-z0-9])?/},/\*/],function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/:_|\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; \ No newline at end of file