Skip to content

Commit 3a59105

Browse files
author
Michael Lyons
committed
Rebuild #Requires
1 parent e5a54f9 commit 3a59105

File tree

2 files changed

+66
-63
lines changed

2 files changed

+66
-63
lines changed

PowerShell.sublime-syntax

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,21 @@ contexts:
156156

157157
requires-directive:
158158
# TODO: add back `(?<=#)`-equivalent match
159-
- match: (?i:requires)\s
160-
scope: keyword.control.requires.powershell
159+
- match: (#)((?i:requires))\s
160+
captures:
161+
1: punctuation.definition.keyword.powershell
162+
2: keyword.control.import.require.powershell
161163
push:
162164
- meta_scope: meta.requires.powershell
163-
- match: $
165+
- match: \n|$
164166
pop: true
165167
- include: hashtable
166-
- match: \-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version)
167-
scope: keyword.other.powershell
168-
- match: '-'
169-
# Intentional no-scope match to skip leading `-`s below
170-
- match: \b\p{L}+|\d+(?:\.\d+)*
171-
scope: variable.parameter.powershell
168+
- match: (-)(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version)
169+
scope: variable.parameter.option.powershell
170+
captures:
171+
1: punctuation.definition.variable.powershell
172+
- match: ','
173+
scope: punctuation.separator.powershell
172174

173175
using-directive:
174176
- match: \b(?i:(using))\s+(?i:(namespace|module))\s+(?i:((?:\w+(?:\.)?)+))
@@ -254,14 +256,14 @@ contexts:
254256
3: markup.underline.link.powershell
255257

256258
comment-line:
259+
- include: requires-directive
257260
- match: '#'
258261
scope: punctuation.definition.comment.powershell
259262
push:
260263
- meta_scope: comment.line.powershell
261264
- match: \n|$
262265
pop: true
263266
- include: comment-embedded-docs
264-
- include: requires-directive
265267

266268
strings:
267269
- include: double-quoted-string

Tests/syntax_test_PowerShell.ps1

Lines changed: 54 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,70 +4,71 @@ using namespace System.Management.Automation
44
# ^ keyword.other
55
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variable.parameter
66
#Requires -PSSnapin DiskSnapin -Version 1.2
7-
# <- punctuation.definition.comment
8-
# ^ meta.requires keyword.control.requires
9-
# ^^^^^^^^^ meta.requires keyword.other
10-
# ^^^^^^^^^^ meta.requires variable.parameter
11-
# ^^^^^^^^ meta.requires keyword.other
12-
# ^^^ meta.requires variable.parameter
7+
# <- punctuation.definition.keyword
8+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
9+
#^^^^^^^^ keyword.control.import.require
10+
# ^^^^^^^^^ variable.parameter
11+
# ^^^^^^^^ variable.parameter
1312
#Requires -PSSnapin DiskSnapin
14-
# <- punctuation.definition.comment
15-
# ^ meta.requires keyword.control.requires
16-
# ^^^^^^^^^ meta.requires keyword.other
17-
# ^^^^^^^^^^ meta.requires variable.parameter
13+
# <- punctuation.definition.keyword
14+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
15+
#^^^^^^^^ keyword.control.import.require
16+
# ^^^^^^^^^ variable.parameter
1817
#Requires -Version 3
19-
# <- punctuation.definition.comment
20-
# ^ meta.requires keyword.control.requires
21-
# ^^^^^^^^ meta.requires keyword.other
22-
# ^ meta.requires variable.parameter
18+
# <- punctuation.definition.keyword
19+
#^^^^^^^^^^^^^^^^^^^ meta.requires
20+
#^^^^^^^^ keyword.control.import.require
21+
# ^^^^^^^^ variable.parameter
2322
#Requires -Version 3.0
24-
# <- punctuation.definition.comment
25-
# ^ meta.requires keyword.control.requires
26-
# ^^^^^^^^ meta.requires keyword.other
27-
# ^^^ meta.requires variable.parameter
23+
# <- punctuation.definition.keyword
24+
#^^^^^^^^^^^^^^^^^^^^^ meta.requires
25+
#^^^^^^^^ keyword.control.import.require
26+
# ^^^^^^^^ variable.parameter
2827
#Requires -Version 3 -RunAsAdministrator
29-
# <- punctuation.definition.comment
30-
# ^ meta.requires keyword.control.requires
31-
# ^^^^^^^^ meta.requires keyword.other
32-
# ^ meta.requires variable.parameter
33-
# ^^^^^^^^^^^^^^^^^^^ meta.requires keyword.other
28+
# <- punctuation.definition.keyword
29+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
30+
#^^^^^^^^ keyword.control.import.require
31+
# ^^^^^^^^ variable.parameter
32+
# ^^^^^^^^^^^^^^^^^^^ variable.parameter
3433
#Requires -RunAsAdministrator
35-
# <- punctuation.definition.comment
36-
# ^ meta.requires keyword.control.requires
37-
# ^^^^^^^^^^^^^^^^^^^ meta.requires keyword.other
34+
# <- punctuation.definition.keyword
35+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
36+
#^^^^^^^^ keyword.control.import.require
37+
# ^^^^^^^^^ variable.parameter
3838
#Requires -Modules PSWorkflow
39-
# <- punctuation.definition.comment
40-
# ^ meta.requires keyword.control.requires
41-
# ^^^^^^^^ meta.requires keyword.other
42-
# ^^^^^^^^^^ meta.requires variable.parameter
39+
# <- punctuation.definition.keyword
40+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
41+
#^^^^^^^^ keyword.control.import.require
42+
# ^^^^^^^^ variable.parameter
4343
#Requires -Modules PSWorkflow -ThisIsInvalid
44-
# <- punctuation.definition.comment
45-
# ^ meta.requires keyword.control.requires
46-
# ^^^^^^^^ meta.requires keyword.other
47-
# ^^^^^^^^^^ meta.requires variable.parameter
48-
# ^^^^^^^^^^^^^^ meta.requires
44+
# <- punctuation.definition.keyword
45+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
46+
#^^^^^^^^ keyword.control.import.require
47+
# ^^^^^^^^ variable.parameter
48+
# ^^^^^^^^ - variable.parameter
4949
#Requires -Modules PSWorkflow, ActiveDirectory
50-
# <- punctuation.definition.comment
51-
# ^ meta.requires keyword.control.requires
52-
# ^^^^^^^^ meta.requires keyword.other
53-
# ^^^^^^^^^^ meta.requires variable.parameter
54-
# ^^^^^^^^^^^^^^^ meta.requires variable.parameter
50+
# <- punctuation.definition.keyword
51+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
52+
#^^^^^^^^ keyword.control.import.require
53+
# ^^^^^^^^ variable.parameter
54+
# ^ punctuation.separator
5555
#Requires -Modules PSWorkflow,ActiveDirectory
56-
# <- punctuation.definition.comment
57-
# ^ meta.requires keyword.control.requires
58-
# ^^^^^^^^ meta.requires keyword.other
59-
# ^^^^^^^^^^ meta.requires variable.parameter
60-
# ^^^^^^^^^^^^^^^ meta.requires variable.parameter
56+
# <- punctuation.definition.keyword
57+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
58+
#^^^^^^^^ keyword.control.import.require
59+
# ^^^^^^^^ variable.parameter
60+
# ^ punctuation.separator
6161
#Requires -ShellId MyLocalShell
62-
# <- punctuation.definition.comment
63-
# ^ meta.requires keyword.control.requires
64-
# ^^^^^^^^ meta.requires keyword.other
65-
# ^^^^^^^^^^^^ meta.requires variable.parameter
62+
# <- punctuation.definition.keyword
63+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
64+
#^^^^^^^^ keyword.control.import.require
65+
# ^^^^^^^^ variable.parameter
6666
#Requires -Modules PSWorkflow, @{ModuleName="PSScheduledJob"; ModuleVersion="1.0.0.0"}
67-
# <- punctuation.definition.comment
68-
# ^ meta.requires keyword.control.requires
69-
# ^^^^^^^^ meta.requires keyword.other
70-
# ^^^^^^^^^^ meta.requires variable.parameter
67+
# <- punctuation.definition.keyword
68+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.requires
69+
#^^^^^^^^ keyword.control.import.require
70+
# ^^^^^^^^ variable.parameter
71+
# ^ punctuation.separator
7172
# ^^^^^^^^^^ meta.requires meta.hashtable variable.other.readwrite
7273
# ^ meta.requires meta.hashtable
7374
# ^^^^^^^^^^^^^^^^ meta.requires meta.hashtable string.quoted.double

0 commit comments

Comments
 (0)