Skip to content

Commit

Permalink
dot source and unquoted argument updates
Browse files Browse the repository at this point in the history
  • Loading branch information
msftrncs committed Mar 30, 2019
1 parent fd37e90 commit ab8e463
Showing 1 changed file with 101 additions and 16 deletions.
117 changes: 101 additions & 16 deletions PowerShellSyntax.tmLanguage
Expand Up @@ -2584,7 +2584,7 @@
<key>comment</key>
<string>(dot) source operator, requires trailing space, or invoke operator</string>
<key>begin</key>
<string>&amp;|\.(?=\*?[\s,;&amp;|{}\(\)]|\$[\p{L}$?^:_{])</string>
<string>&amp;|\.(?=[\s{(,;&amp;|)}"\x{201C}-\x{201E}'\x{2018}-\x{201B}]|\$[\p{L}$?^:_{(])</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
Expand Down Expand Up @@ -2860,10 +2860,6 @@
<key>include</key>
<string>#expressionGroup</string>
</dict>
<dict>
<key>include</key>
<string>#substatement</string>
</dict>
<dict>
<key>include</key>
<string>#hashtable</string>
Expand All @@ -2874,15 +2870,81 @@
</dict>
<dict>
<key>include</key>
<string>#variable</string>
<string>#quotedStrings_Members</string>
</dict>
<dict>
<key>include</key>
<string>#quotedStrings_Members</string>
<string>#numericConstant_argumentMode</string>
</dict>
<dict>
<key>comment</key>
<string>could be variable reference, if it doesn't have member reference, its the start of an unquoted expandable string</string>
<key>begin</key>
<string>(?=\$(?!\())</string>
<key>end</key>
<string>(?=.|$)</string>
<key>applyEndPatternLast</key>
<true/>
<key>patterns</key>
<array>
<dict>
<key>comment</key>
<string>check out the first variable reference</string>
<key>begin</key>
<string>\G(?=\$)</string>
<key>end</key>
<string>(?!\G)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#variableNoProperty</string>
</dict>
</array>
</dict>
<dict>
<key>comment</key>
<string>if a member access doesn't occur after variable, finish as an unquoted expandable string argument.</string>
<key>begin</key>
<string>(?=[^\s{(,;&amp;|)}])(?!(?=\.(?!\.)|::|\[))</string>
<key>end</key>
<string>(?=.|$)</string>
<key>applyEndPatternLast</key>
<true/>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#unquotedArgument</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(?=\.(?!\.)|::|\[)</string>
<key>end</key>
<string>(?=.|$)</string>
<key>applyEndPatternLast</key>
<true/>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#accessors</string>
</dict>
<dict>
<key>comment</key>
<string>attempt another argument after member access</string>
<key>include</key>
<string>#argument</string>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>include</key>
<string>#numericConstant_argumentMode</string>
<string>#substatement</string>
</dict>
<dict>
<key>include</key>
Expand Down Expand Up @@ -2996,6 +3058,12 @@
<key>name</key>
<string>invalid.character.escape.powershell</string>
</dict>
<dict>
<key>match</key>
<string>\.(?=\$)</string>
<key>name</key>
<string>string.unquoted.argument.powershell</string>
</dict>
<dict>
<key>begin</key>
<string>(?=[^\s{(,;&amp;|)}])</string>
Expand Down Expand Up @@ -5746,14 +5814,14 @@
<key>begin</key>
<string>(?=\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]|\{))</string>
<key>end</key>
<string>(?=.|$)</string>
<string>(?!\G)</string>
<key>applyEndPatternLast</key>
<true/>
<false/>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])(?=\.(?!\.)|::|\[)</string>
<string>\G\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])(?=\.(?!\.)|::|\[)</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
Expand Down Expand Up @@ -5781,7 +5849,7 @@
</dict>
<dict>
<key>match</key>
<string>\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string>
<string>\G\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string>
<key>captures</key>
<dict>
<key>0</key>
Expand All @@ -5806,7 +5874,7 @@
<key>comment</key>
<string>splatting cannot have members and certain characters following, including no line comment</string>
<key>match</key>
<string>(?&gt;@(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]))(?![~`!@#$%^*&lt;&gt;\]\\/"\x{201C}-\x{201E}'\x{2018}-\x{201B}+-])</string>
<string>\G(?&gt;@(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]))(?![~`!@#$%^*&lt;&gt;\]\\/"\x{201C}-\x{201E}'\x{2018}-\x{201B}+-])</string>
<key>captures</key>
<dict>
<key>0</key>
Expand All @@ -5828,14 +5896,14 @@
<key>begin</key>
<string>(?=\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]|\{))</string>
<key>end</key>
<string>(?=.|$)</string>
<string>(?!\G)</string>
<key>applyEndPatternLast</key>
<true/>
<false/>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string>
<string>\G\$(?:(?&gt;[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string>
<key>captures</key>
<dict>
<key>0</key>
Expand Down Expand Up @@ -6255,6 +6323,23 @@
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>\$\{</string>
<key>end</key>
<string>}</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\$</string>
</dict>
<dict>
<key>include</key>
<string>#functionName</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>unquotedStrings_text</key>
Expand Down

0 comments on commit ab8e463

Please sign in to comment.