A Neovim plugin that loads configuration files based on the current working directory, enabling project-specific settings.
nvim-projectconfig is a Neovim plugin that enables project-specific editor configurations by loading settings from external files based on the current working directory. It solves the problem of managing different editor setups for various projects without embedding configuration within the project's repository. This is especially beneficial for monorepos or teams needing consistent yet isolated editor environments.
Neovim users who work across multiple projects or monorepos and require distinct editor settings per project without modifying the project's source code.
Developers choose nvim-projectconfig for its lightweight approach to externalizing project configurations, avoiding Git clutter, and providing flexible path-matching options. Its seamless integration with Neovim's directory changes and utility functions for JSON handling offer a customizable and efficient workflow.
neovim projectconfig
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Stores project-specific settings outside Git repositories, preventing repo bloat and security issues, as highlighted in the project description.
Supports exact paths and Lua regex patterns for handling directories with identical names, offering precise control over config loading via manual setup.
Can automatically reload configurations when changing directories within Neovim by enabling the autocmd option, ensuring seamless context switches.
Includes helper functions like load_json() and save_json() for extended customization, allowing data management beyond basic config files.
Requires manual configuration with Lua regex or full paths for directories sharing the same name, which can be cumbersome and error-prone for users with similar project structures.
Only directly loads .lua or .vim files; other formats must be handled through JSON functions, adding an extra layer for users needing different config types.
The README provides basic examples but lacks comprehensive guides or troubleshooting tips, assuming user proficiency with Lua and Neovim.