Skip to content

✨ feat(mq-lsp): add signature help support#2012

Merged
harehare merged 1 commit into
mainfrom
feat/lsp-signature-help
Jul 14, 2026
Merged

✨ feat(mq-lsp): add signature help support#2012
harehare merged 1 commit into
mainfrom
feat/lsp-signature-help

Conversation

@harehare

Copy link
Copy Markdown
Owner

Summary

Implement the textDocument/signatureHelp handler so the client gets inline argument-position hints while typing a function or macro call.

mq_hir::Symbol ranges are too coarse for this (a Call symbol's range covers only its name token, and punctuation isn't lowered into HIR at all), so signature_help.rs re-parses the document into a CST and walks it directly to find the enclosing call, its parens, and its commas, then resolves the callee's Params through the existing Hir lookup.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • ♻️ Refactor
  • 📝 Documentation
  • ⚡ Performance
  • ✅ Test
  • 📦 Build / dependencies
  • 👷 CI

Checklist

  • I ran cargo fmt and cargo clippy and addressed any warnings
  • I ran just test-all and all tests pass
  • I added or updated tests covering this change
  • I updated relevant documentation (/docs, crate README.md) if needed
  • I added a changelog entry if this is a user-facing change

Additional Context

Implement the textDocument/signatureHelp handler so the client gets
inline argument-position hints while typing a function or macro call.

mq_hir::Symbol ranges are too coarse for this (a Call symbol's range
covers only its name token, and punctuation isn't lowered into HIR at
all), so signature_help.rs re-parses the document into a CST and walks
it directly to find the enclosing call, its parens, and its commas,
then resolves the callee's Params through the existing Hir lookup.
@harehare harehare merged commit 6595482 into main Jul 14, 2026
9 checks passed
@harehare harehare deleted the feat/lsp-signature-help branch July 14, 2026 12:39
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

Successfully merging this pull request may close these issues.

1 participant