Repository navigation
feat: async co-author discovery - #3
Merged
Merged
Conversation
Query GitHub collaborators via gh CLI GraphQL API for real @handle completions. Fall back to git log authors when gh is unavailable. Cross-reference git log to resolve real emails over noreply addresses. Manual file and inline handles override discovered entries.
The handles.get() function already loads on first access when the cache is empty, so the explicit load() call in setup() was redundant. Removing it defers handle loading until actually needed.
Return file/inline handles immediately on first @ trigger and run GitHub/git log discovery in a coroutine background. Discovered handles merge into the cache when complete and appear on the next keystroke.
Call blink.cmp's callback twice: once immediately with file/inline handles, then again when async discovery completes. This updates the open menu in-place without requiring the user to re-trigger completion.
Filter out items already sent in the first callback before appending discovered handles, preventing duplicates for entries that exist in both the local handles file and the discovery results.
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.
Summary
@triggerChanges
discover.lua: Add coroutine async runner (run_cmd,async_run), refactor internals to userun_cmd(), adddiscover_async()handles.lua: Splitload()intoload_fast()(file/inline only) + async discovery, add listener mechanism for discovery completionblink.lua: Call callback twice (fast handles, then discovered), filter duplicates on second callREADME.md: Document the brief delay on first triggerTest plan
make testpasses (48 tests)make lintpasses@trigger shows file handles instantly, discovered handles stream in