A pure Lua Neovim plugin providing comprehensive CMake project integration with build, test, and debug workflows.
CMake Tools for Neovim is a plugin that integrates CMake project management directly into the Neovim editor. It provides commands and workflows for configuring, building, running, testing, and debugging CMake-based projects, aiming to match the feature set of IDE extensions like VS Code's CMake Tools. It solves the problem of fragmented or manual CMake workflows in terminal-based editors.
C/C++ developers using Neovim who work with CMake-based projects and want a unified, IDE-like build and debug experience without leaving their editor.
Developers choose this plugin because it offers a comprehensive, pure-Lua implementation of CMake tools specifically for Neovim, with deep integration into the editor's ecosystem, extensive configurability, and a workflow comparable to popular IDE extensions.
CMake integration in Neovim
Provides a full IDE-like workflow for configuring, building, testing, and debugging CMake projects directly in Neovim, with support for presets, kits, and variants as outlined in the key features.
Offers flexible configuration for build directories, executors, and runners, with optional integration with plugins like overseer and toggleterm, allowing customization to fit various workflows.
Handles compile_commands.json automatically via soft linking or copying, ensuring seamless integration with Neovim's LSP servers for improved code intelligence without manual setup.
Maintains project-specific settings across sessions, reducing repetitive configuration for frequently accessed projects, though this can lead to inconsistencies if not managed carefully.
The setup requires extensive configuration with many options, which can be overwhelming for users new to CMake or Neovim plugin management, as seen in the lengthy configuration example.
Project sessions override global settings and may not reflect config changes without manual refresh, leading to potential confusion, as explicitly warned in the README.
Full functionality relies on installing and configuring external plugins like overseer or toggleterm, adding to the initial setup burden and potential compatibility issues.
cmake-tools.nvim is an open-source alternative to the following products:
A task runner and job management plugin for Neovim
A neovim plugin to run lines/blocs of code (independently of the rest of the file), supporting multiples languages
Interactive Repl Over Neovim
A neovim plugin for interactively running code with the jupyter kernel. Fork of magma-nvim with improvements in image rendering, performance, and more
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.