A Neovim plugin for managing named workspace directories with commands, hooks, and Telescope integration.
workspaces.nvim is a lightweight Neovim plugin that provides a manual system for managing named project directories (workspaces). It allows users to explicitly register, open, and switch between workspaces with custom hooks for extended functionality, avoiding automatic detection heuristics.
Neovim users who frequently switch between multiple project directories and prefer explicit, configurable control over workspace management rather than automated detection.
Developers choose this plugin for its simplicity, stability, and extensibility through hooks, offering full programmatic control via a Lua API and Telescope integration without the overhead or unpredictability of automatic workspace detection.
a simple plugin to manage workspace directories in neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The plugin is designed to be small and stable, with the README emphasizing it 'has been stable for a long time' and will stay unchanged, avoiding bloat or breaking updates.
It eschews automatic detection in favor of user-defined workspaces, giving full control over registration and switching, as stated in its philosophy to avoid heuristics.
Supports custom Lua functions and Vim commands for hooks, enabling integration with tools like Telescope or nvim-tree, with examples in the README for workflows like session loading.
Bundles a Telescope picker extension for fuzzy-finding workspaces, with configurable options like keep_insert and path_hl, enhancing usability without extra dependencies.
Provides a documented Lua module for programmatic access to all operations, allowing automation in user scripts, as detailed in the API section with functions like add() and open().
Deliberately avoids automatic workspace registration, requiring manual commands for each workspace, which can be tedious for users who prefer hands-off management or dynamic project environments.
Out-of-the-box functionality is minimal—only directory switching; advanced features like file tree opening or session loading need hook setup, adding complexity for common use cases.
Beyond basic directory changes, all additional behaviors depend on user-configured hooks, so it lacks integrated solutions for things like session management or automatic file indexing.