Its value is 3
Decoration level to be used by tree-sitter fontifications.
Major modes categorize their fontification features into levels,
from 1 which is the absolute minimum, to 4 that yields the maximum
fontifications.
Level 1 usually contains only comments and definitions.
Level 2 usually adds keywords, strings, data types, etc.
Level 3 usually represents full-blown fontifications, including
assignments, constants, numbers and literals, etc.
Level 4 adds everything else that can be fontified: delimiters,
operators, brackets, punctuation, all functions, properties,
variables, etc.
To track issues to resolve:
?(nullable type),|(union type) and&(intersection type) be havefont-lock-operator-faceor@font-lock-type-face. Currentlyfont-lock-operator-faceis going to be appliedCONST_NAME = 'value'in class declaration instead of justCONST_NAMEhighlight $ in variable name and object member #16${XX}syntax as it's deprecated in 8.2https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
implementsand,instead of just interface names highlight $ in variable name and object member #16;( `expression_statement ";") in for is not highlighted$in variable name highlight $ in variable name and object member #16thisin variable name update font rules, indention, faces and readme #68listhighlight $ in variable name and object member #16arrayhighlight $ in variable name and object member #16Missing keywords:
Rework
treesit-font-lock-feature-listtreesit-font-lock-levelhere is a gist from the documentation: Align font lock levels built-in ts modes #19