Skip to content

Coloring/Highlighting Issues for Exceptions and Constants in PHP #95559

@eeasoftware

Description

@eeasoftware
  • VSCode Version: 1.44.1
  • OS Version: Windows 10 (on dev machine), Centos 7 & php7.4 (on server)

Steps to Reproduce:

  1. Multiple Exception types in a catch block separated by a single pipe '|' highlights only the class name of the last class (see item1.png):

example: catch (\Namespace\Exception1 | \Namespace\Exception2 | \Namespace\Exception3 $e) {...}

  • only Exception3 would have correct class coloring/highlighting

item1

  1. When using a namespaced constant as a default value for a parameter in a function definition is colored red incorrectly (see item2.png).

example: public static function redirect(string $locationUri, array $responseCode = \Http\Response\Code::SEE_OTHER, array $additionalRedirectHeaders = []): void

  • \Http\Response\Code::SEE_OTHER is colored red even though there is no error. changing this to a [] colors correctly, but the other does not

item2

  1. When using an Uppercase constant name that is the same as a PHP primitive (in my example: STRING vs string, the coloring is incorrect. It is colored as a type instead of the constant name (see item3.png)

example: public const STRING = 2;

  • String is colored as if it were a data type primitive instead of the color of constant declared names.

item3

Does this issue occur when all extensions are disabled?: Yes

Metadata

Metadata

Assignees

Labels

grammarSyntax highlighting grammarupstream-issue-linkedThis is an upstream issue that has been reported upstream

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions