|
4620 | 4620 | </dict>
|
4621 | 4621 | <dict>
|
4622 | 4622 | <key>include</key>
|
4623 |
| - <string>#function-parameters-body</string> |
| 4623 | + <string>#comment</string> |
| 4624 | + </dict> |
| 4625 | + <dict> |
| 4626 | + <key>include</key> |
| 4627 | + <string>#string</string> |
| 4628 | + </dict> |
| 4629 | + <dict> |
| 4630 | + <key>include</key> |
| 4631 | + <string>#decorator</string> |
| 4632 | + </dict> |
| 4633 | + <dict> |
| 4634 | + <key>include</key> |
| 4635 | + <string>#destructuring-parameter</string> |
| 4636 | + </dict> |
| 4637 | + <dict> |
| 4638 | + <key>match</key> |
| 4639 | + <string>(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(public|protected|private|readonly)\s+(?=(public|protected|private|readonly)\s+)</string> |
| 4640 | + <key>captures</key> |
| 4641 | + <dict> |
| 4642 | + <key>1</key> |
| 4643 | + <dict> |
| 4644 | + <key>name</key> |
| 4645 | + <string>storage.modifier.ts</string> |
| 4646 | + </dict> |
| 4647 | + </dict> |
| 4648 | + </dict> |
| 4649 | + <dict> |
| 4650 | + <key>match</key> |
| 4651 | + <string>(?x)(?:(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\s+)?(?:(\.\.\.)\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))\s*(\??)(?=\s* |
| 4652 | +# function assignment | |
| 4653 | +(=\s*( |
| 4654 | + ((async\s+)?( |
| 4655 | + (function\s*[(<*]) | |
| 4656 | + (function\s+) | |
| 4657 | + ([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
| 4658 | + )) | |
| 4659 | + ((async\s*)?( |
| 4660 | + ((<\s*$)|((<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)?[\(]\s*([\{\[]\s*)?$)) | |
| 4661 | + # sure shot arrow functions even if => is on new line |
| 4662 | +( |
| 4663 | + (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)? |
| 4664 | + [(]\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)* |
| 4665 | + ( |
| 4666 | + ([)]\s*:) | # (): |
| 4667 | + ((\.\.\.\s*)?[_$[:alpha:]][_$[:alnum:]]*\s*:) # [(]param: | [(]...param: |
| 4668 | + ) |
| 4669 | +) | |
| 4670 | +( |
| 4671 | + [<]\s*[_$[:alpha:]][_$[:alnum:]]*\s+extends\s*[^=>] # < typeparam extends |
| 4672 | +) | |
| 4673 | +# arrow function possible to detect only with => on same line |
| 4674 | +( |
| 4675 | + (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)? # typeparameters |
| 4676 | + \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\) # parameters |
| 4677 | + (\s*:\s*([^<>\(\)\{\}]|\<[^<>]+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)? # return type |
| 4678 | + \s*=> # arrow operator |
| 4679 | +) |
| 4680 | + )) |
| 4681 | +)) | |
| 4682 | +# typeannotation is fn type: < | () | (... | (param: | (param, | (param? | (param= | (param) => |
| 4683 | +(:\s*( |
| 4684 | + (<) | |
| 4685 | + ([(]\s*( |
| 4686 | + ([)]) | |
| 4687 | + (\.\.\.) | |
| 4688 | + ([_$[:alnum:]]+\s*( |
| 4689 | + ([:,?=])| |
| 4690 | + ([)]\s*=>) |
| 4691 | + )) |
| 4692 | + )) |
| 4693 | +)) | |
| 4694 | +(:\s*((<\s*$)|((<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)?[\(]\s*([\{\[]\s*)?$))) | |
| 4695 | +(:\s*(=>|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(<[^<>]*>)|[^<>(),=])+=\s*( |
| 4696 | + ((async\s+)?( |
| 4697 | + (function\s*[(<*]) | |
| 4698 | + (function\s+) | |
| 4699 | + ([_$[:alpha:]][_$[:alnum:]]*\s*=>) |
| 4700 | + )) | |
| 4701 | + ((async\s*)?( |
| 4702 | + ((<\s*$)|((<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)?[\(]\s*([\{\[]\s*)?$)) | |
| 4703 | + # sure shot arrow functions even if => is on new line |
| 4704 | +( |
| 4705 | + (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)? |
| 4706 | + [(]\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)* |
| 4707 | + ( |
| 4708 | + ([)]\s*:) | # (): |
| 4709 | + ((\.\.\.\s*)?[_$[:alpha:]][_$[:alnum:]]*\s*:) # [(]param: | [(]...param: |
| 4710 | + ) |
| 4711 | +) | |
| 4712 | +( |
| 4713 | + [<]\s*[_$[:alpha:]][_$[:alnum:]]*\s+extends\s*[^=>] # < typeparam extends |
| 4714 | +) | |
| 4715 | +# arrow function possible to detect only with => on same line |
| 4716 | +( |
| 4717 | + (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*>\s*)? # typeparameters |
| 4718 | + \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\) # parameters |
| 4719 | + (\s*:\s*([^<>\(\)\{\}]|\<[^<>]+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)? # return type |
| 4720 | + \s*=> # arrow operator |
| 4721 | +) |
| 4722 | + )) |
| 4723 | +)))</string> |
| 4724 | + <key>captures</key> |
| 4725 | + <dict> |
| 4726 | + <key>1</key> |
| 4727 | + <dict> |
| 4728 | + <key>name</key> |
| 4729 | + <string>storage.modifier.ts</string> |
| 4730 | + </dict> |
| 4731 | + <key>2</key> |
| 4732 | + <dict> |
| 4733 | + <key>name</key> |
| 4734 | + <string>keyword.operator.rest.ts</string> |
| 4735 | + </dict> |
| 4736 | + <key>3</key> |
| 4737 | + <dict> |
| 4738 | + <key>name</key> |
| 4739 | + <string>entity.name.function.ts variable.language.this.ts</string> |
| 4740 | + </dict> |
| 4741 | + <key>4</key> |
| 4742 | + <dict> |
| 4743 | + <key>name</key> |
| 4744 | + <string>entity.name.function.ts</string> |
| 4745 | + </dict> |
| 4746 | + <key>5</key> |
| 4747 | + <dict> |
| 4748 | + <key>name</key> |
| 4749 | + <string>keyword.operator.optional.ts</string> |
| 4750 | + </dict> |
| 4751 | + </dict> |
| 4752 | + </dict> |
| 4753 | + <dict> |
| 4754 | + <key>match</key> |
| 4755 | + <string>(?x)(?:(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\s+)?(?:(\.\.\.)\s*)?(?<!=|:)(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_$[:alpha:]][_$[:alnum:]]*))(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.))\s*(\??)(?=\s*:)</string> |
| 4756 | + <key>captures</key> |
| 4757 | + <dict> |
| 4758 | + <key>1</key> |
| 4759 | + <dict> |
| 4760 | + <key>name</key> |
| 4761 | + <string>storage.modifier.ts</string> |
| 4762 | + </dict> |
| 4763 | + <key>2</key> |
| 4764 | + <dict> |
| 4765 | + <key>name</key> |
| 4766 | + <string>keyword.operator.rest.ts</string> |
| 4767 | + </dict> |
| 4768 | + <key>3</key> |
| 4769 | + <dict> |
| 4770 | + <key>name</key> |
| 4771 | + <string>variable.parameter.ts variable.language.this.ts</string> |
| 4772 | + </dict> |
| 4773 | + <key>4</key> |
| 4774 | + <dict> |
| 4775 | + <key>name</key> |
| 4776 | + <string>variable.parameter.ts</string> |
| 4777 | + </dict> |
| 4778 | + <key>5</key> |
| 4779 | + <dict> |
| 4780 | + <key>name</key> |
| 4781 | + <string>keyword.operator.optional.ts</string> |
| 4782 | + </dict> |
| 4783 | + </dict> |
| 4784 | + </dict> |
| 4785 | + <dict> |
| 4786 | + <key>include</key> |
| 4787 | + <string>#type-annotation</string> |
| 4788 | + </dict> |
| 4789 | + <dict> |
| 4790 | + <key>include</key> |
| 4791 | + <string>#variable-initializer</string> |
| 4792 | + </dict> |
| 4793 | + <dict> |
| 4794 | + <key>name</key> |
| 4795 | + <string>punctuation.separator.parameter.ts</string> |
| 4796 | + <key>match</key> |
| 4797 | + <string>,</string> |
4624 | 4798 | </dict>
|
4625 | 4799 | <dict>
|
4626 | 4800 | <key>include</key>
|
|
0 commit comments