A Neovim completion source for nvim-cmp that provides Git commits, GitHub issues/PRs/mentions, and GitLab issues/MRs/mentions.
cmp-git is a Neovim plugin that serves as a completion source for nvim-cmp, providing autocompletion for Git commits, GitHub issues/pull requests/mentions, and GitLab issues/merge requests/mentions. It solves the problem of manually looking up Git references or repository items by offering intelligent suggestions directly in the editor.
Neovim users who frequently work with Git and remote repositories like GitHub or GitLab, especially those writing commit messages or referencing issues/PRs in their workflow.
Developers choose cmp-git because it integrates Git and repository platform workflows seamlessly into Neovim, reducing context switching and improving productivity with configurable, trigger-based completions.
Git source for nvim-cmp
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both GitHub and GitLab for issues, pull/merge requests, and mentions, as shown in the trigger tables, reducing the need to switch between tools.
Offers detailed control over limits, sorting, formatting, and state filters for each source, evidenced by the extensive config section in the README.
Works with hosted GitHub Enterprise or GitLab instances via the hosts configuration, making it suitable for corporate or private repository workflows.
Allows defining specific trigger characters and actions for different Git operations, enabling tailored completions as per user needs.
Requires curl and optionally GitHub CLI or GitLab CLI, along with API token setup for private repos, adding complexity to the initial configuration.
Setup involves manually adding triggers in the trigger_actions table and adjusting nvim-cmp sorting comparators, which can be non-trivial for beginners.
Does not support completions for common Git elements like branches or tags, focusing only on commits and platform-specific items, which may be insufficient for some workflows.