Compile code and explore assembly directly from Neovim using the Compiler Explorer (Godbolt) API.
compiler-explorer.nvim is a Neovim plugin that connects to the Compiler Explorer (Godbolt.org) API, enabling developers to compile code snippets and view the generated assembly output directly within their editor. It solves the problem of context switching between the editor and browser when analyzing compiler output, making it easier to study optimizations, debug low-level issues, and understand how code maps to machine instructions.
Low-level programmers, compiler engineers, and performance-minded developers working with C, C++, Rust, or other compiled languages who use Neovim and want to inspect assembly output during development.
Developers choose this plugin for its deep integration with Neovim's modern APIs, providing a fast, asynchronous workflow with features like visual selection compilation, diagnostics integration, and interactive compiler selection—all without leaving the editor.
Run compilers and inspect assembly directly from Neovim with the help of https://godbolt.org
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Neovim's vim.loop for non-blocking compilation, allowing background processing so developers can continue editing without interruption.
Leverages vim.ui for interactive compiler selection and vim.notify for notifications, providing a cohesive, non-intrusive interface within the editor.
Allows compiling only selected code ranges via commands like `:'<,'>CECompile`, enabling focused analysis on specific snippets.
Automatically sends compiler warnings and errors to Neovim's quickfix list, facilitating seamless debugging and error tracking.
Highlights matching lines between source code and assembly output with optional jump features, aiding in understanding code-to-instruction mapping.
Relies entirely on the Compiler Explorer API, making it unusable offline or in environments with network restrictions, unlike local compilation tools.
Requires Neovim >= 0.10 due to dependencies on modern APIs, excluding users on older versions or traditional Vim, which limits adoption in some setups.
Recommends optional plugins like dressing.nvim for enhanced vim.ui interactions, adding extra configuration steps for a polished experience.
Misses some Compiler Explorer API endpoints, such as shortlinkinfo, potentially limiting features available on the web interface.