Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VSCode editor syntax not catching up #153

Open
rifaterdemsahin opened this issue Dec 31, 2018 · 2 comments
Open

VSCode editor syntax not catching up #153

rifaterdemsahin opened this issue Dec 31, 2018 · 2 comments

Comments

@rifaterdemsahin
Copy link

rifaterdemsahin commented Dec 31, 2018

Issue on the break
https://github.com/PowerShell/EditorSyntax/blob/master/PowerShellSyntax.tmLanguage#L259-L264
image

Detailed Reddit Thread
https://www.reddit.com/r/PowerShell/comments/aavh8v/a_better_editor_for_powershell/

@msftrncs
Copy link
Contributor

msftrncs commented Jan 1, 2019

I think you will find that this is ultimately the same as #151/#152, the fundamental problem is that the syntax, like so many others, is really about highlighting keywords, and leaving the rest to the lint, but linting cannot catch the above, because break is a valid unquoted literal/text at that location, but its also a keyword, just not there.

The problem is, with syntax highlighting taken to the extreme, is if you only wanted to highlight a small excerpt out of something larger, without knowing the enclosing scope, the highlighter may not highlight some keywords that have limited use, for example, in or else, but not break as break is a valid keyword as long as its the first token on a statement.

So, while I am trying to work (an experiment) on a version of the PowerShell syntax that is more closely resembling what the tokenizer actually does, I expect that it will cause some problems that are unexpected.

@msftrncs
Copy link
Contributor

@rifaterdemsahin, FYI, I've posted a PR (a while ago now) of the expirement I have been doing in a full statement syntaxing approach. PR #156. It would resolve this issue. From your example (with variations):

image

The PR is still a WIP, but you could sample it if you want. You can get a VS Code ready JSON version of the syntax file here (rename the original VS Code file, and put this one in its place.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants