fix: end type cast at arithmetic/comparison operators - #25
Merged
Conversation
Highlighting was lost after a type cast when followed by arithmetic operators like `*`, because `lookAheadEndOfType` didn't recognize those operators as terminators for the type expression. Add binary arithmetic operators (`*`, `+`, `%`, `^`, `/`, `//`, `..`, `-`, `~=`, `==`) and logical keywords (`and`, `or`) to `lookAheadEndOfType` so that `expr::Type * value` correctly ends the type cast at `*`. Care is taken to avoid false positives: - `-(?![->\`])` prevents matching `--` (comments) or `->` (function types) - `(?<!\.)\.\.(?!\.)` prevents matching `..` inside `...` (variadics) Fixes #24
Break up the monolithic lookAheadEndOfType regex into named sub-variables with comments explaining each group, making the grammar easier to read and maintain. https://claude.ai/code/session_01M3sgc87GoVj2GrtNsV9vdi
"6.0" is not a valid value in TypeScript 5.1 (TS5103), causing CI failure. https://claude.ai/code/session_01M3sgc87GoVj2GrtNsV9vdi
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Highlighting was lost after a type cast when followed by arithmetic
operators like
*, becauselookAheadEndOfTypedidn't recognize thoseoperators as terminators for the type expression.
Add binary arithmetic operators (
*,+,%,^,/,//,..,-,~=,==) and logical keywords (and,or) tolookAheadEndOfTypeso that
expr::Type * valuecorrectly ends the type cast at*.Care is taken to avoid false positives:
-(?![->\])prevents matching--(comments) or->` (function types)(?<!\.)\.\.(?!\.)prevents matching..inside...(variadics)Fixes #24