0
@@ -8,7 +8,7 @@ repository:
0
name: punctuation.definition.string.end.php
0
- begin: (?x)'/ (?= (\\.|[^'/])+
/[imsxeADSUXu]*' )
0
+ begin: (?x)'/ (?= (\\.|[^'/])+
+/[imsxeADSUXu]*' )
0
name: punctuation.definition.string.begin.php
0
@@ -21,6 +21,12 @@ repository:
0
name: punctuation.definition.arbitrary-repitition.php
0
match: (\{)\d+(,\d+)?(\})
0
+ - name: constant.character.escape.regex.php
0
+ match: (\\){1,2}[.$^\[\]{}]
0
+ comment: "Escaped from the regexp \xE2\x80\x93 there can also be 2 backslashes (since 1 will escape the first)"
0
+ - name: constant.character.escape.php
0
+ comment: "Escaped from the PHP string \xE2\x80\x93 there can also be 2 backslashes (since 1 will escape the first)"
0
- name: string.regexp.character-class.php
0
@@ -29,11 +35,9 @@ repository:
0
- name: constant.character.escape.php
0
- name: keyword.operator.regexp.php
0
- - name: constant.character.escape.php
0
- include: "#var_global"
0
@@ -45,76 +49,95 @@ repository:
0
name: punctuation.definition.string.end.php
0
+ contentName: meta.string-contents.quoted.double.php
0
name: punctuation.definition.string.begin.php
0
- - name: constant.character.escape.php
0
- include: "#interpolation"
0
+ comment: "This contentName is just to allow the usage of \xE2\x80\x9Cselect scope\xE2\x80\x9D to select the string contents first, then the string with quotes"
0
- - name: meta.scope.heredoc
0
- name: keyword.operator.heredoc.php
0
- name: punctuation.definition.string.php
0
- contentName: text.html.basic.embedded
0
- name: punctuation.definition.string.php
0
- name: keyword.operator.heredoc.php
0
- - include: text.html.basic
0
- - include: "#interpolation"
0
- - name: meta.scope.heredoc
0
- name: keyword.operator.heredoc.php
0
- name: punctuation.definition.string.php
0
- contentName: text.xml.embedded
0
- name: punctuation.definition.string.php
0
- name: keyword.operator.heredoc.php
0
- - include: "#interpolation"
0
- - name: meta.scope.heredoc
0
- name: keyword.operator.heredoc.php
0
- name: punctuation.definition.string.php
0
- contentName: source.sql.embedded
0
- name: punctuation.definition.string.php
0
- name: keyword.operator.heredoc.php
0
+ - name: string.unquoted.heredoc.php
0
+ begin: (?=<<<\s*(HTML|XML|SQL)\s*$)
0
+ end: (?!<?<<\s*(HTML|XML|SQL)\s*$)
0
- - include: "#interpolation"
0
+ - name: meta.embedded.html
0
+ name: punctuation.section.embedded.end.php
0
+ name: keyword.operator.heredoc.php
0
+ name: punctuation.definition.string.php
0
+ begin: (<<<)\s*(HTML)\s*$\n?
0
+ contentName: text.html
0
+ name: punctuation.section.embedded.begin.php
0
+ name: punctuation.definition.string.php
0
+ name: keyword.operator.heredoc.php
0
+ - include: text.html.basic
0
+ - include: "#interpolation"
0
+ - name: meta.embedded.xml
0
+ name: punctuation.section.embedded.end.php
0
+ name: keyword.operator.heredoc.php
0
+ name: punctuation.definition.string.php
0
+ begin: (<<<)\s*(XML)\s*$\n?
0
+ name: punctuation.section.embedded.begin.php
0
+ name: punctuation.definition.string.php
0
+ name: keyword.operator.heredoc.php
0
+ - include: "#interpolation"
0
+ - name: meta.embedded.sql
0
+ name: punctuation.section.embedded.end.php
0
+ name: keyword.operator.heredoc.php
0
+ name: punctuation.definition.string.php
0
+ begin: (<<<)\s*(SQL)\s*$\n?
0
+ contentName: source.sql
0
+ name: punctuation.section.embedded.begin.php
0
+ name: punctuation.definition.string.php
0
+ name: keyword.operator.heredoc.php
0
+ - include: "#interpolation"
0
- name: comment.block.documentation.phpdoc.php
0
name: punctuation.definition.comment.php
0
+ begin: /\*\*
(?:#@\+)?\s*$
0
- comment: This now only highlights a docblock if the first line contains only /** - this is to stop highlighting everything as invalid when people do comment banners with /******** ...
0
+ This now only highlights a docblock if the first line contains only /**
0
+ - this is to stop highlighting everything as invalid when people do comment banners with /******** ...
0
+ - Now matches /**#@+ too - used for docblock templates: http://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblocktemplate
0
- name: comment.block.php
0
@@ -132,7 +155,7 @@ repository:
0
name: punctuation.definition.comment.php
0
match: (#).*?($\n?|(?=\?>))
0
- name: meta.interface.php
0
- begin: ^
\s*(interface)\s+([a-zA-Z0-9_]+)\s*(extends)?\s*
0
+ begin: ^
(?i)\s*(interface)\s+([a-z0-9_]+)\s*(extends)?\s*
0
name: storage.type.interface.php
0
@@ -145,7 +168,7 @@ repository:
0
- name: entity.other.inherited-class.php
0
- begin:
^\s*(abstract)?\s*(class)\s+([a-zA-Z0-9_]+)\s*
0
+ begin:
(?i)^\s*(abstract|final)?\s*(class)\s+([a-z0-9_]+)\s*
0
name: storage.modifier.abstract.php
0
@@ -160,14 +183,14 @@ repository:
0
name: storage.modifier.extends.php
0
name: entity.other.inherited-class.php
0
- match: (extends)\s+([a-zA-Z0-9_]+)\s*
0
- - begin: (implements)\s+([a-zA-Z0-9_]+)\s*
0
+ match: (?i:(extends))\s+([a-zA-Z0-9_]+)\s*
0
+ - begin: (?i:(implements))\s+([a-zA-Z0-9_]+)\s*
0
name: storage.modifier.implements.php
0
name: support.class.implements.php
0
- end: (?=\s*\b
extends)|$
0
+ end: (?=\s*\b
(?i:(extends)))|$
0
@@ -206,7 +229,38 @@ repository:
0
name: entity.name.function.php
0
- - name: meta.function.argument.typehinted.php
0
+ - name: meta.function.argument.array.php
0
+ name: punctuation.definition.array.end.php
0
+ \t\t\t\t\t\t\t\t\t\\s*(array) # Typehint\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(&)? \t\t\t\t\t# Reference\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*) # The variable name\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(array)\\s*(\\()\n\
0
+ contentName: meta.array.php
0
+ name: support.function.construct.php
0
+ name: punctuation.definition.array.begin.php
0
+ name: storage.type.php
0
+ name: storage.modifier.php
0
+ name: variable.other.php
0
+ name: punctuation.definition.variable.php
0
+ name: keyword.operator.assignment.php
0
+ - name: meta.function.argument.array.php
0
name: constant.language.php
0
@@ -215,30 +269,77 @@ repository:
0
+ name: storage.modifier.php
0
+ name: variable.other.php
0
+ name: punctuation.definition.variable.php
0
+ name: keyword.operator.assignment.php
0
+ \t\t\t\t\t\t\t\t\t\\s*(array) # Typehint\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(&)? \t\t\t\t\t# Reference\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*) # The variable name\n\
0
+ \t\t\t\t\t\t\t\t\t(?:\n\
0
+ \t\t\t\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\
0
+ \t\t\t\t\t\t\t\t\t\t\\s*(?i:\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t(NULL)\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t|\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t(\\S.*?)\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t)?\n\
0
+ \t\t\t\t\t\t\t\t\t)?\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(?=,|\\)) # A closing parentheses (end of argument list) or a comma\n\
0
+ - name: meta.function.argument.typehinted.php
0
+ name: constant.language.php
0
+ name: invalid.illegal.non-null-typehinted.php
0
name: support.class.php
0
+ name: storage.modifier.php
0
name: variable.other.php
0
name: punctuation.definition.variable.php
0
name: keyword.operator.assignment.php
0
- match: \s*(?i:(array)|([A-Za-z_][A-Za-z_0-9]*))\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\s*(=)\s*((?i:NULL)|(.+?)))?\s*(?=,|\))
0
+ \t\t\t\t\t\t\t\t\t\\s*([A-Za-z_][A-Za-z_0-9]*) # Typehinted class name\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(&)? \t\t\t\t\t# Reference\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*) # The variable name\n\
0
+ \t\t\t\t\t\t\t\t\t(?:\n\
0
+ \t\t\t\t\t\t\t\t\t\t\\s*(=)\t# A default value\n\
0
+ \t\t\t\t\t\t\t\t\t\t\\s*(?i:\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t(NULL)\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t|\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t(\\S.*?)\n\
0
+ \t\t\t\t\t\t\t\t\t\t\t)?\n\
0
+ \t\t\t\t\t\t\t\t\t)?\n\
0
+ \t\t\t\t\t\t\t\t\t\\s*(?=,|\\)) # A closing parentheses (end of argument list) or a comma\n\
0
- name: meta.function.argument.no-default.php
0
- name:
variable.other.php
0
+ name:
storage.modifier.php
0
+ name: variable.other.php
0
name: punctuation.definition.variable.php
0
- match:
\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*(?=,|\))
0
+ match:
(\s*&)?\s*((\$+)[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)\s*(?=,|\))
0
- name: meta.function.argument.default.php
0
- name:
variable.other.php
0
+ name:
storage.modifier.php
0
- name:
punctuation.definition.variable.php
0
+ name:
variable.other.php
0
+ name: punctuation.definition.variable.php
0
name: keyword.operator.assignment.php