Fix signature help crash with colon-prefixed parameters #471
+149
−10
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.


Fix signature help crash with colon-prefixed parameters
Issue
Fixes #459
When typing a colon (
:) as the first character in a BIF parameter (e.g., changing%scan(code);to%scan(:code);), the signature help provider would crash with:Root Cause
The
Statement.getParameters()method inlanguage/statement.tswas attempting to accessnewBlock[0].rangewithout checking ifnewBlockwas empty. When a separator (:) appeared as the first token in a parameter position,newBlockwould be empty, causing the error.Changes
language/statement.ts:35: Added guard conditionif (newBlock.length > 0)before accessingnewBlock[0].rangetests/suite/basics.test.ts:2071-2135: Added comprehensive unit teststatementGetParametersEmptyBlockthat directly tests the fixTest Coverage
The new test validates:
[':'](the bug scenario)[':', ':']['code', ':', 'str']Checklist
console.logs I added