From 560bdee3efbae33b9c8cfbcc58a9246046c7576a Mon Sep 17 00:00:00 2001 From: Mark Wiemer <7833360+mark-wiemer@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:52:20 -0700 Subject: [PATCH] Revert "Merge thqby 2.5.2: Add "debug configs" command and more (#513)" This reverts commit 366fcad60b09a91a272028cb7f9bc31691ff187b. --- Changelog.md | 6 - ahk2 | 2 +- language/ahk2.tmLanguage.yaml | 890 +++++++++++++-------------- language/samples/0-v2-demo.ahk2.snap | 22 +- package-lock.json | 30 +- package.json | 141 ++--- package.nls.json | 1 - package.nls.zh-cn.json | 1 - 8 files changed, 531 insertions(+), 562 deletions(-) diff --git a/Changelog.md b/Changelog.md index 3976156c..58a190d9 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,11 +1,5 @@ # Changelog -## 6.2.0 - unreleased 🫡 - -Update thqby's extension from 2.4.9 to 2.5.2: - -- todo add tests! - ## 6.1.1 - 2024-09-22 😤 - No changes, just working around technical limitations with VS Marketplace as 6.1.0 failed without detailed errors. diff --git a/ahk2 b/ahk2 index b6bd720d..651e79b4 160000 --- a/ahk2 +++ b/ahk2 @@ -1 +1 @@ -Subproject commit b6bd720db8af7bdb365a46f52cc2fb976b223f0b +Subproject commit 651e79b4e24caf1512319a768deae098397f9a39 diff --git a/language/ahk2.tmLanguage.yaml b/language/ahk2.tmLanguage.yaml index a0a301a1..689b383a 100644 --- a/language/ahk2.tmLanguage.yaml +++ b/language/ahk2.tmLanguage.yaml @@ -1,7 +1,7 @@ # Licensed under GNU GPLv3. For details, see LICENSE file. # Adapted from https://github.com/thqby/vscode-autohotkey2-lsp/blob/7b0ec9eccd57d05c8f75edf204928fe084e65552/syntaxes/ahk2.tmLanguage.json --- -name: autohotkey2 +name: AutoHotkey v2 scopeName: source.ahk2 patterns: - include: '#compiler_directive' @@ -9,18 +9,42 @@ patterns: - include: '#hotkey_hotstring' - include: '#switch_statement' - include: '#object_property' + - match: "(?=+!]+ | \\(\\) | \\[\\]))\n)\n[ \t]*(\\() # opening bracket" + begin: + "(?x)\n(?:\n (?:\n\t(?=\\s)(?=+!]+ | \\(\\) + | \\[\\]))\n)\n\\s*(\\() # opening bracket" beginCaptures: '1': name: variable.other.ahk2 '2': name: punctuation.section.parens.begin.bracket.round.initialization.ahk2 - end: \) + end: "\\)" endCaptures: '0': name: punctuation.section.parens.end.bracket.round.initialization.ahk2 patterns: - - include: $base + - include: '$base' - begin: '{' beginCaptures: '0': @@ -60,12 +88,26 @@ repository: name: punctuation.section.block.end.ahk2 patterns: - include: '#block_innards' - - include: $base + - include: '$base' case_statement: name: meta.conditional.case.ahk2 - begin: "(?<=^[ \t]*\\{?[ \t]*)((?i:case))(?!\\w)" + begin: "((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?' - endCaptures: - '0': - name: punctuation.definition.typeparameters.end.ahk2 - patterns: - - match: \w+ - name: entity.name.type.parameter - - match: ',' - name: punctuation.separator.comma.ahk2 - - match: = - name: keyword.operator.assignment.ahk2 - - match: \. - name: punctuation.accessor.ahk2 - - match: \| - name: keyword.operator.ahk2 - - match: "\\b((?i:extends))([ \t]+([\\w.]+))?" + - match: "\\b((?i:extends))(\\s+([\\w.]+))?" captures: '1': name: storage.modifier.ahk2 '3': patterns: - - match: \.(?=\w) + - match: "\\.(?=\\w)" name: punctuation.accessor.ahk2 - include: '#default_classes' - - match: '\b[^.]+\b' + - match: "\\b[^.]+\\b" name: entity.name.type.class.ahk2 - - begin: '\{' + - begin: "\\{" beginCaptures: '0': name: punctuation.definition.block.class.begin.ahk2 @@ -147,51 +169,51 @@ repository: patterns: - include: '#compiler_directive' - include: '#comments' - - match: "(?<=^[ \t]*)(?i:static)(?=[ \t]+\\w)" + - match: "(?<=^\\s*)(?i:static)(?=\\s+\\w)" name: storage.modifier.ahk2 - - begin: "(?<=^[ \t]*(?i:static[ \t]+)?)(\\w+)[ \t]*(=>)([ \t]+(;.*)\\n|[ \t]*\\n)?" + - begin: "(?<=^\\s*(?i:static\\s+)?)(\\w+)\\s*(=>)(\\s+(;.*)\\n|\\s*\\n)?" beginCaptures: '1': patterns: - - match: '\b(?i:__item)\b' + - match: "\\b(?i:__item)\\b" name: storage.type.metafunction.ahk2 name: variable.other.property.ahk2 '2': name: storage.type.function.arrow.ahk2 '4': - name: comment.line.ahk2 - end: (?=\n) + name: comment.inline.ahk2 + end: "(?=\\n)" name: meta.block.prototype.body.ahk2 patterns: - include: '#line_continue' - - include: $base - - match: "(?<=(^[ \t]*(?i:static[ \t]+)?|,[ \t]*))\\w+(?=[ \t]*:=)" + - include: '$base' + - match: "(?<=(^\\s*(?i:static\\s+)?|,\\s*))\\w+(?=\\s*:=)" captures: '0': patterns: - - match: '\b(?i:__item)\b' + - match: "\\b(?i:__item)\\b" name: storage.type.metafunction.ahk2 name: variable.other.property.ahk2 - - begin: "(?<=^[ \t]*(?i:static[ \t]+)?)(\\w+)(?=\\()" + - begin: "(?<=^\\s*(?i:static\\s+)?)(\\w+)(?=\\()" beginCaptures: '1': patterns: - - match: '\b(__(?i:new|init|enum|get|call|set|delete))\b' + - match: "\\b(__(?i:new|init|enum|get|call|set|delete))\\b" name: storage.type.metafunction.ahk2 name: entity.name.function.method.ahk2 - end: (?=\n) + end: "(?=\\n)" name: meta.block.method.ahk2 patterns: - - begin: \G\( + - begin: "\\G\\(" beginCaptures: '0': name: punctuation.definition.parameters.begin.ahk2 - end: \) + end: "\\)" endCaptures: '0': name: punctuation.definition.parameters.end.ahk2 patterns: - - include: $base + - include: '$base' - begin: '{' beginCaptures: '0': @@ -202,43 +224,43 @@ repository: name: punctuation.definition.block.method.end.ahk2 name: meta.block.method.body.ahk2 patterns: - - include: $base - - begin: "(=>)([ \t]+(;.*)\\n|[ \t]*\\n)?" + - include: '$base' + - begin: "(=>)(\\s+(;.*)\\n|\\s*\\n)?" beginCaptures: '1': name: storage.type.function.arrow.ahk2 '3': - name: comment.line.ahk2 - end: (?=\n) + name: comment.inline.ahk2 + end: "(?=\\n)" name: meta.block.method.body.ahk2 patterns: - include: '#line_continue' - - include: $base + - include: '$base' - include: '#compiler_directive' - include: '#comments' - - begin: "(?<=^[ \t]*(?i:static[ \t]+)?)\\b\\w+\\b(?=(\\[|[ \t]*\\{?([ \t];.*)?\\n))" + - begin: "(?<=^\\s*(?i:static\\s+)?)\\b\\w+\\b(?=(\\[|\\s*\\{?(\\s;.*)?\\n))" beginCaptures: '0': patterns: - - match: '\b(?i:__item)\b' + - match: "\\b(?i:__item)\\b" name: storage.type.metafunction.ahk2 name: variable.other.property.ahk2 name: meta.block.property.ahk2 - end: (?=\n) + end: "(?=\\n)" endCaptures: '1': name: punctuation.definition.block.property.end.ahk2 patterns: - - begin: '\G\[' + - begin: "\\G\\[" beginCaptures: '0': name: punctuation.definition.parameters.begin.ahk2 - end: '\]' + end: "\\]" endCaptures: '0': name: punctuation.definition.parameters.end.ahk2 patterns: - - include: $base + - include: '$base' - include: '#compiler_directive' - include: '#comments' - begin: '{' @@ -251,182 +273,163 @@ repository: name: punctuation.definition.block.property.end.ahk2 name: meta.block.property.body.ahk2 patterns: - - begin: "(?<=^[ \t]*)(?i:set)\\b" + - begin: "(?<=^\\s*)(?i:set)\\b" beginCaptures: '0': name: storage.type.setter.ahk2 - end: (?=\n) + end: "(?=\\n)" patterns: - include: '#compiler_directive' - include: '#comments' - begin: '{' beginCaptures: '0': - name: >- - punctuation.definition.block.property.setter.begin.ahk2 + name: punctuation.definition.block.property.setter.begin.ahk2 name: meta.block.property.setter.body.ahk2 end: '}' endCaptures: '0': - name: >- - punctuation.definition.block.property.setter.end.ahk2 + name: punctuation.definition.block.property.setter.end.ahk2 patterns: - - include: $base - - begin: "(=>)([ \t]+(;.*)\\n|[ \t]*\\n)?" + - include: '$base' + - begin: "(=>)(\\s+(;.*)\\n|\\s*\\n)?" beginCaptures: '1': name: storage.type.function.arrow.ahk2 '3': - name: comment.line.ahk2 + name: comment.inline.ahk2 name: meta.block.property.setter.body.ahk2 - end: (?=\n) + end: "(?=\\n)" patterns: - include: '#line_continue' - - include: $base - - begin: "(?<=^[ \t]*)(?i:get)\\b" + - include: '$base' + - begin: "(?<=^\\s*)(?i:get)\\b" beginCaptures: '0': name: storage.type.getter.ahk2 - end: (?=\n) + end: "(?=\\n)" patterns: - include: '#compiler_directive' - include: '#comments' - begin: '{' beginCaptures: '0': - name: >- - punctuation.definition.block.property.getter.begin.ahk2 + name: punctuation.definition.block.property.getter.begin.ahk2 name: meta.block.property.getter.body.ahk2 end: '}' endCaptures: '0': - name: >- - punctuation.definition.block.property.getter.end.ahk2 + name: punctuation.definition.block.property.getter.end.ahk2 patterns: - - include: $base - - begin: "(=>)([ \t]+(;.*)\\n|[ \t]*\\n)?" + - include: '$base' + - begin: "(=>)(\\s+(;.*)\\n|\\s*\\n)?" beginCaptures: '1': name: storage.type.function.arrow.ahk2 '3': - name: comment.line.ahk2 + name: comment.inline.ahk2 name: meta.block.property.getter.body.ahk2 - end: (?=\n) + end: "(?=\\n)" patterns: - include: '#line_continue' - - include: $base - - include: $base - - begin: "(=>)([ \t]+(;.*)\\n|[ \t]*\\n)?" + - include: '$base' + - include: '$base' + - begin: "(=>)(\\s+(;.*)\\n|\\s*\\n)?" beginCaptures: '1': name: storage.type.function.arrow.ahk2 '3': - name: comment.line.ahk2 + name: comment.inline.ahk2 name: meta.block.property.getter.body.ahk2 - end: (?=\n) + end: "(?=\\n)" patterns: - include: '#line_continue' - - include: $base + - include: '$base' - include: '#variables' - include: '#class_block' - include: '#line_continue' - - include: $base + - include: '$base' comments: patterns: - - name: comment.block.jsdoc.ahk2 - begin: "^[ \t]*(\\/\\*\\*)(?!\\/)" + - name: comment.block.ahk2 + begin: "^\\s*(\\/\\*)" beginCaptures: '1': name: punctuation.definition.comment.begin.ahk2 - end: "(^[ \t]*\\*\\/|(\\*\\/)[ \t]*$)" + end: "(^\\s*\\*\\/|(\\*\\/)\\s*$)" endCaptures: '1': name: punctuation.definition.comment.end.ahk2 patterns: - include: '#docblock' - - name: comment.block.ahk2 - begin: "(?<=^[ \t]*)(\\/\\*)" - beginCaptures: - '1': - name: punctuation.definition.comment.begin.ahk2 - end: "(^[ \t]*\\*\\/|(\\*\\/)[ \t]*$)" - endCaptures: - '1': - name: punctuation.definition.comment.end.ahk2 - name: comment.line.ahk2 - match: "(?<=(^[ \t]*|[ \t]))(;.*)" + match: "(?<=(^\\s*|\\s))(;.*)" compiler_directive: patterns: - name: comment.block.ahk2 - begin: "^[ \t]*(\\/\\*)((?i:@ahk2exe-keep))" + begin: "^\\s*(\\/\\*)((?i:@ahk2exe-keep))" beginCaptures: '1': name: punctuation.definition.comment.begin.ahk2 '2': name: keyword.control.directive.conditional.ahk2 - end: "^[ \t]*(\\*\\/)" + end: "^\\s*(\\*\\/)" endCaptures: '1': name: punctuation.definition.comment.end.ahk2 - - match: "(?<=^[ \t]*);[ \t]*@(?i:ahk2exe-ignore(begin|end))" + - match: "^\\s*;@(?i:ahk2exe-ignore(begin|end))" name: keyword.control.directive.ahk2 - - begin: "^[ \t]*(;[ \t]*@(?i:ahk2exe-let))\\b" + - begin: "^\\s*(;@(?i:ahk2exe-let))\\s" beginCaptures: '0': name: keyword.control.directive.ahk2 - end: (?=\n) + end: "(?=\\n)" patterns: - include: '#strings' - include: '#numbers' - - match: "\\b([_[:alpha:]][_[:alnum:]]*)(?=[ \t]*=)" + - match: "\\b([_[:alpha:]][_[:alnum:]]*)(?=\\s*=)" name: constant.language.ahk2 - - match: = + - match: '=' name: keyword.operator.assignment.ahk2 - match: ',' name: punctuation.separator.comma.ahk2 - - begin: "^[ \t]*((;[ \t]*@)(?i:include))\\b" + - match: "^\\s*;@(?i:ahk2exe-\\w+)\\b(\\s.*)?" + name: keyword.control.directive.ahk2 + captures: + '1': + name: string.literal.ahk2 + - begin: "^\\s*((;@)(?i:include))\\b" beginCaptures: '1': name: keyword.control.directive.ahk2 '2': name: punctuation.definition.directive.ahk2 - end: (?=\n) + end: "(?=\\n)" name: meta.preprocessor.include.ahk2 patterns: - - begin: "[^ \t;]" - end: "(?=(?:[ \t]+;))|(?=\\n)" - name: string.literal.include.ahk2 - - match: "(?:[ \t]+);.*" - name: comment.line.ahk2 - - match: "(?<=^[ \t]*);[ \t]*@(?i:ahk2exe-\\w+)\\b([ \t].*)?" - name: keyword.control.directive.ahk2 - captures: - '1': - name: string.literal.ahk2 - - match: "(?<=^|[ \t]);[ \t]*@(?:[\\w\\-]+)\\b([ \t]+(.*))?" - name: keyword.control.directive.ahk2 - captures: - '2': + - begin: "[^\\s;]" + end: "(?=(?:\\s+;))|(?=\\n)" + name: meta.embedded.ahk2 string.literal.include.ahk2 + - match: "(?:\\s+);.*" name: comment.line.ahk2 conditional_context: patterns: - - include: $self + - include: '$self' - include: '#block_innards' continuation_section: name: meta.parens.continuation_section.ahk2 - begin: "(?<=^[ \t]*)(\\()((((?i:join)[^ \t]*|[^ \t();]+)(?=[ \t]|$)|[ \t]+)*)((?<=[ \t]);.*)?$" + begin: "(?<=^\\s*)(\\()(((?i:join)\\S*(?=\\s|$)|[^()]+(?=\\s|$))*)$" beginCaptures: '1': name: punctuation.section.parens.begin.ahk2 '2': + name: string.options.ahk2 markup.italic patterns: - - match: "(?<=[ \t]|^[ \t]*\\()(?i:c(om(ments?)?)?|[lr]trim0?|`|join(`s|[^ \t]){0,15})(?=[ \t]|$)" - name: string.options.ahk2 markup.italic - - match: "[^ \t]+" + - match: "(?<=\\s);.*$" + name: comment.inline.ahk2 + - match: "(?<=(\\s|^\\s*\\())((?!(?i:(c(om(ments)?)?|[lr]trim0?|`|join(`s|\\S){0,15}))(?=(\\s|$)))(\\S+)(?=(\\s|$)))" name: invalid.options.ahk2 markup.strikethrough - '5': - name: comment.line.ahk2 - end: "^[ \t]*(\\))" + end: "^\\s*(\\))" endCaptures: '1': name: punctuation.section.parens.end.ahk2 @@ -438,7 +441,7 @@ repository: beginCaptures: '1': name: punctuation.definition.string.begin.ahk2 - end: "(\\1)|(?=^[ \t]*\\))" + end: "(\\1)|(?=^\\s*\\))" endCaptures: '1': name: punctuation.definition.string.end.ahk2 @@ -450,37 +453,53 @@ repository: name: punctuation.section.block.begin.ahk2 - match: '}' name: punctuation.section.block.end.ahk2 - - match: '\[' + - match: "\\[" name: punctuation.section.parens.begin.ahk2 - - match: '\]' + - match: "\\]" name: punctuation.section.parens.end.ahk2 - include: '#parens' - - include: $base + - include: '$base' default_classes: patterns: - - begin: '(?- - (\.)(?i)(ActiveX|Button|CheckBox|ComboBox|Control|Custom|DateTime|DDL|Edit|GroupBox|Hotkey|Link|List|ListBox|ListView|MonthCal|Pic|Progress|Radio|Slider|StatusBar|Tab|Text|TreeView|UpDown)\b + - include: '#compiler_directive' + - include: '#comments' + - match: "(\\.)(?i)(ActiveX|Button|CheckBox|ComboBox|Control|Custom|DateTime|DDL|Edit|GroupBox|Hotkey|Link|List|ListBox|ListView|MonthCal|Pic|Progress|Radio|Slider|StatusBar|Tab|Text|TreeView|UpDown)\\b" captures: '1': name: punctuation.accessor.ahk2 '2': name: support.class.guicontrol.ahk2 + - match: "\\." + name: punctuation.accessor.ahk2 - name: support.class.ahk2 - match: >- - (?(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?) + begin: "\\G(<)caption(>)" beginCaptures: '0': name: entity.name.tag.inline.jsdoc @@ -561,7 +580,7 @@ repository: name: punctuation.definition.bracket.angle.begin.jsdoc '2': name: punctuation.definition.bracket.angle.end.jsdoc - end: ()|(?=\*/) + end: "()|(?=\\*/)" endCaptures: '0': name: entity.name.tag.inline.jsdoc @@ -570,23 +589,22 @@ repository: '2': name: punctuation.definition.bracket.angle.end.jsdoc patterns: - - match: ^\s*\*\s + - match: "^\\s*\\*\\s" name: comment.block.ahk2 - - include: $base - - name: meta.overload.ahk2 - begin: ((@)overload)\s+ - end: (?=\n|^\s*\*) + - include: '$base' + - name: meta.embedded.ahk2 meta.overload.ahk2 + begin: "((@)overload)\\s+" + end: "(?=\\n|^\\s*\\*)" beginCaptures: '1': name: storage.type.class.jsdoc '2': name: punctuation.definition.block.tag.jsdoc patterns: - - include: $base - - match: >- - (?x) ((@)kind) \s+ - (class|constant|event|external|file|function|member|mixin|module|namespace|typedef) - \b + - include: '$base' + - match: + "(?x) ((@)kind) \\s+ (class|constant|event|external|file|function|member|mixin|module|namespace|typedef) + \\b" captures: '1': name: storage.type.class.jsdoc @@ -649,34 +667,51 @@ repository: name: punctuation.definition.block.tag.jsdoc '3': name: variable.other.jsdoc - - begin: '((@)typedef)\s+(?={)' + - match: |- + (?x) + ( + (@) + (?:arg|argument|const|constant|member|namespace|param|var) + ) + \s+ + ( + [A-Za-z_$] + [\w$.\[\]]* + ) + captures: + '1': + name: storage.type.class.jsdoc + '2': + name: punctuation.definition.block.tag.jsdoc + '3': + name: variable.other.jsdoc + - begin: "((@)typedef)\\s+(?={)" beginCaptures: '1': name: storage.type.class.jsdoc '2': name: punctuation.definition.block.tag.jsdoc - end: '(?=\s|\*/|[^{}\[\]A-Za-z_$])' + end: "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])" patterns: - include: '#jsdoctype' - name: entity.name.type.instance.jsdoc - match: '(?:[^@\s*/]|\*[^/])+' - - begin: >- - ((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\s+(?=[\[{]|(?!\d)\w) + match: "(?:[^@\\s*/]|\\*[^/])+" + - begin: "((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\s+(?={)" beginCaptures: '1': name: storage.type.class.jsdoc '2': name: punctuation.definition.block.tag.jsdoc - end: '(?=\s|\*/|[^{}\[\]\w])' + end: "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])" patterns: - include: '#jsdoctype' - name: variable.other.jsdoc - match: '((?!\d)\w[\w.\[\]]*)' + match: "([A-Za-z_$][\\w$.\\[\\]]*)" - name: variable.other.jsdoc match: |- (?x) (\[)\s* - \w+ + [\w$]+ (?: (?:\[\])? # Foo[ ].bar properties within an array \. # Foo.Bar namespaced parameter @@ -699,8 +734,7 @@ repository: \s*(?:(\])((?:[^*\s]|\*[^\s/])+)?|(?=\*/)) captures: '1': - name: >- - punctuation.definition.optional-value.begin.bracket.square.jsdoc + name: punctuation.definition.optional-value.begin.bracket.square.jsdoc '2': name: keyword.operator.assignment.jsdoc '3': @@ -723,24 +757,16 @@ repository: name: storage.type.class.jsdoc '2': name: punctuation.definition.block.tag.jsdoc - end: '(?=\s|\*/|[^{}\[\]A-Za-z_$])' + end: "(?=\\s|\\*/|[^{}\\[\\]A-Za-z_$])" patterns: - include: '#jsdoctype' - - match: '((@)method)\b\s*((\w|[^\x00-\x7f])+)?' - captures: - '1': - name: storage.type.class.jsdoc - '2': - name: punctuation.definition.block.tag.jsdoc - '3': - name: entity.name.function.method.ahk2 - match: |- (?x) ( (@) (?:alias|augments|callback|constructs|emits|event|fires|exports? |extends|external|function|func|host|lends|listens|interface|memberof!? - |module|mixes|mixin|name|requires|see|this|typedef|uses) + |method|module|mixes|mixin|name|requires|see|this|typedef|uses) ) \s+ ( @@ -756,7 +782,7 @@ repository: '3': name: entity.name.type.instance.jsdoc - contentName: variable.other.jsdoc - begin: '((@)(?:default(?:value)?|license|version))\s+(([''''"]))' + begin: ((@)(?:default(?:value)?|license|version))\s+(([''"])) beginCaptures: '1': name: storage.type.class.jsdoc @@ -766,14 +792,13 @@ repository: name: variable.other.jsdoc '4': name: punctuation.definition.string.begin.jsdoc - end: (\3)|(?=$|\*/) + end: "(\\3)|(?=$|\\*/)" endCaptures: '0': name: variable.other.jsdoc '1': name: punctuation.definition.string.end.jsdoc - - match: >- - ((@)(?:default(?:value)?|license|tutorial|variation|version))\s+([^\s*]+) + - match: "((@)(?:default(?:value)?|license|tutorial|variation|version))\\s+([^\\s*]+)" captures: '1': name: storage.type.class.jsdoc @@ -782,9 +807,8 @@ repository: '3': name: variable.other.jsdoc - name: storage.type.class.jsdoc - match: >- - (?x) (@) - (?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles + match: + "(?x) (@) (?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles |callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright |default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception |exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func @@ -794,172 +818,167 @@ repository: |override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected |public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary |suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation - |version|virtual|writeOnce|yields?) \b + |version|virtual|writeOnce|yields?) \\b" captures: '1': name: punctuation.definition.block.tag.jsdoc - include: '#inline-tags' - - match: '((@)(?:[_$[:alpha:]][_$[:alnum:]]*))(?=\s+)' + - match: "((@)(?:[_$[:alpha:]][_$[:alnum:]]*))(?=\\s+)" captures: '1': name: storage.type.class.jsdoc '2': name: punctuation.definition.block.tag.jsdoc function_call: - match: '([_[:alpha:]][[:alnum:]_]*+)(?=\()' + match: "([_[:alpha:]][[:alnum:]_]*+)(?=\\()" captures: '1': name: entity.name.function.ahk2 patterns: - - match: (?<=\.).+ + - match: "(?<=\\.).+" name: entity.name.function.method.ahk2 - include: '#variables_language' function_call_notparens: patterns: - - match: "(?<=^[ \t]*(\\{[ \t]*)?|::[ \t]*|(?i:(try|else|finally)[ \t]+))([[:alpha:]_][[:alnum:]_]*\\b(?>=|\\?|\\{))|$))" + - match: "(?<=^\\s*(\\{\\s*)?|::\\s*|(?i:(try|else|finally)\\s+))([[:alpha:]_][[:alnum:]_]*\\b(?>=|\\?|\\{))|$))" name: entity.name.function.ahk2 captures: '0': patterns: - include: '#function_defaultLibrary' - - match: "(?<=(^[ \t]*(\\{[ \t]*)?|::[ \t]*|(?i:(try|else|finally)[ \t]+))([[:alpha:]_][[:alnum:]_]*\\.)+)([[:alpha:]_][[:alnum:]_]*\\b)(?=$|[ \t]((?!([ \t]*[+\\-*/^&:.|]?=|<<=|>>=|\\?|\\{))|$))" + - match: "(?<=(^\\s*(\\{\\s*)?|::\\s*|(?i:(try|else|finally)\\s+))([[:alpha:]_][[:alnum:]_]*\\.)+)([[:alpha:]_][[:alnum:]_]*\\b)(?=$|\\s((?!(\\s*[+\\-*/^&:.|]?=|<<=|>>=|\\?|\\{))|$))" name: entity.name.function.method.ahk2 function_defaultLibrary: patterns: - - match: >- - (?$~*!+#^]*?)(`;|(?<=[^ \t]);|[\\x21-\\x3A\\x3C-\\x7E]|[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x5e\\x60\\x7b-\\x7f]+))|~?(`;|(?<=[^ \t]);|[\\x21-\\x3A\\x3C-\\x7E]|[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x5e\\x60\\x7b-\\x7f]+)[ \t]+&[ \t]+~?(`;|(?<=[^ \t]);|[\\x21-\\x3A\\x3C-\\x7E]|[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x5e\\x60\\x7b-\\x7f]+))([ \t]+up)?)(::)" + - begin: "\\G{" + beginCaptures: + '0': + name: punctuation.definition.block.hotstring.begin.ahk2 + end: '(?=})' + patterns: + - include: '$base' + - begin: "(?<=::\\s*)" + end: "(?=\\n)" + patterns: + - include: '#line_continue' + - include: '$base' + - begin: "^\\s*(?i:((([<>$~*!+#^]*?)(`;|(?<=\\S);|[\\x21-\\x3A\\x3C-\\x7E]|\\w+|[^\\x00-\\x7f]))|~?(`;|(?<=\\S);|[\\x21-\\x3A\\x3C-\\x7E]|\\w+|[^\\x00-\\x7f])\\s+&\\s+~?(`;|(?<=\\S);|[\\x21-\\x3A\\x3C-\\x7E]|\\w+|[^\\x00-\\x7f]))(\\s+up)?)(::)" beginCaptures: '1': name: hotkey.ahk2 patterns: - - match: "(?<=[ \t])&(?=[ \t]+[^ \t]+(?i:[ \t]+up)?$)" + - match: "(?<=\\s)&(?=\\s+\\S+(?i:\\s+up)?$)" name: keyword.operator.ahk2 - - match: "(?<=(&[ \t]+|^[ \t]*))([<>$~*!+#^]*?)(?i:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|lbutton|rbutton|mbutton|wheeldown|wheelup|wheelleft|wheelright|xbutton[12]|(0*[2-9]|0*1[0-6]?)?joy0*([1-9]|[12]\\d|3[012])|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgdn|pgup|home|end|up|down|left|right|printscreen|ctrlbreak|pause|help|sleep|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadleft|numpadright|numpaddown|numpadup|numpadhome|numpadend|numpadpgdn|numpadpgup|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2|vk[a-f\\d]{1,2}(sc[a-f\\d]+)?|sc[a-f\\d]+|`[;{]|[\\x21-\\x3A\\x3C-\\x7E]|(?<=[^ \t]);)(?=([ \t]|$))" + - match: "(?<=(&\\s+|^\\s*))([<>$~*!+#^]*?)(?i:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|lbutton|rbutton|mbutton|wheeldown|wheelup|wheelleft|wheelright|xbutton[12]|(0*[2-9]|0*1[0-6]?)?joy0*([1-9]|[12]\\d|3[12])|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgdn|pgup|home|end|up|down|left|right|printscreen|ctrlbreak|pause|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadleft|numpadright|numpaddown|numpadup|numpadhome|numpadend|numpadpgdn|numpadpgup|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2|vk[a-f\\d]{1,2}(sc[a-f\\d]+)?|sc[a-f\\d]+|`[;{]|[\\x21-\\x3A\\x3C-\\x7E]|(?<=\\S);)(?=(\\s|$))" name: keyword.keys.ahk2 '7': name: keyword.keys.up.ahk2 '8': name: punctuation.definition.colon - end: (?=\n) + end: "(?<=^\\s*)(})|(?<=::(;|\\s*[^;\\s])[^\\n]*)\\n|(?<=[\\w})\\]]\\s*)\\n" + endCaptures: + '1': + name: punctuation.definition.block.hotkey.end.ahk2 + name: meta.hotkeyline.ahk2 patterns: - - match: "(?<=\\G[ \t]*)((?i:alttab|alttabandmenu|alttabmenu|alttabmenudismiss|shiftalttab)\\b|([<>]?[!+#^]){0,4}(`[{;]|(?<=\\G);|[^{;]|(?i:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|lbutton|rbutton|mbutton|wheeldown|wheelup|wheelleft|wheelright|xbutton[12]|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgdn|pgup|home|end|up|down|left|right|printscreen|ctrlbreak|pause|help|sleep|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadleft|numpadright|numpaddown|numpadup|numpadhome|numpadend|numpadpgdn|numpadpgup|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2|vk[a-f\\d]{1,2}(sc[a-f\\d]+)?|sc[a-f\\d]+))(?=([ \t]+;.*|[ \t]*)\\n))" + - begin: '{' + beginCaptures: + '0': + name: punctuation.definition.block.hotkey.begin.ahk2 + end: '(?=})' + patterns: + - include: '$base' + - include: '#compiler_directive' + - include: '#comments' + - match: "(?<=\\G\\s*)((?i:alttab|alttabandmenu|alttabmenu|alttabmenudismiss|shiftalttab)\\b|([<>]?[!+#^]){0,4}(`{|`?;|[\\x21-\\x7A\\x7C-\\x7E]|(?i:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|lbutton|rbutton|mbutton|wheeldown|wheelup|wheelleft|wheelright|xbutton[12]|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgdn|pgup|home|end|up|down|left|right|printscreen|ctrlbreak|pause|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadleft|numpadright|numpaddown|numpadup|numpadhome|numpadend|numpadpgdn|numpadpgup|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2|vk[a-f\\d]{1,2}(sc[a-f\\d]+)?|sc[a-f\\d]+))(?=(\\s+(;.*)?)?\\n))" name: keyword.keys.ahk2 - - include: $base - - match: "(?<=^[ \t]*\\{?[ \t]*)(\\w+)(:)(?=[ \t]*([ \t];.*)?$)" + - begin: "(?<=\\G\\s*)(?=\\S)" + end: "(?=\\n)" + patterns: + - include: '#line_continue' + - include: '$base' + - include: '$self' + - match: "^\\s*\\w+(:)(?=\\s*(\\s;.*)?$)" + name: entity.name.label.ahk2 captures: '1': - name: entity.name.label.ahk2 - '2': name: punctuation.definition.colon - hotstring_execute: - match: "^[ \t]*(:)([^:]*)(:)((`.|[^`])*?)(::)" - captures: - '1': - name: punctuation.definition.colon - '2': - patterns: - - match: '(?i:(s[ipe]|[*?borstz]0?|c[01]?|k-1|[kp]\d+|x1?))' - name: string.options.ahk2 markup.italic - - match: "[^ \t]" - name: invalid.options.ahk2 markup.strikethrough - '3': - name: punctuation.definition.colon - '4': - name: keyword.keys.ahk2 markup.underline - '6': - name: punctuation.definition.colon - name: hotstring.ahk2 inline-tags: patterns: - name: constant.other.description.jsdoc - match: '(\[)[^\]]+(\])(?={@(?:link|linkcode|linkplain|tutorial))' + match: "(\\[)[^\\]]+(\\])(?={@(?:link|linkcode|linkplain|tutorial))" captures: '1': name: punctuation.definition.bracket.square.begin.jsdoc '2': name: punctuation.definition.bracket.square.end.jsdoc - name: entity.name.type.instance.jsdoc - begin: '({)((@)(?:link(?:code|plain)?|tutorial))\s*' + begin: "({)((@)(?:link(?:code|plain)?|tutorial))\\s*" beginCaptures: '1': name: punctuation.definition.bracket.curly.begin.jsdoc @@ -967,18 +986,18 @@ repository: name: storage.type.class.jsdoc '3': name: punctuation.definition.inline.tag.jsdoc - end: '}|(?=\*/)' + end: "}|(?=\\*/)" endCaptures: '0': name: punctuation.definition.bracket.curly.end.jsdoc patterns: - - match: '\G((?=https?://)(?:[^|}\s*]|\*[/])+)(\|)?' + - match: "\\G((?=https?://)(?:[^|}\\s*]|\\*[/])+)(\\|)?" captures: '1': name: variable.other.link.underline.jsdoc '2': name: punctuation.separator.pipe.jsdoc - - match: '\G((?:[^{}@\s|*]|\*[^/])+)(\|)?' + - match: "\\G((?:[^{}@\\s|*]|\\*[^/])+)(\\|)?" captures: '1': name: variable.other.description.jsdoc @@ -986,28 +1005,24 @@ repository: name: punctuation.separator.pipe.jsdoc brackets: patterns: - - match: ^\s*\*\s+ - name: comment.block.ahk2 - - match: '([''"])(`\1|.(?- - \b(?i:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|lbutton|rbutton|mbutton|wheeldown|wheelup|wheelleft|wheelright|xbutton[12]|(0*[2-9]|0*1[0-6]?)?joy0*([1-9]|[12]\d|3[012])|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgdn|pgup|home|end|up|down|left|right|printscreen|ctrlbreak|pause|help|sleep|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadleft|numpadright|numpaddown|numpadup|numpadhome|numpadend|numpadpgdn|numpadpgup|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2|vk[a-f\d]{1,2}(sc[a-f\d]+)?|sc[a-f\d]+))\b + match: "\\b(?i:shift|lshift|rshift|alt|lalt|ralt|control|lcontrol|rcontrol|ctrl|lctrl|rctrl|lwin|rwin|appskey|lbutton|rbutton|mbutton|wheeldown|wheelup|wheelleft|wheelright|xbutton[12]|(0*[2-9]|0*1[0-6]?)?joy0*([1-9]|[12]\\d|3[12])|space|tab|enter|escape|esc|backspace|bs|delete|del|insert|ins|pgdn|pgup|home|end|up|down|left|right|printscreen|ctrlbreak|pause|scrolllock|capslock|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadmult|numpadadd|numpadsub|numpaddiv|numpaddot|numpaddel|numpadins|numpadclear|numpadleft|numpadright|numpaddown|numpadup|numpadhome|numpadend|numpadpgdn|numpadpgup|numpadenter|f1|f2|f3|f4|f5|f6|f7|f8|f9|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f20|f21|f22|f23|f24|browser_back|browser_forward|browser_refresh|browser_stop|browser_search|browser_favorites|browser_home|volume_mute|volume_down|volume_up|media_next|media_prev|media_stop|media_play_pause|launch_mail|launch_media|launch_app1|launch_app2|vk[a-f\\d]{1,2}(sc[a-f\\d]+)?|sc[a-f\\d]+))\\b" name: keyword.keys.ahk2 line_continue: - begin: "([*/<>?:=.&|^]+|[~+\\-]=?|!==?|,|\\b(?i:(and|contain|not|in|is|or)))[ \t]*([ \t];.*)?\\n" + begin: "([*/<>?:=.&|^]+|[~+\\-]=?|!==?|,|\\b(?i:(and|contain|not|in|is|or)))\\s*(\\s;.*)?\\n" beginCaptures: '1': patterns: - include: '#operators' - match: ',' name: punctuation.separator.comma.ahk2 - - match: => + - match: '=>' name: storage.type.function.arrow.ahk2 '3': - name: comment.line.ahk2 - end: "(?!([*/<>?:=.]+|[+\\-]=?|!==?|,|\\b(?i:(and|contain|not|in|is|or))))[ \t]*([ \t];.*)?(?=\\n)|(?<=^[ \t]*(?i:class|static|if|try|loop|while)[ \t]+\\w+)" + name: comment.inline.ahk2 + end: "(?!([*/<>?:=.]+|[+\\-]=?|!==?|,|\\b(?i:(and|contain|not|in|is|or))))\\s*(\\s;.*)?(?=\\n)|(?<=^\\s*(?i:class|static|if|try|loop|while)\\s+\\w+)" endCaptures: '3': - name: comment.line.ahk2 + name: comment.inline.ahk2 patterns: - - match: "(?<=^[ \t]*)\\w+(?=(\\n|[ \t]))" + - match: "(?<=^\\s*)\\w+(?=(\\n|\\s))" captures: '0': patterns: - include: '#variables' - include: '#line_continue' - - include: $base + - include: '$base' numbers: - match: '(? + - match: '=>' name: storage.type.function.arrow.ahk2 - - match: \.=|\+=|-=|\*=|/?/= + - match: "\\.=|\\+=|-=|\\*=|/?/=" name: keyword.operator.assignment.compound.ahk2 - - match: '&=|\^=|<<=|>>>=|>>=|\|=' + - match: "&=|\\^=|<<=|>>>=|>>=|\\|=" name: keyword.operator.assignment.compound.bitwise.ahk2 - - match: <<|>>>|>> + - match: '<<|>>>|>>' name: keyword.operator.bitwise.shift.ahk2 - match: '!=|<=|>=|=?=|<|>' name: keyword.operator.comparison.ahk2 - - match: ~= + - match: '~=' name: keyword.operator.regexp.ahk2 - - match: \?\?|&&|!|\|\| + - match: "\\?\\?|&&|!|\\|\\|" name: keyword.operator.logical.ahk2 - - match: '&|\||\^|~' + - match: "&|\\||\\^|~" name: keyword.operator.ahk2 - match: ':=' name: keyword.operator.assignment.ahk2 - - match: \.(?=\w) + - match: "\\.(?=\\w)" name: punctuation.accessor.ahk2 - - match: \*|/|-|\+|\. + - match: "\\*|/|-|\\+|\\." name: keyword.operator.ahk2 - match: '%' name: punctuation.parens.percent.ahk2 - - match: '\[' + - match: "\\[" name: punctuation.square.begin.ahk2 - - match: '\]' + - match: "\\]" name: punctuation.square.end.ahk2 - - match: "\\?(?=[ \t]*[,)\\]}])" + - match: "\\?(?=\\s*[,)\\]}])" name: keyword.operator.optional.ahk2 - - match: '\?|:(?!\:)' + - match: "\\?|:(?!\\:)" name: keyword.operator.ternary.ahk2 - - match: ',' - name: punctuation.separator.comma.ahk2 parens: name: meta.parens.ahk2 - begin: \( + begin: "\\(" beginCaptures: '0': name: punctuation.section.parens.begin.bracket.round.ahk2 - end: \) + end: "\\)" endCaptures: '0': name: punctuation.section.parens.end.bracket.round.ahk2 patterns: - - include: $base - property: - patterns: - - name: variable.other.property.ahk2 - match: '\b(?<=\.)[_[:alnum:]]+\b' + - include: '$base' pre_definition: patterns: - - begin: "^[ \t]*((#)(?i:dllload|hotstring|include(again)?|mapcasesense|requires|errorstdout|definedefault(array|map|object)value|windowclass(gui|main)|singleinstance|targetcontrolerror|targetwindowerror))\\b" + - begin: "^\\s*((#)(?i:include(?i:again)?))\\b" beginCaptures: '1': name: keyword.control.directive.ahk2 '2': name: punctuation.definition.directive.ahk2 - end: \n + end: "(?=\\n)" + name: meta.preprocessor.include.ahk2 + patterns: + - begin: "[^\\s;]" + end: "(?=(?:\\s+;))|(?=\\n)" + name: string.literal.include.ahk2 + - match: "(?:\\s+);.*" + name: comment.line.ahk2 + - begin: "^\\s*((#)(?i:dllload|mapcasesense|requires|errorstdout|definedefault(array|map|object)value|windowclass(gui|main)|singleinstance|targetcontrolerror|targetwindowerror))\\b" + beginCaptures: + '1': + name: keyword.control.directive.ahk2 + '2': + name: punctuation.definition.directive.ahk2 + end: "(?=(?:;))|(?=\\n)" name: meta.preprocessor.ahk2 patterns: - - match: "[^ \t;].*?(?=([ \t]+;|[ \t]*\\n))" - name: string.literal.ahk2 - - match: "(?<=[ \t]);.*" + - begin: "[^\\s;]" + end: "(?=(?:\\s+;))|(?=\\n)" + name: string.quoted.ahk2 + - match: "(?:\\s+);.*" name: comment.line.ahk2 - - begin: "^[ \t]*((#)(?i:warn))\\b" + - begin: "^\\s*((#)(?i:warn))\\b" beginCaptures: '1': name: keyword.control.directive.ahk2 '2': name: punctuation.definition.directive.ahk2 - end: \n + end: "(?=(?:;))|(?=\\n)" name: meta.preprocessor.ahk2 patterns: - match: ',' name: punctuation.separator.comma.ahk2 - - match: \w+ + - match: "\\w+" name: string.literal.ahk2 - - match: "(?<=[ \t]);.*" - name: comment.line.ahk2 - - match: "^[ \t]*((#)(?i:clipboardtimeout|criticalobject(sleeptime|timeout)|hotif|hotiftimeout|inputlevel|initexec|maxthreads|maxthreadsbuffer|maxthreadsperhotkey|notrayicon|suspendexempt|usehook|usestdlib|warn|warncontinuableexception|winactivateforce))\\b" + - include: '#comments' + - begin: "^\\s*((#)(?i:hotstring))\\b" + beginCaptures: + '1': + name: keyword.control.directive.ahk2 + '2': + name: punctuation.definition.directive.ahk2 + end: "(?=(?:;))|(?=\\n)" + name: meta.preprocessor.ahk2 + patterns: + - begin: "[^\\s;]" + end: "(?=(?:\\s+;))|(?=\\n)" + name: string.literal.ahk2 + - match: "^\\s*((#)(?i:clipboardtimeout|criticalobject(sleeptime|timeout)|hotif|hotiftimeout|inputlevel|initexec|maxthreads|maxthreadsbuffer|maxthreadsperhotkey|notrayicon|suspendexempt|usehook|warn|warncontinuableexception|winactivateforce))\\b" captures: '1': name: keyword.control.directive.ahk2 '2': name: punctuation.definition.directive.ahk2 - - begin: "^[ \t]*((#)(?i:dllimport))([ \t]+(\\w+)[ \t]*(,?))?" + - begin: "^\\s*((#)(?i:dllimport))(\\s+(\\w+)\\s*(,?))?" beginCaptures: '1': name: keyword.control.directive.ahk2 @@ -1168,65 +1202,46 @@ repository: name: entity.name.function.ahk2 '5': name: punctuation.separator.comma.ahk2 - end: \n + end: "(?=(?:;))|(?=\\n)" name: meta.preprocessor.ahk2 patterns: - match: ',' name: punctuation.separator.comma.ahk2 - - match: '[^,\n\r]+' + - match: "[^,\\n\\r]+" name: string.literal.ahk2 reserved: patterns: - - match: "(?(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()" + begin: "((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))(\\()" beginCaptures: '1': patterns: @@ -1293,13 +1283,13 @@ repository: name: comment.block.ahk2 '4': patterns: - - match: \*\/ + - match: "\\*\\/" name: comment.block.ahk2 punctuation.definition.comment.end.ahk2 - - match: \* + - match: "\\*" name: comment.block.ahk2 '5': name: punctuation.section.parens.begin.bracket.round.conditional.switch.ahk2 - end: (\)) + end: "(\\))" endCaptures: '1': name: punctuation.section.parens.end.bracket.round.conditional.switch.ahk2 @@ -1307,7 +1297,7 @@ repository: - include: '#conditional_context' switch_statement: name: meta.block.switch.ahk2 - begin: "(((?>(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?(?:(?:(?>(?(?:[^\\*]|(?>\\*+)[^\\/])*)((?>\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?<=\\W))|(?=\\W))|\\A)|\\Z))))((?\[\]=]))' + end: "(?:(?<=\\})|(?=[>\\[\\]=]))" patterns: - name: meta.head.switch.ahk2 - begin: \G ? - end: "(?- - \b(?i:A_AhkPath|A_AhkVersion|A_AllowMainWindow|A_AppData|A_AppDataCommon|A_Args|A_Clipboard|A_ComputerName|A_ComSpec|A_ControlDelay|A_CoordModeCaret|A_CoordModeMenu|A_CoordModeMouse|A_CoordModePixel|A_CoordModeToolTip|A_Cursor|A_DD|A_DDD|A_DDDD|A_DefaultMouseSpeed|A_Desktop|A_DesktopCommon|A_DetectHiddenText|A_DetectHiddenWindows|A_EndChar|A_EventInfo|A_FileEncoding|A_HotkeyInterval|A_HotkeyModifierTimeout|A_Hour|A_IconFile|A_IconHidden|A_IconNumber|A_IconTip|A_Index|A_InitialWorkingDir|A_Is64bitOS|A_IsAdmin|A_IsCompiled|A_IsCritical|A_IsPaused|A_IsSuspended|A_KeyDelay|A_KeyDelayPlay|A_KeyDuration|A_KeyDurationPlay|A_Language|A_LastError|A_LineFile|A_LineNumber|A_ListLines|A_LoopField|A_LoopFileAttrib|A_LoopFileDir|A_LoopFileExt|A_LoopFileFullPath|A_LoopFileName|A_LoopFilePath|A_LoopFileShortName|A_LoopFileShortPath|A_LoopFileSize|A_LoopFileSizeKB|A_LoopFileSizeMB|A_LoopFileTimeAccessed|A_LoopFileTimeCreated|A_LoopFileTimeModified|A_LoopReadLine|A_LoopRegKey|A_LoopRegName|A_LoopRegTimeModified|A_LoopRegType|A_MaxHotkeysPerInterval|A_MDay|A_MenuMaskKey|A_Min|A_MM|A_MMM|A_MMMM|A_Mon|A_MouseDelay|A_MouseDelayPlay|A_MSec|A_MyDocuments|A_Now|A_NowUTC|A_OSVersion|A_PriorHotkey|A_PriorKey|A_ProgramFiles|A_Programs|A_ProgramsCommon|A_PtrSize|A_RegView|A_ScreenDPI|A_ScreenHeight|A_ScreenWidth|A_ScriptDir|A_ScriptFullPath|A_ScriptHwnd|A_ScriptName|A_Sec|A_SendLevel|A_SendMode|A_Space|A_StartMenu|A_StartMenuCommon|A_Startup|A_StartupCommon|A_StoreCapsLockMode|A_Tab|A_Temp|A_ThisFunc|A_ThisHotkey|A_TickCount|A_TimeIdle|A_TimeIdleKeyboard|A_TimeIdleMouse|A_TimeIdlePhysical|A_TimeSincePriorHotkey|A_TimeSinceThisHotkey|A_TitleMatchMode|A_TitleMatchModeSpeed|A_TrayMenu|A_UserName|A_WDay|A_WinDelay|A_WinDir|A_WorkingDir|A_YDay|A_Year|A_YWeek|A_YYYY)\b + - match: "\\b(?i:A_AhkPath|A_AhkVersion|A_AllowMainWindow|A_AppData|A_AppDataCommon|A_Args|A_Clipboard|A_ComputerName|A_ComSpec|A_ControlDelay|A_CoordModeCaret|A_CoordModeMenu|A_CoordModeMouse|A_CoordModePixel|A_CoordModeToolTip|A_Cursor|A_DD|A_DDD|A_DDDD|A_DefaultMouseSpeed|A_Desktop|A_DesktopCommon|A_DetectHiddenText|A_DetectHiddenWindows|A_EndChar|A_EventInfo|A_FileEncoding|A_HotkeyInterval|A_HotkeyModifierTimeout|A_Hour|A_IconFile|A_IconHidden|A_IconNumber|A_IconTip|A_Index|A_InitialWorkingDir|A_Is64bitOS|A_IsAdmin|A_IsCompiled|A_IsCritical|A_IsPaused|A_IsSuspended|A_KeyDelay|A_KeyDelayPlay|A_KeyDuration|A_KeyDurationPlay|A_Language|A_LastError|A_LineFile|A_LineNumber|A_ListLines|A_LoopField|A_LoopFileAttrib|A_LoopFileDir|A_LoopFileExt|A_LoopFileFullPath|A_LoopFileName|A_LoopFilePath|A_LoopFileShortName|A_LoopFileShortPath|A_LoopFileSize|A_LoopFileSizeKB|A_LoopFileSizeMB|A_LoopFileTimeAccessed|A_LoopFileTimeCreated|A_LoopFileTimeModified|A_LoopReadLine|A_LoopRegKey|A_LoopRegName|A_LoopRegTimeModified|A_LoopRegType|A_MaxHotkeysPerInterval|A_MDay|A_MenuMaskKey|A_Min|A_MM|A_MMM|A_MMMM|A_Mon|A_MouseDelay|A_MouseDelayPlay|A_MSec|A_MyDocuments|A_Now|A_NowUTC|A_OSVersion|A_PriorHotkey|A_PriorKey|A_ProgramFiles|A_Programs|A_ProgramsCommon|A_PtrSize|A_RegView|A_ScreenDPI|A_ScreenHeight|A_ScreenWidth|A_ScriptDir|A_ScriptFullPath|A_ScriptHwnd|A_ScriptName|A_Sec|A_SendLevel|A_SendMode|A_Space|A_StartMenu|A_StartMenuCommon|A_Startup|A_StartupCommon|A_StoreCapsLockMode|A_Tab|A_Temp|A_ThisFunc|A_ThisHotkey|A_TickCount|A_TimeIdle|A_TimeIdleKeyboard|A_TimeIdleMouse|A_TimeIdlePhysical|A_TimeSincePriorHotkey|A_TimeSinceThisHotkey|A_TitleMatchMode|A_TitleMatchModeSpeed|A_TrayMenu|A_UserName|A_WDay|A_WinDelay|A_WinDir|A_WorkingDir|A_YDay|A_Year|A_YWeek|A_YYYY)\\b" name: variable.language.ahk2 - - match: '\b(?i:A_PriorLine|A_WorkFileName)\b' + - match: "\\b(?i:A_PriorLine|A_WorkFileName)\\b" name: variable.language.compiler.ahk2 - - match: >- - \b(?i:A_AhkDir|A_DllDir|A_DllPath|A_GlobalStruct|A_IsDll|A_MainThreadID|A_MemoryModule|A_ModuleHandle|A_ScriptStruct|A_ThreadID|A_ZipCompressionLevel)\b + - match: "\\b(?i:A_AhkDir|A_DllDir|A_DllPath|A_GlobalStruct|A_IsDll|A_MainThreadID|A_MemoryModule|A_ModuleHandle|A_ScriptStruct|A_ThreadID|A_ZipCompressionLevel)\\b" name: variable.language.ahkh.ahk2 - include: '#default_classes' - include: '#function_defaultLibrary' variables: - name: variable.other.ahk2 - match: '\b[_[:alpha:]][[:alnum:]_]*\b' + match: "(?#Space::MsgBox "You pressed Win+Spacebar in Notepad or " MyWindowTitle -#^^^^^^ source.ahk2 hotkey.ahk2 keyword.keys.ahk2 -# ^^ source.ahk2 punctuation.definition.colon -# ^^^^^^ source.ahk2 variable.other.ahk2 support.function.ahk2 -# ^ source.ahk2 -# ^ source.ahk2 string.quoted.ahk2 punctuation.definition.string.begin.ahk2 -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ahk2 string.quoted.ahk2 -# ^ source.ahk2 string.quoted.ahk2 punctuation.definition.string.end.ahk2 -# ^ source.ahk2 -# ^^^^^^^^^^^^^ source.ahk2 variable.other.ahk2 +#^^^^^^ source.ahk2 meta.hotkeyline.ahk2 hotkey.ahk2 keyword.keys.ahk2 +# ^^ source.ahk2 meta.hotkeyline.ahk2 punctuation.definition.colon +# ^^^^^^ source.ahk2 meta.hotkeyline.ahk2 support.function.ahk2 +# ^ source.ahk2 meta.hotkeyline.ahk2 +# ^ source.ahk2 meta.hotkeyline.ahk2 string.quoted.ahk2 punctuation.definition.string.begin.ahk2 +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.ahk2 meta.hotkeyline.ahk2 string.quoted.ahk2 +# ^ source.ahk2 meta.hotkeyline.ahk2 string.quoted.ahk2 punctuation.definition.string.end.ahk2 +# ^ source.ahk2 meta.hotkeyline.ahk2 +# ^^^^^^^^^^^^^ source.ahk2 meta.hotkeyline.ahk2 variable.other.ahk2 >#HotIf #^ source.ahk2 keyword.control.directive.ahk2 punctuation.definition.directive.ahk2 # ^^^^^ source.ahk2 keyword.control.directive.ahk2 diff --git a/package-lock.json b/package-lock.json index eb025280..6cb79d70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "@types/eslint__js": "^8.42.3", "@types/fs-extra": "^9.0.7", "@types/glob": "^7.1.3", - "@types/mocha": "^10.0.8", + "@types/mocha": "^9.1.1", "@types/node": "^20.16.0", "@types/vscode": "1.90.0", "@types/xml2js": "^0.4.11", @@ -1286,11 +1286,10 @@ "license": "MIT" }, "node_modules/@types/mocha": { - "version": "10.0.8", - "resolved": "https://registry.npmmirror.com/@types/mocha/-/mocha-10.0.8.tgz", - "integrity": "sha512-HfMcUmy9hTMJh66VNcmeC9iVErIZJli2bszuXc6julh5YGuRb/W5OnkHjwLNYdFlMis0sY3If5SEAp+PktdJjw==", - "dev": true, - "license": "MIT" + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "dev": true }, "node_modules/@types/node": { "version": "20.16.0", @@ -1602,6 +1601,13 @@ "node": ">=18" } }, + "node_modules/@vscode/test-cli/node_modules/@types/mocha": { + "version": "10.0.7", + "resolved": "https://registry.npmmirror.com/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "dev": true, + "license": "MIT" + }, "node_modules/@vscode/test-cli/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -7703,9 +7709,9 @@ "dev": true }, "@types/mocha": { - "version": "10.0.8", - "resolved": "https://registry.npmmirror.com/@types/mocha/-/mocha-10.0.8.tgz", - "integrity": "sha512-HfMcUmy9hTMJh66VNcmeC9iVErIZJli2bszuXc6julh5YGuRb/W5OnkHjwLNYdFlMis0sY3If5SEAp+PktdJjw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", "dev": true }, "@types/node": { @@ -7898,6 +7904,12 @@ "yargs": "^17.7.2" }, "dependencies": { + "@types/mocha": { + "version": "10.0.7", + "resolved": "https://registry.npmmirror.com/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "dev": true + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", diff --git a/package.json b/package.json index 04b1efc2..51cce0cf 100644 --- a/package.json +++ b/package.json @@ -103,12 +103,6 @@ "title": "Compile AHK Script (GUI)", "category": "AHK++" }, - { - "command": "ahk++.openHelp", - "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", - "title": "Open AutoHotkey Help", - "category": "AHK++" - }, { "command": "ahk++.debug", "title": "Debug AHK Script", @@ -117,24 +111,21 @@ "icon": "$(debug-alt)" }, { - "command": "ahk++.debugConfigs", - "title": "%ahk++.command.debugConfigs%", + "command": "ahk++.openHelp", "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", - "icon": "$(debug-all)", + "title": "Open AutoHotkey Help", "category": "AHK++" }, { + "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", "command": "ahk++.debugAttach", "title": "%ahk++.command.debugAttach%", - "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", - "icon": "$(debug-alt)", "category": "AHK++" }, { + "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", "command": "ahk++.debugParams", "title": "%ahk++.command.debugParams%", - "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", - "icon": "$(debug-console)", "category": "AHK++" }, { @@ -143,22 +134,22 @@ "category": "AHK++" }, { + "enablement": "editorLangId == ahk2", "command": "ahk++.exportSymbols", "title": "%ahk++.command.exportSymbols%", - "enablement": "editorLangId == ahk2", "category": "AHK++" }, { + "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", "command": "ahk++.run", "title": "%ahk++.command.run%", - "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", "icon": "$(play)", "category": "AHK++" }, { + "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", "command": "ahk++.runSelection", "title": "%ahk++.command.runSelection%", - "enablement": "(editorLangId == ahk || editorLangId == ahk2) && shellExecutionSupported", "category": "AHK++" }, { @@ -168,39 +159,39 @@ "category": "AHK++" }, { + "enablement": "editorLangId == ahk || editorLangId == ahk2", "command": "ahk++.addDocComment", "title": "%ahk++.command.addDocComment%", - "enablement": "editorLangId == ahk || editorLangId == ahk2", "category": "AHK++" }, { + "enablement": "editorLangId == ahk || editorLangId == ahk2", "command": "ahk++.setV2Interpreter", "title": "%ahk++.command.setV2Interpreter%", - "enablement": "editorLangId == ahk || editorLangId == ahk2", "category": "AHK++" }, { + "enablement": "editorLangId == ahk || editorLangId == ahk2", "command": "ahk++.updateVersionInfo", "title": "%ahk++.command.updateVersionInfo%", - "enablement": "editorLangId == ahk || editorLangId == ahk2", "category": "AHK++" }, { + "enablement": "editorLangId == ahk || editorLangId == ahk2", "command": "ahk++.switchAhkVersion", "title": "Switch AHK Version", - "enablement": "editorLangId == ahk || editorLangId == ahk2", "category": "AHK++" }, { + "enablement": "editorLangId == ahk2", "command": "ahk++.selectSyntaxes", "title": "Select AHK v2 Syntaxes", - "enablement": "editorLangId == ahk2", "category": "AHK++" }, { + "enablement": "editorLangId == ahk2 && resourceScheme == file", "command": "ahk++.setAScriptDir", "title": "%ahk++.command.setAScriptDir%", - "enablement": "editorLangId == ahk2 && resourceScheme == file", "category": "AHK++" } ], @@ -267,7 +258,7 @@ "showDebugButton": { "type": "boolean", "default": true, - "description": "Show the debug buttons in the editor title menu." + "description": "Show the Debug button in the editor title menu." } }, "default": { @@ -928,6 +919,21 @@ } ], "keybindings": [ + { + "command": "ahk++.compile", + "key": "ctrl+shift+f9", + "when": "editorLangId == ahk || editorLangId == ahk2" + }, + { + "command": "ahk++.debug", + "key": "ctrl+alt+f9", + "when": "editorLangId == ahk || editorLangId == ahk2" + }, + { + "command": "ahk++.openHelp", + "key": "ctrl+f1", + "when": "editorLangId == ahk || editorLangId == ahk2" + }, { "command": "ahk++.run", "key": "ctrl+f9", @@ -938,11 +944,6 @@ "key": "ctrl+f8", "when": "editorLangId == ahk || editorLangId == ahk2" }, - { - "command": "ahk++.debug", - "key": "ctrl+alt+f9", - "when": "editorLangId == ahk || editorLangId == ahk2" - }, { "command": "ahk++.debugParams", "key": "ctrl+f5", @@ -952,16 +953,6 @@ "command": "ahk++.stop", "key": "ctrl+f6", "when": "ahk:isRunning" - }, - { - "command": "ahk++.compile", - "key": "ctrl+shift+f9", - "when": "editorLangId == ahk || editorLangId == ahk2" - }, - { - "command": "ahk++.openHelp", - "key": "ctrl+f1", - "when": "editorLangId == ahk || editorLangId == ahk2" } ], "languages": [ @@ -1014,55 +1005,59 @@ ], "menus": { "editor/context": [ - { - "submenu": "ahk++.context", - "group": "navigation@0" - } - ], - "ahk++.context": [ { "command": "ahk++.runSelection", - "when": "(editorLangId == ahk || editorLangId == ahk2) && editorHasSelection" - }, - { - "command": "ahk++.run", - "key": "ctrl+f9", - "when": "editorLangId == ahk || editorLangId == ahk2" + "when": "(editorLangId == ahk || editorLangId == ahk2) && editorHasSelection", + "group": "navigation@-1" }, { "command": "ahk++.stop", - "when": "ahk:isRunning" + "when": "ahk:isRunning", + "group": "navigation@0" }, { "command": "ahk++.compile", - "when": "editorLangId == ahk || editorLangId == ahk2" + "when": "editorLangId == ahk || editorLangId == ahk2", + "group": "navigation@1" }, { "command": "ahk++.compilerGui", - "when": "editorLangId == ahk || editorLangId == ahk2" + "when": "editorLangId == ahk || editorLangId == ahk2", + "group": "navigation@1" }, { "command": "ahk++.debugAttach", - "when": "editorLangId == ahk || editorLangId == ahk2" + "when": "editorLangId == ahk || editorLangId == ahk2", + "group": "navigation@1" }, { - "command": "ahk++.debugConfigs", - "when": "editorLangId == ahk || editorLangId == ahk2" + "command": "ahk++.debugParams", + "when": "editorLangId == ahk || editorLangId == ahk2", + "group": "navigation@1" }, { - "command": "ahk++.debugParams", - "when": "editorLangId == ahk || editorLangId == ahk2" + "command": "ahk++.run", + "key": "ctrl+f9", + "when": "editorLangId == ahk || editorLangId == ahk2", + "group": "navigation@1" }, { "when": "editorLangId == ahk2", - "command": "ahk++.addDocComment" + "command": "ahk++.addDocComment", + "group": "navigation@2" }, { "when": "editorLangId == ahk2", - "command": "ahk++.updateVersionInfo" + "command": "ahk++.updateVersionInfo", + "group": "navigation@2" } ], - "editor/title/run": [ + "editor/title": [ + { + "command": "ahk++.debug", + "when": "(editorLangId == ahk || editorLangId == ahk2) && config.AHK++.menu.showDebugButton", + "group": "navigation@1" + }, { "command": "ahk++.run", "group": "navigation@0", @@ -1072,22 +1067,6 @@ "command": "ahk++.stop", "group": "navigation@0", "when": "ahk:isRunning" - }, - { - "command": "ahk++.debug", - "when": "(editorLangId == ahk || editorLangId == ahk2) && config.AHK++.menu.showDebugButton" - }, - { - "command": "ahk++.debugConfigs", - "when": "(editorLangId == ahk || editorLangId == ahk2) && config.AHK++.menu.showDebugButton" - }, - { - "command": "ahk++.debugParams", - "when": "(editorLangId == ahk || editorLangId == ahk2) && config.AHK++.menu.showDebugButton" - }, - { - "command": "ahk++.debugAttach", - "when": "(editorLangId == ahk || editorLangId == ahk2) && config.AHK++.menu.showDebugButton" } ] }, @@ -1110,12 +1089,6 @@ "language": "ahk2", "path": "./language/snippetsV2.json" } - ], - "submenus": [ - { - "id": "ahk++.context", - "label": "AHK++" - } ] }, "activationEvents": [ @@ -1154,7 +1127,7 @@ "@types/eslint__js": "^8.42.3", "@types/fs-extra": "^9.0.7", "@types/glob": "^7.1.3", - "@types/mocha": "^10.0.8", + "@types/mocha": "^9.1.1", "@types/node": "^20.16.0", "@types/vscode": "1.90.0", "@types/xml2js": "^0.4.11", diff --git a/package.nls.json b/package.nls.json index 5bfd7f5f..8a290c50 100644 --- a/package.nls.json +++ b/package.nls.json @@ -1,7 +1,6 @@ { "ahk++.command.addDocComment": "Add Doc Comment", "ahk++.command.debugAttach": "Debug AHK and Attach", - "ahk++.command.debugConfigs": "Debug Configurations", "ahk++.command.debugParams": "Debug AHK with Params", "ahk++.command.diagnostic.full": "Run AHK++ Diagnostic", "ahk++.command.exportSymbols": "Export AHK Symbols", diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index ea830c58..2a9ac956 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -4,7 +4,6 @@ "action.switchtov1": "切换到ahk v1", "ahk++.command.addDocComment": "生成注释模板", "ahk++.command.debugAttach": "附加到运行中的脚本", - "ahk++.command.debugConfigs": "Debug Configurations", "ahk++.command.debugParams": "带参调试", "ahk++.command.diagnostic.full": "诊断全文", "ahk++.command.exportSymbols": "导出ahk类和函数",