diff --git a/components/prism-hoon.js b/components/prism-hoon.js index 400a1bd290..57d1dd70c7 100644 --- a/components/prism-hoon.js +++ b/components/prism-hoon.js @@ -4,7 +4,7 @@ Prism.languages.hoon = { greedy: true }, 'string': { - pattern: /"[^"]*"|'[^']*'/, + pattern: /"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/, greedy: true }, 'constant': /%(?:\.[ny]|[\w-]+)/, diff --git a/components/prism-hoon.min.js b/components/prism-hoon.min.js index 168915a445..7ffbe14847 100644 --- a/components/prism-hoon.min.js +++ b/components/prism-hoon.min.js @@ -1 +1 @@ -Prism.languages.hoon={comment:{pattern:/::.*/,greedy:!0},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},constant:/%(?:\.[ny]|[\w-]+)/,"class-name":/@(?:[a-z0-9-]*[a-z0-9])?|\*/i,function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,keyword:/\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; \ No newline at end of file +Prism.languages.hoon={comment:{pattern:/::.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/,greedy:!0},constant:/%(?:\.[ny]|[\w-]+)/,"class-name":/@(?:[a-z0-9-]*[a-z0-9])?|\*/i,function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,keyword:/\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}; \ No newline at end of file diff --git a/tests/languages/hoon/strings_with_escapes.test b/tests/languages/hoon/strings_with_escapes.test new file mode 100644 index 0000000000..5691f4f333 --- /dev/null +++ b/tests/languages/hoon/strings_with_escapes.test @@ -0,0 +1,7 @@ +"blah\"blah" + +---------------------------------------------------- + +[ + ["string", "\"blah\\\"blah\""] +]