LuaLS type annotations for WezTerm configuration, with support for Neovim, VSCode, and community plugins.
wezterm-types is a Lua library that provides type annotations for the WezTerm terminal emulator's configuration API. It integrates with the Lua Language Server (LuaLS) to deliver autocompletion, type checking, and documentation hints directly in code editors when writing or editing WezTerm config files. This solves the problem of manually referencing documentation and guessing API structures, making WezTerm customization faster and more reliable.
Developers and system administrators who customize WezTerm using its Lua configuration system and use editors like Neovim or VSCode with Lua Language Server support.
It dramatically improves the configuration experience by turning a plain text editor into an intelligent IDE for WezTerm, with accurate autocompletion and error prevention. Its extensive support for community plugins ensures type safety across a wide ecosystem of extensions.
WezTerm Lua config types for LuaLS, with Neovim and VSCode support. Also supperts various WezTerm plugins.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides LuaCATS-like annotations that enable LuaLS to deliver accurate autocompletion and error detection in WezTerm config files, as demonstrated in the example videos and README.
Includes type definitions for over 30 community plugins, ensuring a unified development experience when using popular extensions like wezterm-tabs or smart-splits.nvim.
Offers native support for Neovim via lazydev.nvim or the LSP API, and for VSCode/VSCodium by cloning the repository into the config directory, covering major editor ecosystems.
Maintains up-to-date descriptions aligned with the official WezTerm Lua reference, reducing the risk of using deprecated APIs and improving reliability.
The README explicitly warns users to double-check the official WezTerm Lua reference for missing or unclear types, indicating that coverage might not be fully comprehensive or instantly updated.
VSCode integration requires cloning the repo into a specific directory (~/.config/wezterm), and other editors need manual LuaLS configuration, which can be cumbersome compared to plug-and-play solutions.
Plugin type annotations are added based on user requests via issues, so newer or niche plugins may lack support, potentially delaying type safety for custom setups.