Fix panic when hovering over functions with JSDoc links #1339
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 TypeScript Native Preview extension was crashing with a panic when hovering over functions that contain JSDoc links (
{@link}
,{@linkcode}
,{@linkplain}
) in their documentation. This was happening because theNode.Text()
method ininternal/ast/ast.go
didn't handle JSDoc link node types.Error before fix:
Root cause:
The
writeComments
function ininternal/ls/hover.go
callscomment.Text()
on JSDoc nodes, which internally calls theNode.Text()
method. However, the switch statement inNode.Text()
was missing cases for:KindJSDocLink
KindJSDocLinkCode
KindJSDocLinkPlain
Solution:
Added the missing cases to handle JSDoc link types in the
Node.Text()
method. Since these types inherit fromJSDocCommentBase
(which has atext []string
field), they follow the same pattern asKindJSDocText
:Testing:
Text()
method works for JSDoc link nodesThe fix is minimal and surgical - it only adds the missing cases without modifying any existing functionality.
Fixes #1323.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.