@@ -9,10 +9,18 @@ Prism.languages.powershell = {
9
9
lookbehind : true
10
10
}
11
11
] ,
12
- 'string' : {
13
- pattern : / ( " | ' ) ( ` ? [ \w \W ] ) * ?\1/ m,
14
- inside : { }
15
- } ,
12
+ 'string' : [
13
+ {
14
+ pattern : / " ( ` ? [ \w \W ] ) * ?" / m,
15
+ inside : {
16
+ 'powershell' : {
17
+ pattern : / [ ^ ` ] \$ \( .* ?\) / ,
18
+ inside : { }
19
+ }
20
+ }
21
+ } ,
22
+ / ' ( ' ? [ \w \W ] ) * ?' / m
23
+ ] ,
16
24
// Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices
17
25
'namespace' : / \[ [ a - z ] [ \w \W ] * ?\] / i,
18
26
'boolean' : / \$ ( t r u e | f a l s e ) \b / i,
@@ -22,13 +30,17 @@ Prism.languages.powershell = {
22
30
// Cmdlets and aliases. Aliases should come last, otherwise "write" gets preferred over "write-host" for example
23
31
// Get-Command | ?{ $_.ModuleName -match "Microsoft.PowerShell.(Util|Core|Management)" }
24
32
// Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match "Microsoft.PowerShell.(Util|Core|Management)" }
25
- 'function' : / \b ( A d d - ( C o m p u t e r | C o n t e n t | H i s t o r y | M e m b e r | P S S n a p i n | T y p e ) | C h e c k p o i n t - ( C o m p u t e r | C o n t e n t | E v e n t L o g | H i s t o r y | I t e m | I t e m P r o p e r t y | V a r i a b l e ) | C o m p a r e - ( O b j e c t ) | C o m p l e t e - ( T r a n s a c t i o n ) | C o n n e c t - ( P S S e s s i o n ) | C o n v e r t F r o m - ( C s v | J s o n | S t r i n g D a t a ) | C o n v e r t - ( P a t h ) | C o n v e r t T o - ( C s v | H t m l | J s o n | X m l ) | C o p y - ( I t e m | I t e m P r o p e r t y ) | D e b u g - ( P r o c e s s ) | D i s a b l e - ( C o m p u t e r R e s t o r e | P S B r e a k p o i n t | P S R e m o t i n g | P S S e s s i o n C o n f i g u r a t i o n ) | D i s c o n n e c t - ( P S S e s s i o n ) | E n a b l e - ( C o m p u t e r R e s t o r e | P S B r e a k p o i n t | P S R e m o t i n g | P S S e s s i o n C o n f i g u r a t i o n ) | E n t e r - ( P S S e s s i o n ) | E x i t - ( P S S e s s i o n ) | E x p o r t - ( A l i a s | C l i x m l | C o n s o l e | C s v | F o r m a t D a t a | M o d u l e M e m b e r | P S S e s s i o n ) | F o r E a c h - ( O b j e c t ) | F o r m a t - ( C u s t o m | L i s t | T a b l e | W i d e ) | G e t - ( A l i a s | C h i l d I t e m | C o m m a n d | C o m p u t e r R e s t o r e P o i n t | C o n t e n t | C o n t r o l P a n e l I t e m | C u l t u r e | D a t e | E v e n t | E v e n t L o g | E v e n t S u b s c r i b e r | F o r m a t D a t a | H e l p | H i s t o r y | H o s t | H o t F i x | I t e m | I t e m P r o p e r t y | J o b | L o c a t i o n | M e m b e r | M o d u l e | P r o c e s s | P S B r e a k p o i n t | P S C a l l S t a c k | P S D r i v e | P S P r o v i d e r | P S S e s s i o n | P S S e s s i o n C o n f i g u r a t i o n | P S S n a p i n | R a n d o m | S e r v i c e | T r a c e S o u r c e | T r a n s a c t i o n | T y p e D a t a | U I C u l t u r e | U n i q u e | V a r i a b l e | W m i O b j e c t ) | G r o u p - ( O b j e c t ) | I m p o r t - ( A l i a s | C l i x m l | C s v | L o c a l i z e d D a t a | M o d u l e | P S S e s s i o n ) | I n v o k e - ( C o m m a n d | E x p r e s s i o n | H i s t o r y | I t e m | R e s t M e t h o d | W e b R e q u e s t | W m i M e t h o d ) | J o i n - ( P a t h ) | L i m i t - ( E v e n t L o g ) | M e a s u r e - ( C o m m a n d ) | M e a s u r e - ( O b j e c t ) | M o v e - ( I t e m | I t e m P r o p e r t y ) | N e w - ( A l i a s | E v e n t | E v e n t L o g | I t e m | I t e m P r o p e r t y | M o d u l e | M o d u l e M a n i f e s t | O b j e c t | P S D r i v e | P S S e s s i o n | P S S e s s i o n C o n f i g u r a t i o n F i l e | P S S e s s i o n O p t i o n | P S T r a n s p o r t O p t i o n | S e r v i c e | T i m e S p a n | V a r i a b l e | W e b S e r v i c e P r o x y ) | O u t - ( D e f a u l t | F i l e | G r i d V i e w | H o s t | N u l l | P r i n t e r | S t r i n g ) | P o p - ( L o c a t i o n ) | P u s h - ( L o c a t i o n ) | R e a d - ( H o s t ) | R e c e i v e - ( J o b ) | R e c e i v e - ( P S S e s s i o n ) | R e g i s t e r - ( E n g i n e E v e n t | O b j e c t E v e n t | P S S e s s i o n C o n f i g u r a t i o n | W m i E v e n t ) | R e m o v e - ( C o m p u t e r | E v e n t | E v e n t L o g | I t e m | I t e m P r o p e r t y | J o b | M o d u l e | P S B r e a k p o i n t | P S D r i v e | P S S e s s i o n | P S S n a p i n | T y p e D a t a | V a r i a b l e | W m i O b j e c t ) | R e n a m e - ( C o m p u t e r | I t e m | I t e m P r o p e r t y ) | R e s e t - ( C o m p u t e r M a c h i n e P a s s w o r d ) | R e s o l v e - ( P a t h ) | R e s t a r t - ( C o m p u t e r | S e r v i c e ) | R e s t o r e - ( C o m p u t e r ) | R e s u m e - ( J o b | S e r v i c e ) | S a v e - ( H e l p ) | S e l e c t - ( O b j e c t | S t r i n g | X m l ) | S e n d - ( M a i l M e s s a g e ) | S e t - ( A l i a s | C o n t e n t | D a t e | I t e m | I t e m P r o p e r t y | L o c a t i o n | P S B r e a k p o i n t | P S D e b u g | P S S e s s i o n C o n f i g u r a t i o n | S e r v i c e | S t r i c t M o d e | T r a c e S o u r c e | V a r i a b l e | W m i I n s t a n c e ) | S h o w - ( C o m m a n d | C o n t r o l P a n e l I t e m | E v e n t L o g ) | S o r t - ( O b j e c t ) | S p l i t - ( P a t h ) | S t a r t - ( J o b | P r o c e s s | S e r v i c e | S l e e p | T r a n s a c t i o n ) | S t o p - ( C o m p u t e r | J o b | P r o c e s s | S e r v i c e ) | S u s p e n d - ( J o b | S e r v i c e ) | T e e - ( O b j e c t ) | T e s t - ( C o m p u t e r S e c u r e C h a n n e l | C o n n e c t i o n | M o d u l e M a n i f e s t | P a t h | P S S e s s i o n C o n f i g u r a t i o n F i l e ) | T r a c e - ( C o m m a n d ) | U n b l o c k - ( F i l e ) | U n d o - ( T r a n s a c t i o n ) | U n r e g i s t e r - ( E v e n t | P S S e s s i o n C o n f i g u r a t i o n ) | U p d a t e - ( F o r m a t D a t a ) | U p d a t e - ( H e l p | L i s t | T y p e D a t a ) | U s e - ( T r a n s a c t i o n ) | W a i t - ( E v e n t | J o b | P r o c e s s ) | W h e r e - ( O b j e c t ) | W r i t e - ( D e b u g | E r r o r | E v e n t L o g | H o s t | O u t p u t | P r o g r e s s | V e r b o s e | W a r n i n g ) | a c | c a t | c d | c h d i r | c l c | c l i | c l p | c l v | c o m p a r e | c o p y | c p | c p i | c p p | c v p a | d b p | d e l | d i f f | d i r | e b p | e c h o | e p a l | e p c s v | e p s n | e r a s e | f c | f l | f t | f w | g a l | g b p | g c | g c i | g c s | g d r | g i | g l | g m | g p | g p s | g r o u p | g s v | g u | g v | g w m i | i e x | i i | i p a l | i p c s v | i p s n | i r m | i w m i | i w r | k i l l | l p | l s | m e a s u r e | m i | m o u n t | m o v e | m p | m v | n a l | n d r | n i | n v | o g v | p o p d | p s | p u s h d | p w d | r b p | r d | r d r | r e n | r i | r m | r m d i r | r n i | r n p | r p | r v | r v p a | r w m i | s a l | s a p s | s a s v | s b p | s c | s e l e c t | s e t | s h c m | s i | s l | s l e e p | s l s | s o r t | s p | s p p s | s p s v | s t a r t | s v | s w m i | t e e | t r c m | t y p e | w r i t e ) \b / i,
33
+ 'function' : [
34
+ / \b ( A d d - ( C o m p u t e r | C o n t e n t | H i s t o r y | M e m b e r | P S S n a p i n | T y p e ) | C h e c k p o i n t - C o m p u t e r | C l e a r - ( C o n t e n t | E v e n t L o g | H i s t o r y | I t e m | I t e m P r o p e r t y | V a r i a b l e ) | C o m p a r e - O b j e c t | C o m p l e t e - T r a n s a c t i o n | C o n n e c t - P S S e s s i o n | C o n v e r t F r o m - ( C s v | J s o n | S t r i n g D a t a ) | C o n v e r t - P a t h | C o n v e r t T o - ( C s v | H t m l | J s o n | X m l ) | C o p y - ( I t e m | I t e m P r o p e r t y ) | D e b u g - P r o c e s s | D i s a b l e - ( C o m p u t e r R e s t o r e | P S B r e a k p o i n t | P S R e m o t i n g | P S S e s s i o n C o n f i g u r a t i o n ) | D i s c o n n e c t - P S S e s s i o n | E n a b l e - ( C o m p u t e r R e s t o r e | P S B r e a k p o i n t | P S R e m o t i n g | P S S e s s i o n C o n f i g u r a t i o n ) | E n t e r - P S S e s s i o n | E x i t - P S S e s s i o n | E x p o r t - ( A l i a s | C l i x m l | C o n s o l e | C s v | F o r m a t D a t a | M o d u l e M e m b e r | P S S e s s i o n ) | F o r E a c h - O b j e c t | F o r m a t - ( C u s t o m | L i s t | T a b l e | W i d e ) | G e t - ( A l i a s | C h i l d I t e m | C o m m a n d | C o m p u t e r R e s t o r e P o i n t | C o n t e n t | C o n t r o l P a n e l I t e m | C u l t u r e | D a t e | E v e n t | E v e n t L o g | E v e n t S u b s c r i b e r | F o r m a t D a t a | H e l p | H i s t o r y | H o s t | H o t F i x | I t e m | I t e m P r o p e r t y | J o b | L o c a t i o n | M e m b e r | M o d u l e | P r o c e s s | P S B r e a k p o i n t | P S C a l l S t a c k | P S D r i v e | P S P r o v i d e r | P S S e s s i o n | P S S e s s i o n C o n f i g u r a t i o n | P S S n a p i n | R a n d o m | S e r v i c e | T r a c e S o u r c e | T r a n s a c t i o n | T y p e D a t a | U I C u l t u r e | U n i q u e | V a r i a b l e | W m i O b j e c t ) | G r o u p - O b j e c t | I m p o r t - ( A l i a s | C l i x m l | C s v | L o c a l i z e d D a t a | M o d u l e | P S S e s s i o n ) | I n v o k e - ( C o m m a n d | E x p r e s s i o n | H i s t o r y | I t e m | R e s t M e t h o d | W e b R e q u e s t | W m i M e t h o d ) | J o i n - P a t h | L i m i t - E v e n t L o g | M e a s u r e - ( C o m m a n d | O b j e c t ) | M o v e - ( I t e m | I t e m P r o p e r t y ) | N e w - ( A l i a s | E v e n t | E v e n t L o g | I t e m | I t e m P r o p e r t y | M o d u l e | M o d u l e M a n i f e s t | O b j e c t | P S D r i v e | P S S e s s i o n | P S S e s s i o n C o n f i g u r a t i o n F i l e | P S S e s s i o n O p t i o n | P S T r a n s p o r t O p t i o n | S e r v i c e | T i m e S p a n | V a r i a b l e | W e b S e r v i c e P r o x y ) | O u t - ( D e f a u l t | F i l e | G r i d V i e w | H o s t | N u l l | P r i n t e r | S t r i n g ) | P o p - L o c a t i o n | P u s h - L o c a t i o n | R e a d - H o s t | R e c e i v e - ( J o b | P S S e s s i o n ) | R e g i s t e r - ( E n g i n e E v e n t | O b j e c t E v e n t | P S S e s s i o n C o n f i g u r a t i o n | W m i E v e n t ) | R e m o v e - ( C o m p u t e r | E v e n t | E v e n t L o g | I t e m | I t e m P r o p e r t y | J o b | M o d u l e | P S B r e a k p o i n t | P S D r i v e | P S S e s s i o n | P S S n a p i n | T y p e D a t a | V a r i a b l e | W m i O b j e c t ) | R e n a m e - ( C o m p u t e r | I t e m | I t e m P r o p e r t y ) | R e s e t - C o m p u t e r M a c h i n e P a s s w o r d | R e s o l v e - P a t h | R e s t a r t - ( C o m p u t e r | S e r v i c e ) | R e s t o r e - C o m p u t e r | R e s u m e - ( J o b | S e r v i c e ) | S a v e - H e l p | S e l e c t - ( O b j e c t | S t r i n g | X m l ) | S e n d - M a i l M e s s a g e | S e t - ( A l i a s | C o n t e n t | D a t e | I t e m | I t e m P r o p e r t y | L o c a t i o n | P S B r e a k p o i n t | P S D e b u g | P S S e s s i o n C o n f i g u r a t i o n | S e r v i c e | S t r i c t M o d e | T r a c e S o u r c e | V a r i a b l e | W m i I n s t a n c e ) | S h o w - ( C o m m a n d | C o n t r o l P a n e l I t e m | E v e n t L o g ) | S o r t - O b j e c t | S p l i t - P a t h | S t a r t - ( J o b | P r o c e s s | S e r v i c e | S l e e p | T r a n s a c t i o n ) | S t o p - ( C o m p u t e r | J o b | P r o c e s s | S e r v i c e ) | S u s p e n d - ( J o b | S e r v i c e ) | T e e - O b j e c t | T e s t - ( C o m p u t e r S e c u r e C h a n n e l | C o n n e c t i o n | M o d u l e M a n i f e s t | P a t h | P S S e s s i o n C o n f i g u r a t i o n F i l e ) | T r a c e - C o m m a n d | U n b l o c k - F i l e | U n d o - T r a n s a c t i o n | U n r e g i s t e r - ( E v e n t | P S S e s s i o n C o n f i g u r a t i o n ) | U p d a t e - ( F o r m a t D a t a | H e l p | L i s t | T y p e D a t a ) | U s e - T r a n s a c t i o n | W a i t - ( E v e n t | J o b | P r o c e s s ) | W h e r e - O b j e c t | W r i t e - ( D e b u g | E r r o r | E v e n t L o g | H o s t | O u t p u t | P r o g r e s s | V e r b o s e | W a r n i n g ) ) \b / i,
35
+ / \b ( a c | c a t | c h d i r | c l c | c l i | c l p | c l v | c o m p a r e | c o p y | c p | c p i | c p p | c v p a | d b p | d e l | d i f f | d i r | e b p | e c h o | e p a l | e p c s v | e p s n | e r a s e | f c | f l | f t | f w | g a l | g b p | g c | g c i | g c s | g d r | g i | g l | g m | g p | g p s | g r o u p | g s v | g u | g v | g w m i | i e x | i i | i p a l | i p c s v | i p s n | i r m | i w m i | i w r | k i l l | l p | l s | m e a s u r e | m i | m o u n t | m o v e | m p | m v | n a l | n d r | n i | n v | o g v | p o p d | p s | p u s h d | p w d | r b p | r d | r d r | r e n | r i | r m | r m d i r | r n i | r n p | r p | r v | r v p a | r w m i | s a l | s a p s | s a s v | s b p | s c | s e l e c t | s e t | s h c m | s i | s l | s l e e p | s l s | s o r t | s p | s p p s | s p s v | s t a r t | s v | s w m i | t e e | t r c m | t y p e | w r i t e ) \b / i
36
+ ] ,
26
37
'operator' : {
27
- pattern : / ( \W ) - ( a n d | x ? o r | n o t | e q | n e | g t | g e | l t | l e | L i k e | ( N o t ) ? ( L i k e | M a t c h | C o n t a i n s | I n ) | R e p l a c e ) \b / i,
38
+ pattern : / ( \W ) ( ! | - ( e q | n e | g t | g e | l t | l e | s h [ l r ] | b ? ( a n d | x ? o r ) | ( N o t ) ? ( L i k e | M a t c h | C o n t a i n s | I n ) | R e p l a c e | J o i n | i s ( N o t ) ? | a s ) | [ - + * / % ] = ? ) \s * \b / i,
28
39
lookbehind : true
29
40
} ,
30
41
'punctuation' : / [ | { } [ \] ; ( ) , . ] /
31
42
} ;
32
43
// Variable interpolation inside strings
33
- Prism . languages . powershell . string . inside . boolean = Prism . languages . powershell . boolean ;
34
- Prism . languages . powershell . string . inside . variable = Prism . languages . powershell . variable ;
44
+ Prism . languages . powershell . string [ 0 ] . inside . boolean = Prism . languages . powershell . boolean ;
45
+ Prism . languages . powershell . string [ 0 ] . inside . variable = Prism . languages . powershell . variable ;
46
+ Prism . languages . powershell . string [ 0 ] . inside . powershell . inside = Prism . util . clone ( Prism . languages . powershell ) ;
0 commit comments