From bcb2e2c82ca86cbeeff435901be9f8ca35604163 Mon Sep 17 00:00:00 2001 From: Wei Ting <59229084+hoonweiting@users.noreply.github.com> Date: Mon, 24 Jan 2022 21:26:02 +0800 Subject: [PATCH] AutoIt: Allow hyphen in directive (#3308) --- components/prism-autoit.js | 2 +- components/prism-autoit.min.js | 2 +- tests/languages/autoit/directive_feature.test | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/components/prism-autoit.js b/components/prism-autoit.js index 2eb1f1eb5f..151c657690 100644 --- a/components/prism-autoit.js +++ b/components/prism-autoit.js @@ -19,7 +19,7 @@ Prism.languages.autoit = { } }, 'directive': { - pattern: /(^[\t ]*)#\w+/m, + pattern: /(^[\t ]*)#[\w-]+/m, lookbehind: true, alias: 'keyword' }, diff --git a/components/prism-autoit.min.js b/components/prism-autoit.min.js index 93e922c317..a732842688 100644 --- a/components/prism-autoit.min.js +++ b/components/prism-autoit.min.js @@ -1 +1 @@ -Prism.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,lookbehind:!0}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#\w+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:False|True)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,punctuation:/[\[\]().,:]/}; \ No newline at end of file +Prism.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,lookbehind:!0}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#[\w-]+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:False|True)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,punctuation:/[\[\]().,:]/}; \ No newline at end of file diff --git a/tests/languages/autoit/directive_feature.test b/tests/languages/autoit/directive_feature.test index 9219f700a0..af7e4ece85 100644 --- a/tests/languages/autoit/directive_feature.test +++ b/tests/languages/autoit/directive_feature.test @@ -1,13 +1,17 @@ #NoTrayIcon #OnAutoItStartRegister "Example" +#include-once +#include ---------------------------------------------------- [ ["directive", "#NoTrayIcon"], - ["directive", "#OnAutoItStartRegister"], ["string", ["\"Example\""]] + ["directive", "#OnAutoItStartRegister"], ["string", ["\"Example\""]], + ["directive", "#include-once"], + ["directive", "#include"], ["url", ""] ] ---------------------------------------------------- -Checks for directives. \ No newline at end of file +Checks for directives.