A Neovim plugin for inserting file templates (skeletons) based on file type or name with wildcard support.
esqueleto.nvim is a Lua-based Neovim plugin that automates the insertion of code templates, known as skeletons, when creating new files. It reduces repetitive boilerplate code by prompting users to insert predefined templates based on file type or specific file names, speeding up development workflows.
Neovim users, particularly developers who frequently create new files with standard boilerplate, such as Python scripts, LICENSE files, or project-specific templates, and want a configurable, lazy-friendly template management system.
Developers choose esqueleto.nvim for its flexible trigger system (file type and file name), support for multiple template directories, and dynamic wildcard expansion with user-defined or built-in variables like date, Git user, and system info, all with minimal configuration.
Reduce your boilerplate code the lazy-bones way
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both file type and file name triggers, with file name triggers taking priority for specific matching, reducing boilerplate for varied use cases. The README explains this with examples like triggering on 'python' files or 'LICENSE' file names.
Includes built-in wildcards for date, Git user, and system info, plus support for user-defined Lua functions, allowing dynamic template filling. Evidence from the README shows wildcards like ${filename} and ${lua:function call} for customization.
Enables organization of templates across global and project-specific directories, enhancing flexibility for different workflows. The key features list highlights this, and the usage example demonstrates setting up multiple skeleton directories.
Provides commands like EsqueletoNew for creating and modifying templates, with symbolic link support to reuse templates under different triggers. The README showcases this with a softlink example for 'cli.py' templates.
The plugin is undergoing a rewrite to v2.0 with expected breaking changes, as noted in the README, making it less suitable for environments requiring long-term stability.
Current template selection relies on a simple prompt; advanced UI features like Telescope integration are only planned for version 2.0, limiting user experience compared to more mature plugins.
Requires Neovim 0.10 or higher, which excludes users on older versions and adds a compatibility barrier for legacy setups, as stated in the installation requirements.