Bump assets/syntaxes/02_Extra/PowerShell from 4a0a076 to 742f0b5 (#1935)

* Bump assets/syntaxes/02_Extra/PowerShell from `4a0a076` to `742f0b5`

Bumps [assets/syntaxes/02_Extra/PowerShell](https://github.com/PowerShell/EditorSyntax) from `4a0a076` to `742f0b5`.
- [Release notes](https://github.com/PowerShell/EditorSyntax/releases)
- [Commits](4a0a076661...742f0b5d4b)

---
updated-dependencies:
- dependency-name: assets/syntaxes/02_Extra/PowerShell
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Do machine-conversion from .tmLanguage to .sublime-syntax

The new .sublime-syntax file is a pure "Tools" -> "Developer" -> "New Syntax
from ..." conversion from a licenced version of Sublime Text, Version 3.1.1,
Build 3176 with the .tmLanguage as the source file. No manual changes has been
made.

* Update regression test and add CHANGELOG.md entry

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Nordholts <enselic@gmail.com>
This commit is contained in:
dependabot[bot] 2021-12-12 19:41:04 +01:00 committed by GitHub
parent ee1f5a9e89
commit a02713dc15
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 62 additions and 51 deletions

View File

@ -42,6 +42,7 @@
- The `requirements.txt` syntax has been removed due to incompatible license requirements. - The `requirements.txt` syntax has been removed due to incompatible license requirements.
- Dart, new highlighter, see #1959 (@Ersikan) - Dart, new highlighter, see #1959 (@Ersikan)
- SCSS and Sass syntaxes updated, see #1766 (@Enselic) - SCSS and Sass syntaxes updated, see #1766 (@Enselic)
- PowerShell syntax updated, see #1935 (@Enselic)
## New themes ## New themes

@ -1 +1 @@
Subproject commit 4a0a076661d26473cac71b9a17e6a759e9b1c643 Subproject commit 742f0b5d4b60f5930c0b47fcc1f646860521296e

View File

@ -24,7 +24,7 @@ contexts:
- include: commands - include: commands
- include: commentLine - include: commentLine
- include: variable - include: variable
- include: interpolatedStringContent - include: subexpression
- include: function - include: function
- include: attribute - include: attribute
- include: UsingDirective - include: UsingDirective
@ -33,32 +33,38 @@ contexts:
- include: doubleQuotedString - include: doubleQuotedString
- include: scriptblock - include: scriptblock
- include: doubleQuotedStringEscapes - include: doubleQuotedStringEscapes
- match: (?<!')' - match: '[''\x{2018}-\x{201B}]'
captures: captures:
0: punctuation.definition.string.begin.powershell 0: punctuation.definition.string.begin.powershell
push: push:
- meta_scope: string.quoted.single.powershell - meta_scope: string.quoted.single.powershell
- match: "'(?!')" - match: '[''\x{2018}-\x{201B}]{2}'
scope: constant.character.escape.powershell
- match: '[''\x{2018}-\x{201B}]'
captures: captures:
0: punctuation.definition.string.end.powershell 0: punctuation.definition.string.end.powershell
pop: true pop: true
- match: "''" - match: '(@["\x{201C}-\x{201E}])\s*$'
scope: constant.character.escape.powershell captures:
- match: \@"(?=$) 1: punctuation.definition.string.begin.powershell
push: push:
- meta_scope: string.quoted.double.heredoc.powershell - meta_scope: string.quoted.double.heredoc.powershell
- match: ^"@ - match: '^["\x{201C}-\x{201E}]@'
captures:
0: punctuation.definition.string.end.powershell
pop: true pop: true
- include: variableNoProperty - include: variableNoProperty
- include: doubleQuotedStringEscapes - include: doubleQuotedStringEscapes
- include: interpolation - include: interpolation
- match: \@'(?=$) - match: '(@[''\x{2018}-\x{201B}])\s*$'
captures:
1: punctuation.definition.string.begin.powershell
push: push:
- meta_scope: string.quoted.single.heredoc.powershell - meta_scope: string.quoted.single.heredoc.powershell
- match: ^'@ - match: '^[''\x{2018}-\x{201B}]@'
captures:
0: punctuation.definition.string.end.powershell
pop: true pop: true
- match: "''"
scope: constant.character.escape.powershell
- include: numericConstant - include: numericConstant
- match: (@)(\() - match: (@)(\()
captures: captures:
@ -71,11 +77,12 @@ contexts:
0: punctuation.section.group.end.powershell 0: punctuation.section.group.end.powershell
pop: true pop: true
- include: main - include: main
- match: (\$)(\() - match: ((\$))(\()
comment: "TODO: move to repo; make recursive." comment: "TODO: move to repo; make recursive."
captures: captures:
1: punctuation.definition.variable.powershell 1: keyword.other.substatement.powershell
2: punctuation.section.group.begin.powershell 2: punctuation.definition.subexpression.powershell
3: punctuation.section.group.begin.powershell
push: push:
- meta_scope: meta.group.complex.subexpression.powershell - meta_scope: meta.group.complex.subexpression.powershell
- match: \) - match: \)
@ -85,7 +92,7 @@ contexts:
- include: main - include: main
- match: '(\b(([A-Za-z0-9\-_\.]+)\.(?i:exe|com|cmd|bat))\b)' - match: '(\b(([A-Za-z0-9\-_\.]+)\.(?i:exe|com|cmd|bat))\b)'
scope: support.function.powershell scope: support.function.powershell
- match: (?<!\w|-|\.)((?i:begin|break|catch|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w) - match: (?<!\w|-|\.)((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\?)(?!\w)
scope: keyword.control.powershell scope: keyword.control.powershell
- match: '(?<!\w|-|[^\)]\.)((?i:(foreach|where)(?!-object))|%|\?)(?!\w)' - match: '(?<!\w|-|[^\)]\.)((?i:(foreach|where)(?!-object))|%|\?)(?!\w)'
scope: keyword.control.powershell scope: keyword.control.powershell
@ -135,7 +142,7 @@ contexts:
- meta_scope: meta.requires.powershell - meta_scope: meta.requires.powershell
- match: $ - match: $
pop: true pop: true
- match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version) - match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)
scope: keyword.other.powershell scope: keyword.other.powershell
- match: '(?<!-)\b\p{L}+|\d+(?:\.\d+)*' - match: '(?<!-)\b\p{L}+|\d+(?:\.\d+)*'
scope: variable.parameter.powershell scope: variable.parameter.powershell
@ -187,51 +194,53 @@ contexts:
comment: Builtin cmdlets with reserved verbs comment: Builtin cmdlets with reserved verbs
scope: support.function.powershell scope: support.function.powershell
commentEmbeddedDocs: commentEmbeddedDocs:
- match: ^(?i:(?:\s?|#)+(\.)(COMPONENT|DESCRIPTION|EXAMPLE|EXTERNALHELP|FORWARDHELPCATEGORY|FORWARDHELPTARGETNAME|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|REMOTEHELPRUNSPACE|ROLE|SYNOPSIS)) - match: (?:^|\G)(?i:\s*(\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\s*$
comment: these embedded doc keywords do not support arguments, must be the only thing on the line
scope: comment.documentation.embedded.powershell scope: comment.documentation.embedded.powershell
captures: captures:
1: constant.string.documentation.powershell 1: constant.string.documentation.powershell
2: keyword.operator.documentation.powershell 2: keyword.operator.documentation.powershell
- match: '(?i:\s?(\.)(PARAMETER|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP)\s+([a-z0-9-_]+))' - match: (?:^|\G)(?i:\s*(\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\s+(.+?)\s*$
comment: these embedded doc keywords require arguments though the type required may be inconsistent, they may not all be able to use the same argument match
scope: comment.documentation.embedded.powershell scope: comment.documentation.embedded.powershell
captures: captures:
1: constant.string.documentation.powershell 1: constant.string.documentation.powershell
2: keyword.operator.documentation.powershell 2: keyword.operator.documentation.powershell
3: keyword.operator.documentation.powershell 3: keyword.operator.documentation.powershell
commentLine: commentLine:
- match: '(?<![`\\-])#' - match: '(?<![`\\-])(#)#*'
captures: captures:
0: punctuation.definition.comment.powershell 1: punctuation.definition.comment.powershell
push: push:
- meta_scope: comment.line.powershell - meta_scope: comment.line.powershell
- match: $\n? - match: $\n?
captures: captures:
0: punctuation.definition.comment.powershell 1: punctuation.definition.comment.powershell
pop: true pop: true
- include: commentEmbeddedDocs - include: commentEmbeddedDocs
- include: RequiresDirective - include: RequiresDirective
doubleQuotedString: doubleQuotedString:
- match: (?<!(?<!`)")" - match: '["\x{201C}-\x{201E}]'
captures: captures:
0: punctuation.definition.string.begin.powershell 0: punctuation.definition.string.begin.powershell
push: push:
- meta_scope: string.quoted.double.powershell - meta_scope: string.quoted.double.powershell
- match: '"(?!")'
captures:
0: punctuation.definition.string.end.powershell
pop: true
- match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b' - match: '(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,64}\b'
- include: variableNoProperty - include: variableNoProperty
- include: doubleQuotedStringEscapes - include: doubleQuotedStringEscapes
- match: '["\x{201C}-\x{201E}]{2}'
scope: constant.character.escape.powershell
- include: interpolation - include: interpolation
- match: '`\s*$' - match: '`\s*$'
scope: keyword.other.powershell scope: keyword.other.powershell
- match: '["\x{201C}-\x{201E}]'
captures:
0: punctuation.definition.string.end.powershell
pop: true
doubleQuotedStringEscapes: doubleQuotedStringEscapes:
- match: '`[`0abefnrtv"''$]' - match: '`[`0abefnrtv''"\x{2018}-\x{201E}$]'
scope: constant.character.escape.powershell scope: constant.character.escape.powershell
- include: unicodeEscape - include: unicodeEscape
- match: '""'
scope: constant.character.escape.powershell
function: function:
- match: '^(?:\s*+)(?i)(function|filter|configuration|workflow)\s+(?:(global|local|script|private):)?((?:\p{L}|\d|_|-|\.)+)' - match: '^(?:\s*+)(?i)(function|filter|configuration|workflow)\s+(?:(global|local|script|private):)?((?:\p{L}|\d|_|-|\.)+)'
captures: captures:
@ -263,33 +272,23 @@ contexts:
4: keyword.operator.assignment.powershell 4: keyword.operator.assignment.powershell
- include: scriptblock - include: scriptblock
- include: main - include: main
interpolatedStringContent:
- match: \(
captures:
0: punctuation.section.group.begin.powershell
push:
- meta_content_scope: interpolated.simple.source.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
- include: interpolation
- include: interpolatedStringContent
interpolation: interpolation:
- match: (\$)(\() - match: (((\$)))((\())
captures: captures:
1: punctuation.definition.variable.powershell 1: keyword.other.substatement.powershell
2: punctuation.section.group.begin.powershell 2: punctuation.definition.substatement.powershell
3: punctuation.section.embedded.substatement.begin.powershell
4: punctuation.section.group.begin.powershell
5: punctuation.section.embedded.substatement.begin.powershell
push: push:
- meta_scope: meta.embedded.substatement.powershell
- meta_content_scope: interpolated.complex.source.powershell - meta_content_scope: interpolated.complex.source.powershell
- match: \) - match: (\))
captures: captures:
0: punctuation.section.group.end.powershell 0: punctuation.section.group.end.powershell
1: punctuation.section.embedded.substatement.end.powershell
pop: true pop: true
- include: main - include: main
- include: interpolation
- include: interpolatedStringContent
numericConstant: numericConstant:
- match: '(?<!\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b' - match: '(?<!\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\b'
captures: captures:
@ -330,6 +329,17 @@ contexts:
0: punctuation.section.braces.end.powershell 0: punctuation.section.braces.end.powershell
pop: true pop: true
- include: main - include: main
subexpression:
- match: \(
captures:
0: punctuation.section.group.begin.powershell
push:
- meta_scope: meta.group.simple.subexpression.powershell
- match: \)
captures:
0: punctuation.section.group.end.powershell
pop: true
- include: main
type: type:
- match: '\[' - match: '\['
captures: captures:

View File

@ -20,6 +20,6 @@
 'Path does not contain Rust'  'Path does not contain Rust'
} }
(5..30) | ? { $_ % (2 * 2 + 1) -eq 0 } | % {"In {0} minutes, the time will be {1}." -f $_, $( Get-FutureTime $_ )} (5..30) | ? { $_ % (2 * 2 + 1) -eq 0 } | % {"In {0} minutes, the time will be {1}." -f $_, $( Get-FutureTime $_ )}
$later = Get-FutureTime -Minutes $( Get-Random -Minimum 60 -Maximum 120 ) $later = Get-FutureTime -Minutes $( Get-Random -Minimum 60 -Maximum 120 )
"The time will be " + $later + " later." "The time will be " + $later + " later."