Skip to content

Commit

Permalink
bug(coffeescript) fix freezing bug due to badly behaved regex (#2376)
Browse files Browse the repository at this point in the history
* bug(coffeescript) fix freezing bug due to badly behaved regex
  • Loading branch information
joshgoebel committed Feb 6, 2020
1 parent 6c20b9b commit 2430e37
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 2 deletions.
9 changes: 9 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ Developer Tools:
[Taufik Nurrohman]: https://github.com/taufik-nurrohman


## Version 9.18.1

Grammar Improvements:

- bug(coffeescript) fix freezing bug due to badly behaved regex (#2376) [Josh Goebel][]

[Josh Goebel]: https://github.com/yyyc514


## Version 9.18.0

New languages:
Expand Down
4 changes: 2 additions & 2 deletions src/languages/coffeescript.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,13 @@ function(hljs) {
contains: [SUBST, hljs.HASH_COMMENT_MODE]
},
{
begin: '//[gim]*',
begin: '//[gim]{0,3}(?=\\W)',
relevance: 0
},
{
// regex can't start with space to parse x / 2 / 3 as two divisions
// regex can't start with *, and it supports an "illegal" in the main mode
begin: /\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W)/
begin: /\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/
}
]
},
Expand Down
2 changes: 2 additions & 0 deletions test/markup/coffeescript/freeze_bug.expect.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
TEST@TEST(<span class="hljs-number">1</span>):online&gt; TEST TEST
version=<span class="hljs-number">3</span> meow=BLAH+BLAH\/BLAH+BLAH= data=BLAH+BLAH\/BLAH\/BLAH+BLAH\/BLAH\/BLAH+BLAH\/BLAH+BLAH+BLAH+BLAH+BLAH\/BLAH+BLAH+BLAH+BLAH+BLAH+BLAH+BLAH+BLAH\/BLAH\/BLAH\/BLAH+BLAH+BLAH\/BLAH\/QfwwjxZ+i3\/I0\/Ku4TtlywzkUCgjcKM8WDHbOlj0dMu8xQTEoucssL+cNi5migI6wdlvEzKlGsBcwT3QXAz4qdZ5n\/aJOxBSJ5XnIGfgeZr\/AJKEm7q\/wfU5hWp3bkXNaba1PMln76N2BWP9vb2OJYNT2wMsxhm\/RAr22gj\/crvDlg95T+MxcIsjz0mt2wXUr\/coqiNWmJ2jpmLwhF0HuLk9oHsc0tLh0JuaqGETFegnBAXdV3nrlOVZTSf3dz7Eotshzn8JbOXSKk12CITzFONf3BxDPyvBiEPIjFaIHGXsPKMGR6XqF4A3SGsbpzVsLRGy5Lb2OkumuBQMNArAZPhPkkAGBH9ZOkmBPJpFcBo4tRhuwgY9saa0VqInvjXE1Hyhffx8U5xwu28hztiebpuA3EyeJV+CPfpfEP3I1sQrtblSo9\/cZybBcVpaTO+Gbflksf1MW5RindyQwAJcygINFnAXwcOPfh8Y8ea8JzlVGrg2a6fPRTwESdM7E4mC56JaftlY8G5ia3v15RiZKNuQWXifbajeUh3NNCFcudprSnIIF2Edg\/PAM\/qUINyVmT4w5I9dbZQTKljpWEcmkNHzhtsDWArYHeigIUp7sU1gcyHfQgPzsJUW\/hsPTAOuYLo27g1EnobxqgGyVAKLn2LpTWsr9gA7Q0ecw8BNkX39DynSCOOWAWUMwdXd3aI9Gim23f2LcgKhamTDu4F8o8JJQtkpAW6cloK2vxjUUfMchHUO9ggWM6vB4MofHYeM0+<span class="hljs-number">2</span>HLN3ybCcD9blRxA\/GgggRnvX63IXASxF642CSPW7WsOUKhXmTO5LXkUwSS+yxyhHeKoidJiJ0S8qSORmW\/o1EZDiBg64cZES+dRB2iQrPEnCkELgWq9WADgygw+iVXSoMdehwDGWQmsZqI6EpWuQp7sqQczpSKNOqgmZ0I7ZRDi032XHgXv8FzUh4qLu9KQa8pAd84Egg0sOZxPhyZCpAz2joNl5SMi8NfcH73Fv5dkuDYwR1wy4YixHW2Tzdikx+AUqtI1GfR21vLjzxeq+XSUVlCcR068XTDkZSiFpgDiwiyoXNLGeIUK3P5\/<span class="hljs-number">1</span>aiAUxM\/wYBvbHAOsDapWM1pQnw8ieElyiUfEPPFn9z1zwnEwQ0FAygFmRAYvVe2LPM9RA0SYtyiV8+CGAUxYJFGEthpjMTHoE3ni6Zt3kfqoUNibvzVKHScNJjRGPM1jizE0\/nI2bqbsufL9gP1VlCcMf6u0akKKala2+YvO0KUYZyo44VvohfJH9jxRTzg7nrrGdyp0vmcCKyAqVP4sv\/\/<span class="hljs-number">6</span>DwMERIpKjkDjNJ\/WegPi9tUo7lHPxXUbitqD03TfLekjvtKBxWQ0Inc6ftbHHmrDpL45oDjk9Wl8NMwLCmNZTnKoEGin8WiS4PnJ3ukRuLQ7jJ6gXn+tGMI6GWSZPQreIJxLSXvi1Yr+SO\/lUN8eUBx9\/PIf45xHeZ8\/ENUpIbCJaRI4mKLQJ\/hsKwPdjG5KpnhkCfMnRMQ\/jIOEPQXVQQ8BCpiphLkgUP6T4hXtScADnqRM23VG8YM3gphAhwOpDaqIE7Ait1Hrg2EJSnQtHA2W93n6yD\/Ovz3+xDgVyc\/uuZaMNpgWsAZOq2yhur1yyg7c7Fra1XBEhVIAJp4tWnOWt5Or7h96C52iN5MnmoMHxWZttrtyHGCUjAg0qhVrOyBkNZn5x\/<span class="hljs-number">6</span>nPTiqKGsBNspNxHh5ULeXr00gLwHi3kEa9hUQmPDN1IBcGz6XcBSRrWcK5puw7ugsqEPsKmlNfQczRt88R8366QuuukO7CEGOQt4gWLDhHvJJmVDPKmQNJa5yRCc7wU0XmbK6CDUJo+zdWP0AeF\/M+EbD+S4Zn4gSu359jVdQ2kGxi7U1s26q9kMsPiRS4HB0w3lKtu4nh7PDtpqoTaaeMBFXjAR+eMMCTTpTZ3W6iPsz7n3e\/edbDf8HgVGX0\/lkJGz1pf+zylw4fh9R6B3bCbeNNf+ILO757GPePTsO+SjL2uKWa09pxv\/VUwWq5X\/YT8LnaMqvXrGQrRVYC+<span class="hljs-number">8</span>r3SGEPH31FC3cI5LT5QJxD+<span class="hljs-number">3</span>IW0XNZBumaKAdOSw\/<span class="hljs-number">7</span>HH3gmuXrkZLNKtYhhlM1hlzB4BU7FNTjfFOFkhlJWHJSvegzzXRxCAcwzdrpSLcPwfJDPrRwV520HBzZwyTuDDG01RS9tTsp5yGTtUuzlcZCZJeM8TRY5ag9Fc4oYL2Cxjr0S2knIPCJ3GJD2wvgv4zkJKvVQwUiQGgXTQ9fT6v3Eg3941dl64hnVF0aN2mqUuP1QTnykHKHVQgDkrpq8fSoppp9wXZ9IpVglQAIqY+a6doHrTxJQuaLAmiZGYnpQHHSDVQXglLvixwqbunUHIa0sVeljCf4OQJQX4gwPvvjfiG+wqB8qBy05vr\/zm4diki+kkHk\/<span class="hljs-number">9</span>tLwjI81HbYLrKQMMYGPuvWUo1iWxl5\/<span class="hljs-number">2</span>Thswjz5Z2EvaGWIF6db5T5\/oWdnEP2PAAHLQG3jQCScgeYJ1sz1z\/Oi26DpShz10HB88Y57\/tRpE8pJ7\/BCpJn2x1X8ISgqzvxLgVpzAuIa0HYL\/uGkCCk1vK2dS8Bud3F2HlvpsNRdRt1Kxzgnj5nMBPW1KN1drMTSl4Ob0FKLqUXJQRHiT+<span class="hljs-number">24</span>ETUJjNQV4Ez+BjEWVgwpyHQ5+kyrrtyhS282ArzL1ppCuxj+<span class="hljs-number">5</span>caSY6jdHbwEEKzCYvJj9t45hApImUrGFoA58o2\/LBNVsZl5IJiJ6izCsFuf5aZ\/Slw42Xa01RwchGYQUarj7JBEFTpFlRTzGX+uSeMfn4OmHKhPVAyfu26BdBCIhDHw1xGx5pkCfJIMjKKhOvOQyZndZpDy0B5JFngcIYcuQm+<span class="hljs-number">3</span>iBW8fjHyzuo1qrBCd6kZJ0+<span class="hljs-number">1</span>afwMQkkdztX2jauJnIYtrQIxKzrlBSoc464DIxe4G8aMSJLB4gWAjqC8yBQ38\/RYnIVIGC8SvqKrTYiZF78iWli3VxP5bTGCXZLMogdadfb41RC426viAIPRZ1W\/LNLTX1JjTX0gqyXDsUl7pLu3hA02Toddq\/lnLC\/yPC0ghyaGYTJTnZS+RO49LY30p0tN1y5UJ\/<span class="hljs-number">4</span>ORgA59gLtliSAqbZRvNLwbyLcdDDVL0e13NXkm4Qkd5Yd\/e+Xto9VDdIbhWh7XTMyTHecHkDm7aChHxdsAuT5Sx+o6pUZc+oPWMsm9Aruv6KzNvYjW33H2jWY3iOe9fbX5zCWEPupYhVhsq8ipFxA35DsT6Cc6IsEr\/nZS2aBV0ltZdEKVU0x+vLnTAjqla2Qb4qG7KkoZ8pOnlFMdcooU7AYRhXE+f+<span class="hljs-number">2</span>QC7kwXLEJ6A1AOxSm9rpoCtScmLTokSS1CSDIRgwOteeBAe0wG1oNt9Sbzz7giagCt+<span class="hljs-number">7</span>sdhbvQQKp9WYFOQAJSSUoC6bWgwnvA1\/ewJu3XkmhKtRa2oop12QQuxC4lkYv9G18mo0JQHmRcLeUFLoDZ+<span class="hljs-number">6</span>c6yMOhjPaK63LbHCUBAm05jk\/IMRTIp5am1sAaGHakYqsbQxxMO9tvzAE3gEChcbDWS3cyTQPpEJiJvlEDPexUwueFQMRaL0rsFdEiISR24qGMzr2ej9gKPnCJp6Vp92NJh5UQmka2hJeSK\/qAl56my567sGWsX4gpd0VshqUnjAXPqBwO\/pttFk60Spe6HO6QMnPTOERSVf43ahbrvX0fYc3QyE\/Z27Q16UyekV8oAbvPgkKDrQsg5yjjqMwL64szX7lRUcTgObmloiKP3zPQwQFMS9NFN+VrL49VkMBM5baVRH5L4tlBuAp9yqcWD56T8GRkKOmZOjRxeRCYGpIBL4WbUVsUsIM6NvDI1TneqRUJkNJauf0gudxiDjlwuuz\/S94wxWNHqUT6sJN+<span class="hljs-number">6</span>Xw5uyyarMFZuzcRt92Wnrlc4hfIBvww+X+GYE47i3sLDXPlG6uQtYvks2XI+x806hw\/v+<span class="hljs-number">0</span>zK40FvkRxNvwMSBr0tB5gtp6lSvYkv\/Q2NTiwRK61nsD6XphaBgDBSwnoNA1AZmHkL69inZ7mLz012wPx+X7eSx1L7d20XErQJqdHPTDywk5TkaOeMN2IyqmdozxFB6JHusVgtV2ghX2Akz5ZcCMwO5urDspFXdVFp9BYr44DcT\/FbjVH0ItbznaUE5cVqgUHkoQYasWltSA5\/HsKwfgyZGRuYMHz3fLr\/YPXfh4fLzxAeEYlhGKIE0MW0sBnZ1oT16XSiDyTOVDF31TmrmSZnZyREIGbIMSL+Ji7JAuuLClBaregWMvYfszTjkDfs82HKOd\/Y2VPC0A6ikrtKMFe1ZMjDXqFPsUthWgpMKdwZnb47FUddoflWbBk7\/U8qrAp5y4UGpGeiYpGFI7dulFwRR\/<span class="hljs-number">7</span>nxk5v4dfzXSREhcTtJWS9Vkeg4hhIqodPf33QBP+N4Tbl994lHy8lYLJDmNZxoz4aUs9gdg9dulYskJR7Ml3T\/C98et4O0VQ9Yb7BJaysl+vjC4etfcLpGH1JDUQkq\/S5r25Dg71sOnjgz9IcDbvbJ90icx8OVLFZ1Lglby0wWfz+<span class="hljs-number">8</span>MRfqDhCjD\/C5h86Z0Jz4AI6cbv5T6cxh0mTFnsbli22UtTn1z8gBmoyAhyzc1HoiF\/rtwtUJF01zgNVRzU3dFTTR7MFa\/ios6zihg2Xjt0ev1riyiNGOro1Kl3I1+CiLiLBSJhE2gS6wX8f86VLzAw\/XTV+<span class="hljs-number">1</span>Z3Qan6Mwdhp+ZVBBkcIVrQU\/U6fNmIWitevGROkHHKY8MhrUG1AqLwsZir7acWb0HbjMSiVpROUUw9754BtB53GH17X739xbKGzyMvh6cJIrWPvvMQKNyL2RVHm5XhwPIBgTSX059NQ9PQD+Ps91NIR0V+Bbs=
2 changes: 2 additions & 0 deletions test/markup/coffeescript/freeze_bug.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
TEST@TEST(1):online> TEST TEST
version=3 meow=BLAH+BLAH\/BLAH+BLAH= data=BLAH+BLAH\/BLAH\/BLAH+BLAH\/BLAH\/BLAH+BLAH\/BLAH+BLAH+BLAH+BLAH+BLAH\/BLAH+BLAH+BLAH+BLAH+BLAH+BLAH+BLAH+BLAH\/BLAH\/BLAH\/BLAH+BLAH+BLAH\/BLAH\/QfwwjxZ+i3\/I0\/Ku4TtlywzkUCgjcKM8WDHbOlj0dMu8xQTEoucssL+cNi5migI6wdlvEzKlGsBcwT3QXAz4qdZ5n\/aJOxBSJ5XnIGfgeZr\/AJKEm7q\/wfU5hWp3bkXNaba1PMln76N2BWP9vb2OJYNT2wMsxhm\/RAr22gj\/crvDlg95T+MxcIsjz0mt2wXUr\/coqiNWmJ2jpmLwhF0HuLk9oHsc0tLh0JuaqGETFegnBAXdV3nrlOVZTSf3dz7Eotshzn8JbOXSKk12CITzFONf3BxDPyvBiEPIjFaIHGXsPKMGR6XqF4A3SGsbpzVsLRGy5Lb2OkumuBQMNArAZPhPkkAGBH9ZOkmBPJpFcBo4tRhuwgY9saa0VqInvjXE1Hyhffx8U5xwu28hztiebpuA3EyeJV+CPfpfEP3I1sQrtblSo9\/cZybBcVpaTO+Gbflksf1MW5RindyQwAJcygINFnAXwcOPfh8Y8ea8JzlVGrg2a6fPRTwESdM7E4mC56JaftlY8G5ia3v15RiZKNuQWXifbajeUh3NNCFcudprSnIIF2Edg\/PAM\/qUINyVmT4w5I9dbZQTKljpWEcmkNHzhtsDWArYHeigIUp7sU1gcyHfQgPzsJUW\/hsPTAOuYLo27g1EnobxqgGyVAKLn2LpTWsr9gA7Q0ecw8BNkX39DynSCOOWAWUMwdXd3aI9Gim23f2LcgKhamTDu4F8o8JJQtkpAW6cloK2vxjUUfMchHUO9ggWM6vB4MofHYeM0+2HLN3ybCcD9blRxA\/GgggRnvX63IXASxF642CSPW7WsOUKhXmTO5LXkUwSS+yxyhHeKoidJiJ0S8qSORmW\/o1EZDiBg64cZES+dRB2iQrPEnCkELgWq9WADgygw+iVXSoMdehwDGWQmsZqI6EpWuQp7sqQczpSKNOqgmZ0I7ZRDi032XHgXv8FzUh4qLu9KQa8pAd84Egg0sOZxPhyZCpAz2joNl5SMi8NfcH73Fv5dkuDYwR1wy4YixHW2Tzdikx+AUqtI1GfR21vLjzxeq+XSUVlCcR068XTDkZSiFpgDiwiyoXNLGeIUK3P5\/1aiAUxM\/wYBvbHAOsDapWM1pQnw8ieElyiUfEPPFn9z1zwnEwQ0FAygFmRAYvVe2LPM9RA0SYtyiV8+CGAUxYJFGEthpjMTHoE3ni6Zt3kfqoUNibvzVKHScNJjRGPM1jizE0\/nI2bqbsufL9gP1VlCcMf6u0akKKala2+YvO0KUYZyo44VvohfJH9jxRTzg7nrrGdyp0vmcCKyAqVP4sv\/\/6DwMERIpKjkDjNJ\/WegPi9tUo7lHPxXUbitqD03TfLekjvtKBxWQ0Inc6ftbHHmrDpL45oDjk9Wl8NMwLCmNZTnKoEGin8WiS4PnJ3ukRuLQ7jJ6gXn+tGMI6GWSZPQreIJxLSXvi1Yr+SO\/lUN8eUBx9\/PIf45xHeZ8\/ENUpIbCJaRI4mKLQJ\/hsKwPdjG5KpnhkCfMnRMQ\/jIOEPQXVQQ8BCpiphLkgUP6T4hXtScADnqRM23VG8YM3gphAhwOpDaqIE7Ait1Hrg2EJSnQtHA2W93n6yD\/Ovz3+xDgVyc\/uuZaMNpgWsAZOq2yhur1yyg7c7Fra1XBEhVIAJp4tWnOWt5Or7h96C52iN5MnmoMHxWZttrtyHGCUjAg0qhVrOyBkNZn5x\/6nPTiqKGsBNspNxHh5ULeXr00gLwHi3kEa9hUQmPDN1IBcGz6XcBSRrWcK5puw7ugsqEPsKmlNfQczRt88R8366QuuukO7CEGOQt4gWLDhHvJJmVDPKmQNJa5yRCc7wU0XmbK6CDUJo+zdWP0AeF\/M+EbD+S4Zn4gSu359jVdQ2kGxi7U1s26q9kMsPiRS4HB0w3lKtu4nh7PDtpqoTaaeMBFXjAR+eMMCTTpTZ3W6iPsz7n3e\/edbDf8HgVGX0\/lkJGz1pf+zylw4fh9R6B3bCbeNNf+ILO757GPePTsO+SjL2uKWa09pxv\/VUwWq5X\/YT8LnaMqvXrGQrRVYC+8r3SGEPH31FC3cI5LT5QJxD+3IW0XNZBumaKAdOSw\/7HH3gmuXrkZLNKtYhhlM1hlzB4BU7FNTjfFOFkhlJWHJSvegzzXRxCAcwzdrpSLcPwfJDPrRwV520HBzZwyTuDDG01RS9tTsp5yGTtUuzlcZCZJeM8TRY5ag9Fc4oYL2Cxjr0S2knIPCJ3GJD2wvgv4zkJKvVQwUiQGgXTQ9fT6v3Eg3941dl64hnVF0aN2mqUuP1QTnykHKHVQgDkrpq8fSoppp9wXZ9IpVglQAIqY+a6doHrTxJQuaLAmiZGYnpQHHSDVQXglLvixwqbunUHIa0sVeljCf4OQJQX4gwPvvjfiG+wqB8qBy05vr\/zm4diki+kkHk\/9tLwjI81HbYLrKQMMYGPuvWUo1iWxl5\/2Thswjz5Z2EvaGWIF6db5T5\/oWdnEP2PAAHLQG3jQCScgeYJ1sz1z\/Oi26DpShz10HB88Y57\/tRpE8pJ7\/BCpJn2x1X8ISgqzvxLgVpzAuIa0HYL\/uGkCCk1vK2dS8Bud3F2HlvpsNRdRt1Kxzgnj5nMBPW1KN1drMTSl4Ob0FKLqUXJQRHiT+24ETUJjNQV4Ez+BjEWVgwpyHQ5+kyrrtyhS282ArzL1ppCuxj+5caSY6jdHbwEEKzCYvJj9t45hApImUrGFoA58o2\/LBNVsZl5IJiJ6izCsFuf5aZ\/Slw42Xa01RwchGYQUarj7JBEFTpFlRTzGX+uSeMfn4OmHKhPVAyfu26BdBCIhDHw1xGx5pkCfJIMjKKhOvOQyZndZpDy0B5JFngcIYcuQm+3iBW8fjHyzuo1qrBCd6kZJ0+1afwMQkkdztX2jauJnIYtrQIxKzrlBSoc464DIxe4G8aMSJLB4gWAjqC8yBQ38\/RYnIVIGC8SvqKrTYiZF78iWli3VxP5bTGCXZLMogdadfb41RC426viAIPRZ1W\/LNLTX1JjTX0gqyXDsUl7pLu3hA02Toddq\/lnLC\/yPC0ghyaGYTJTnZS+RO49LY30p0tN1y5UJ\/4ORgA59gLtliSAqbZRvNLwbyLcdDDVL0e13NXkm4Qkd5Yd\/e+Xto9VDdIbhWh7XTMyTHecHkDm7aChHxdsAuT5Sx+o6pUZc+oPWMsm9Aruv6KzNvYjW33H2jWY3iOe9fbX5zCWEPupYhVhsq8ipFxA35DsT6Cc6IsEr\/nZS2aBV0ltZdEKVU0x+vLnTAjqla2Qb4qG7KkoZ8pOnlFMdcooU7AYRhXE+f+2QC7kwXLEJ6A1AOxSm9rpoCtScmLTokSS1CSDIRgwOteeBAe0wG1oNt9Sbzz7giagCt+7sdhbvQQKp9WYFOQAJSSUoC6bWgwnvA1\/ewJu3XkmhKtRa2oop12QQuxC4lkYv9G18mo0JQHmRcLeUFLoDZ+6c6yMOhjPaK63LbHCUBAm05jk\/IMRTIp5am1sAaGHakYqsbQxxMO9tvzAE3gEChcbDWS3cyTQPpEJiJvlEDPexUwueFQMRaL0rsFdEiISR24qGMzr2ej9gKPnCJp6Vp92NJh5UQmka2hJeSK\/qAl56my567sGWsX4gpd0VshqUnjAXPqBwO\/pttFk60Spe6HO6QMnPTOERSVf43ahbrvX0fYc3QyE\/Z27Q16UyekV8oAbvPgkKDrQsg5yjjqMwL64szX7lRUcTgObmloiKP3zPQwQFMS9NFN+VrL49VkMBM5baVRH5L4tlBuAp9yqcWD56T8GRkKOmZOjRxeRCYGpIBL4WbUVsUsIM6NvDI1TneqRUJkNJauf0gudxiDjlwuuz\/S94wxWNHqUT6sJN+6Xw5uyyarMFZuzcRt92Wnrlc4hfIBvww+X+GYE47i3sLDXPlG6uQtYvks2XI+x806hw\/v+0zK40FvkRxNvwMSBr0tB5gtp6lSvYkv\/Q2NTiwRK61nsD6XphaBgDBSwnoNA1AZmHkL69inZ7mLz012wPx+X7eSx1L7d20XErQJqdHPTDywk5TkaOeMN2IyqmdozxFB6JHusVgtV2ghX2Akz5ZcCMwO5urDspFXdVFp9BYr44DcT\/FbjVH0ItbznaUE5cVqgUHkoQYasWltSA5\/HsKwfgyZGRuYMHz3fLr\/YPXfh4fLzxAeEYlhGKIE0MW0sBnZ1oT16XSiDyTOVDF31TmrmSZnZyREIGbIMSL+Ji7JAuuLClBaregWMvYfszTjkDfs82HKOd\/Y2VPC0A6ikrtKMFe1ZMjDXqFPsUthWgpMKdwZnb47FUddoflWbBk7\/U8qrAp5y4UGpGeiYpGFI7dulFwRR\/7nxk5v4dfzXSREhcTtJWS9Vkeg4hhIqodPf33QBP+N4Tbl994lHy8lYLJDmNZxoz4aUs9gdg9dulYskJR7Ml3T\/C98et4O0VQ9Yb7BJaysl+vjC4etfcLpGH1JDUQkq\/S5r25Dg71sOnjgz9IcDbvbJ90icx8OVLFZ1Lglby0wWfz+8MRfqDhCjD\/C5h86Z0Jz4AI6cbv5T6cxh0mTFnsbli22UtTn1z8gBmoyAhyzc1HoiF\/rtwtUJF01zgNVRzU3dFTTR7MFa\/ios6zihg2Xjt0ev1riyiNGOro1Kl3I1+CiLiLBSJhE2gS6wX8f86VLzAw\/XTV+1Z3Qan6Mwdhp+ZVBBkcIVrQU\/U6fNmIWitevGROkHHKY8MhrUG1AqLwsZir7acWb0HbjMSiVpROUUw9754BtB53GH17X739xbKGzyMvh6cJIrWPvvMQKNyL2RVHm5XhwPIBgTSX059NQ9PQD+Ps91NIR0V+Bbs=
10 changes: 10 additions & 0 deletions test/markup/coffeescript/regex.expect.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
<span class="hljs-comment"># Regexps</span>
x = <span class="hljs-regexp">//</span>
x = (<span class="hljs-regexp">//</span>)
x = (<span class="hljs-regexp">/test/</span>)
x = <span class="hljs-regexp">//mig</span>
x = <span class="hljs-regexp">//gim</span>
x = <span class="hljs-regexp">/something/gim</span>
x = <span class="hljs-regexp">/\//</span>
x = <span class="hljs-regexp">/\n/</span>
x = <span class="hljs-regexp">/ab\/ ab/</span>
x = f <span class="hljs-regexp">/6 * 2/</span> - <span class="hljs-number">3</span>
x = f <span class="hljs-regexp">/foo * 2/gm</span>
x = <span class="hljs-keyword">if</span> <span class="hljs-literal">true</span> <span class="hljs-keyword">then</span> <span class="hljs-regexp">/\n/</span> <span class="hljs-keyword">else</span> <span class="hljs-regexp">/[.,]+/</span>
x = <span class="hljs-regexp">///^key-<span class="hljs-subst">#{key}</span>-\d+///</span>

<span class="hljs-comment"># not a Regexp</span>
x = //test
x = /boo/test
10 changes: 10 additions & 0 deletions test/markup/coffeescript/regex.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
# Regexps
x = //
x = (//)
x = (/test/)
x = //mig
x = //gim
x = /something/gim
x = /\//
x = /\n/
x = /ab\/ ab/
x = f /6 * 2/ - 3
x = f /foo * 2/gm
x = if true then /\n/ else /[.,]+/
x = ///^key-#{key}-\d+///

# not a Regexp
x = //test
x = /boo/test

0 comments on commit 2430e37

Please sign in to comment.