A pure Lua replacement for copilot.vim providing GitHub Copilot integration for Neovim with enhanced performance and customization.
copilot.lua is a Neovim plugin that provides GitHub Copilot's AI-powered code completion directly within the editor. It is a pure Lua replacement for the official copilot.vim plugin, designed to be more efficient and better integrated with the modern Neovim ecosystem. It addresses performance issues like overheating and ghost text interference while offering extensive customization options.
Neovim users, particularly those on version 0.11.0 or higher, who want a lightweight, high-performance alternative to the official GitHub Copilot plugin. It is ideal for developers who prioritize seamless integration with other Lua-based Neovim plugins and customizable workflows.
Developers choose copilot.lua over copilot.vim for its pure Lua implementation, which offers better performance, reduced resource usage, and deeper integration with modern Neovim plugins. Its extensive configuration options, dedicated panel interface, and experimental Next Edit Suggestion feature provide a more tailored and efficient Copilot experience.
Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Pure Lua implementation reduces resource usage and addresses overheating issues common in the VimScript-based copilot.vim, as noted in the motivation section of the README.
Offers extensive options for panel layout, suggestion behavior, and filetype-specific attachment via the setup function, allowing fine-tuned integration into any workflow.
Provides a split window for previewing and navigating multiple AI suggestions with auto-refresh capabilities and keybindings, enhancing code exploration and acceptance.
Built-in auth commands support alternate GitHub instances through the auth_provider_url configuration, making it suitable for teams using GitHub Enterprise or custom deployments.
Next Edit Suggestion and binary server mode are explicitly marked as experimental in the README, which can lead to unexpected behavior and lack of reliability in production use.
Requires Neovim 0.11.0+ and NodeJS v22+, excluding users on older versions or environments with restricted software updates, as stated in the requirements.
Setup involves Lua code and multiple configuration options, such as lazy loading recommendations and server overrides, which can be daunting for users not familiar with Neovim's Lua API.