AutoIt: Allow hyphen in directive (#3308)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
diff --git a/components/prism-autoit.js b/components/prism-autoit.js
index 2eb1f1e..151c657 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 93e922c..a732842 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 9219f70..af7e4ec 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 <MsgBoxConstants.au3>
----------------------------------------------------
[
["directive", "#NoTrayIcon"],
- ["directive", "#OnAutoItStartRegister"], ["string", ["\"Example\""]]
+ ["directive", "#OnAutoItStartRegister"], ["string", ["\"Example\""]],
+ ["directive", "#include-once"],
+ ["directive", "#include"], ["url", "<MsgBoxConstants.au3>"]
]
----------------------------------------------------
-Checks for directives.
\ No newline at end of file
+Checks for directives.