A REPL and debug console for developing Lua plugins in Neovim.
nvim-luadev is a Neovim plugin that sets up a REPL and debug console for developing Lua plugins. It allows developers to execute and test Lua code interactively within Neovim, with real-time output display and debugging features. The plugin solves the problem of cumbersome plugin development by providing an integrated environment for rapid iteration and testing.
Neovim plugin developers who write Lua plugins and need an interactive way to test and debug their code without leaving the editor.
Developers choose nvim-luadev because it integrates REPL and debugging capabilities directly into Neovim, offering a seamless workflow with features like smart expression evaluation, output redirection, and code completion. Its focus on Lua-specific tooling makes it more tailored than generic REPL solutions.
REPL/debug console for nvim lua 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 a dedicated scratch window via the `:Luadev` command for immediate feedback on Lua code execution, reducing context switching during plugin development.
Automatically distinguishes between expressions and statements, evaluating expressions and inspecting results with a modified `inspect.lua` that handles userdata via `tostring()`.
Offers customizable keybindings like `<Plug>(Luadev-RunLine)` and `<Plug>(Luadev-Run)` for executing code over lines, words, or text objects, enhancing workflow efficiency.
Redirects `print()` output to the plugin's buffer during execution and provides `require'luadev'.print()` for external contexts, facilitating easy debugging and value inspection.
Interactive debugging is listed as a planned feature and not yet implemented, limiting its utility for complex debugging scenarios compared to more mature tools.
Specifically tailored for Lua plugin development in Neovim, so it lacks support for other languages or editors, making it unsuitable for broader programming tasks.
Requires configuring keybindings and understanding Neovim's plugin ecosystem, which can be complex for users new to Neovim or Lua development, despite the provided mappings.