|
2584 | 2584 | <key>comment</key> |
2585 | 2585 | <string>(dot) source operator, requires trailing space, or invoke operator</string> |
2586 | 2586 | <key>begin</key> |
2587 | | - <string>&|\.(?=\*?[\s,;&|{}\(\)]|\$[\p{L}$?^:_{])</string> |
| 2587 | + <string>&|\.(?=[\s{(,;&|)}"\x{201C}-\x{201E}'\x{2018}-\x{201B}]|\$[\p{L}$?^:_{(])</string> |
2588 | 2588 | <key>beginCaptures</key> |
2589 | 2589 | <dict> |
2590 | 2590 | <key>0</key> |
|
2860 | 2860 | <key>include</key> |
2861 | 2861 | <string>#expressionGroup</string> |
2862 | 2862 | </dict> |
2863 | | - <dict> |
2864 | | - <key>include</key> |
2865 | | - <string>#substatement</string> |
2866 | | - </dict> |
2867 | 2863 | <dict> |
2868 | 2864 | <key>include</key> |
2869 | 2865 | <string>#hashtable</string> |
|
2874 | 2870 | </dict> |
2875 | 2871 | <dict> |
2876 | 2872 | <key>include</key> |
2877 | | - <string>#variable</string> |
| 2873 | + <string>#quotedStrings_Members</string> |
2878 | 2874 | </dict> |
2879 | 2875 | <dict> |
2880 | 2876 | <key>include</key> |
2881 | | - <string>#quotedStrings_Members</string> |
| 2877 | + <string>#numericConstant_argumentMode</string> |
| 2878 | + </dict> |
| 2879 | + <dict> |
| 2880 | + <key>comment</key> |
| 2881 | + <string>could be variable reference, if it doesn't have member reference, its the start of an unquoted expandable string</string> |
| 2882 | + <key>begin</key> |
| 2883 | + <string>(?=\$(?!\())</string> |
| 2884 | + <key>end</key> |
| 2885 | + <string>(?=.|$)</string> |
| 2886 | + <key>applyEndPatternLast</key> |
| 2887 | + <true/> |
| 2888 | + <key>patterns</key> |
| 2889 | + <array> |
| 2890 | + <dict> |
| 2891 | + <key>comment</key> |
| 2892 | + <string>check out the first variable reference</string> |
| 2893 | + <key>begin</key> |
| 2894 | + <string>\G(?=\$)</string> |
| 2895 | + <key>end</key> |
| 2896 | + <string>(?!\G)</string> |
| 2897 | + <key>patterns</key> |
| 2898 | + <array> |
| 2899 | + <dict> |
| 2900 | + <key>include</key> |
| 2901 | + <string>#variableNoProperty</string> |
| 2902 | + </dict> |
| 2903 | + </array> |
| 2904 | + </dict> |
| 2905 | + <dict> |
| 2906 | + <key>comment</key> |
| 2907 | + <string>if a member access doesn't occur after variable, finish as an unquoted expandable string argument.</string> |
| 2908 | + <key>begin</key> |
| 2909 | + <string>(?=[^\s{(,;&|)}])(?!(?=\.(?!\.)|::|\[))</string> |
| 2910 | + <key>end</key> |
| 2911 | + <string>(?=.|$)</string> |
| 2912 | + <key>applyEndPatternLast</key> |
| 2913 | + <true/> |
| 2914 | + <key>patterns</key> |
| 2915 | + <array> |
| 2916 | + <dict> |
| 2917 | + <key>include</key> |
| 2918 | + <string>#unquotedArgument</string> |
| 2919 | + </dict> |
| 2920 | + </array> |
| 2921 | + </dict> |
| 2922 | + <dict> |
| 2923 | + <key>begin</key> |
| 2924 | + <string>(?=\.(?!\.)|::|\[)</string> |
| 2925 | + <key>end</key> |
| 2926 | + <string>(?=.|$)</string> |
| 2927 | + <key>applyEndPatternLast</key> |
| 2928 | + <true/> |
| 2929 | + <key>patterns</key> |
| 2930 | + <array> |
| 2931 | + <dict> |
| 2932 | + <key>include</key> |
| 2933 | + <string>#accessors</string> |
| 2934 | + </dict> |
| 2935 | + <dict> |
| 2936 | + <key>comment</key> |
| 2937 | + <string>attempt another argument after member access</string> |
| 2938 | + <key>include</key> |
| 2939 | + <string>#argument</string> |
| 2940 | + </dict> |
| 2941 | + </array> |
| 2942 | + </dict> |
| 2943 | + </array> |
2882 | 2944 | </dict> |
2883 | 2945 | <dict> |
2884 | 2946 | <key>include</key> |
2885 | | - <string>#numericConstant_argumentMode</string> |
| 2947 | + <string>#substatement</string> |
2886 | 2948 | </dict> |
2887 | 2949 | <dict> |
2888 | 2950 | <key>include</key> |
|
2996 | 3058 | <key>name</key> |
2997 | 3059 | <string>invalid.character.escape.powershell</string> |
2998 | 3060 | </dict> |
| 3061 | + <dict> |
| 3062 | + <key>match</key> |
| 3063 | + <string>\.(?=\$)</string> |
| 3064 | + <key>name</key> |
| 3065 | + <string>string.unquoted.argument.powershell</string> |
| 3066 | + </dict> |
2999 | 3067 | <dict> |
3000 | 3068 | <key>begin</key> |
3001 | 3069 | <string>(?=[^\s{(,;&|)}])</string> |
|
5746 | 5814 | <key>begin</key> |
5747 | 5815 | <string>(?=\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]|\{))</string> |
5748 | 5816 | <key>end</key> |
5749 | | - <string>(?=.|$)</string> |
| 5817 | + <string>(?!\G)</string> |
5750 | 5818 | <key>applyEndPatternLast</key> |
5751 | | - <true/> |
| 5819 | + <false/> |
5752 | 5820 | <key>patterns</key> |
5753 | 5821 | <array> |
5754 | 5822 | <dict> |
5755 | 5823 | <key>begin</key> |
5756 | | - <string>\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])(?=\.(?!\.)|::|\[)</string> |
| 5824 | + <string>\G\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])(?=\.(?!\.)|::|\[)</string> |
5757 | 5825 | <key>beginCaptures</key> |
5758 | 5826 | <dict> |
5759 | 5827 | <key>0</key> |
|
5781 | 5849 | </dict> |
5782 | 5850 | <dict> |
5783 | 5851 | <key>match</key> |
5784 | | - <string>\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string> |
| 5852 | + <string>\G\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string> |
5785 | 5853 | <key>captures</key> |
5786 | 5854 | <dict> |
5787 | 5855 | <key>0</key> |
|
5806 | 5874 | <key>comment</key> |
5807 | 5875 | <string>splatting cannot have members and certain characters following, including no line comment</string> |
5808 | 5876 | <key>match</key> |
5809 | | - <string>(?>@(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]))(?![~`!@#$%^*<>\]\\/"\x{201C}-\x{201E}'\x{2018}-\x{201B}+-])</string> |
| 5877 | + <string>\G(?>@(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]))(?![~`!@#$%^*<>\]\\/"\x{201C}-\x{201E}'\x{2018}-\x{201B}+-])</string> |
5810 | 5878 | <key>captures</key> |
5811 | 5879 | <dict> |
5812 | 5880 | <key>0</key> |
|
5828 | 5896 | <key>begin</key> |
5829 | 5897 | <string>(?=\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:]|\{))</string> |
5830 | 5898 | <key>end</key> |
5831 | | - <string>(?=.|$)</string> |
| 5899 | + <string>(?!\G)</string> |
5832 | 5900 | <key>applyEndPatternLast</key> |
5833 | | - <true/> |
| 5901 | + <false/> |
5834 | 5902 | <key>patterns</key> |
5835 | 5903 | <array> |
5836 | 5904 | <dict> |
5837 | 5905 | <key>match</key> |
5838 | | - <string>\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string> |
| 5906 | + <string>\G\$(?:(?>[\w][\w?]*:(?!:)|:)?(?:[\w?](?:[\w?]|:(?!:))*|:(?!:))|[$^:])</string> |
5839 | 5907 | <key>captures</key> |
5840 | 5908 | <dict> |
5841 | 5909 | <key>0</key> |
|
6255 | 6323 | </dict> |
6256 | 6324 | </array> |
6257 | 6325 | </dict> |
| 6326 | + <dict> |
| 6327 | + <key>begin</key> |
| 6328 | + <string>\$\{</string> |
| 6329 | + <key>end</key> |
| 6330 | + <string>}</string> |
| 6331 | + <key>patterns</key> |
| 6332 | + <array> |
| 6333 | + <dict> |
| 6334 | + <key>match</key> |
| 6335 | + <string>\$</string> |
| 6336 | + </dict> |
| 6337 | + <dict> |
| 6338 | + <key>include</key> |
| 6339 | + <string>#functionName</string> |
| 6340 | + </dict> |
| 6341 | + </array> |
| 6342 | + </dict> |
6258 | 6343 | </array> |
6259 | 6344 | </dict> |
6260 | 6345 | <key>unquotedStrings_text</key> |
|
0 commit comments