A tiny project and optional session manager for Neovim, written in Lua, that organizes workspaces and projects.
projections.nvim is a lightweight Neovim plugin that manages projects and optional sessions within a structured filesystem. It introduces workspaces (parent directories) and projects (subdirectories identified by patterns like .git or package.json), enabling quick navigation between codebases and per-project session persistence.
Neovim users who organize their code in multiple repositories or directories and want a minimal, configurable system for switching between them, optionally with session management. It suits those who prefer manual control over their workflow and use Telescope for navigation.
Developers choose projections.nvim for its simplicity and flexibility—it avoids complex defaults, provides building blocks for personalized workflows, and integrates seamlessly with Telescope. Its optional session manager is designed specifically for its project structure, unlike generic session plugins.
A map to your filesystem
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
It's a tiny plugin focused solely on project and session management, avoiding bloat and complex defaults as emphasized in the README's philosophy.
The built-in Telescope extension provides an efficient interface for project discovery and switching, which the README states is the primary recommended method.
Offers Lua-based configuration with customizable patterns for project detection and hooks for session operations, allowing tailored workflows as shown in the recipes section.
Does not enforce any keybindings or commands by default, giving developers full autonomy to integrate it into their existing Neovim setup, aligning with its manual control philosophy.
The plugin's usability is heavily compromised without Telescope, as the README explicitly warns, making it less suitable for users of alternative pickers like fzf.
Users must write custom hooks to handle session compatibility with other plugins like nvim-tree, as the README admits this is a user responsibility and provides only example snippets.
The API is not stable and may change, requiring occasional updates to user configurations, which the README notes can be a maintenance burden for long-term use.