Open
Conversation
dbernheisel
commented
Apr 11, 2026
Comment on lines
20
to
-25
| document = Document.Container.context_document(params, nil) | ||
| projects = ActiveProjects.projects() | ||
| project = Project.project_for_document(projects, document) | ||
|
|
||
| document = Document.Container.context_document(params, nil) | ||
|
|
Author
There was a problem hiding this comment.
not related, but a duplicated call (document is set on line 20 already)
|
@dbernheisel - if this is accepted, will we still need hex-cmp ? ps hex-cmp has been very handy thanks for this great tool! |
Author
|
Nope! It's more complete within Expert; supports custom repos, displays the installed version of the dep, and has access to the projects actual hex to know these things rather than reinventing what mix/hex do. |
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.
Adds hex package intelligence to
mix.exs— package name completion, version completion, dep option suggestions, and hover documentation. Works across the public hex.pm registry and custom self-hosted repos like Oban with no configuration beyond what Mix already knows.This is fairly self-contained with a few integrated points, so because of that, I felt a large PR would be ok for completeness. Happy to refactor/reorganize modules as you see fit.
Generally, this is porting hex-cmp
What it does
{:phoeand getphoenix,phoenix_live_view, etc. with download counts and descriptions. Custom repo packages (likeoban_pro) appear alongside hexpm results with their repo labeled.{:phoenix, "~> 1.and get filtered version candidates sorted newest-first. Retired versions are annotated with the retirement reason. Works for custom repos without needingrepo:typed first.{:phoenix, "~> 1.7",and getonly,runtime,override,repo, etc.How it works
depsfunction tuple using Sourceror's error-recovering parser, with a regex line fallback for cases where both parsers fail (unclosed strings). This assumes the conventional "deps" function within the project file (eg,mix.exs), and will not offer intelligence otherwise.:hex_coredep for public packages and the repo protocol (:hex_repo) for custom repos. Custom repo responses are enriched with tarball metadata if they're already cached.Testing
mix.exs