Fix panic on negative indentation in JSDoc formatting within nested scopes #2664
+51
−0
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.
The formatter panics with "strings: negative Repeat count" when formatting JSDoc comments inside callback functions. The code uses
-1as a sentinel for "no indentation computed", which propagates tostrings.Repeat()in certain nested scopes.Reproduces with:
Changes:
getIndentationString,insertIndentation, andindentMultilineCommentTestFormatJSDocInNestedScopeThe sentinel value now short-circuits formatting instead of causing a panic.
Original prompt
This section details on the original issue you should resolve
<issue_title>LSP Panic: strings: negative Repeat count when formatting JSDoc within nested scope</issue_title>
<issue_description>The LSP server crashes (panics) when attempting to format a JavaScript/TypeScript file containing a JSDoc @type annotation inside a callback function.
Stack trace