Coloring/Highlighting Issues for Exceptions and Constants in PHP · Issue #390 · atom/language-php · GitHub
Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
This repository was archived by the owner on Dec 15, 2022. It is now read-only.

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

Closed

Description

@alexr00

Prerequisites

Description

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

Expected behavior:

Actual behavior:

Reproduces how often:

Versions

Version 0.44.4 from commit 882f6c0

Additional Information

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

Originally from @eeasoftware in microsoft/vscode#95559

Activity

  1. eeasoftware commented on May 6, 2020

    @eeasoftware

    @alexr00, I'm going to need a bit of direction that's a bit more clear here if that's alright.

    I've now had a chance to get back to this and research your comments because I didn't have any idea what it all meant when you sent it originally. I followed the links when you first posted and none of them were related to VSCode, so I put them aside to research when I had some time.

    I don't know why this got moved here, I don't use atom, and I don't have it installed on my machine.
    I though vsCode used a shell around atom archive, and not the full program, so to my knowlege most of the things you're asking don't apply. I even tried to do some of the things in the list from the command line using the executable for code and the flags listed, I even researched available commandline flags for vsCode, not with much luck though.

    If you're asking, have I run VSCode bare bones without extensions to check if I can reproduce the error, the answer is yes, the errors still happen.

    If you're asking if there are extensions that do what I'm asking, I've looked extensively. Further, the highlighting is correct for everything I've encountered in the language except for the specific items I've listed above.

    I've also searched for other items in the comments and in the already submitted issues for VSCode to see if there was anything that matched. I did that before I posted the issue. After about 1/2 hour of searching and reading, I concluded that if they did exist, they were buried somewhere.

    Please advise, as I have no idea where to go from here. The fact that it was closed almost immediately also kind of threw me for a loop.

    Also, I don't think I can edit your comment to place an X on the lines.

  2. alexr00 commented on May 7, 2020

    @alexr00
    Author

    @eeasoftware I moved the issue here because this is the repository where VS Code gets it's grammar for PHP from. The grammar is used for syntax highlighting. There is no action needed from you, thank you though!

  3. eeasoftware commented on May 7, 2020

    @eeasoftware

    @alexr00 That makes a ton of sense. Thank you for clarifying that. I want to help make things work, but I had no idea where to go from here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions