Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

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

Closed
1 task
alexr00 opened this issue Apr 20, 2020 · 3 comments · Fixed by #456
Closed
1 task

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

alexr00 opened this issue Apr 20, 2020 · 3 comments · Fixed by #456

Comments

@alexr00
Copy link

alexr00 commented Apr 20, 2020

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

@eeasoftware
Copy link

eeasoftware commented May 6, 2020

@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.

@alexr00
Copy link
Author

alexr00 commented May 7, 2020

@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!

@eeasoftware
Copy link

@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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants