No description
## Problem The plugin requires users to install Node.js and the `live-server` npm package globally. This is a heavyweight external dependency for what amounts to a simple local dev-server workflow, and it creates friction for users who don't otherwise need Node.js. ## Solution Replace the npm shell-out with a pure-Lua HTTP server built on `vim.uv` (libuv bindings), eliminating all external dependencies. The new server supports static file serving, SSE-based live reload, CSS hot-swap without full page reload, directory listings, and recursive file watching with configurable debounce. Minimum Neovim version is bumped to 0.10 for `vim.uv` and `vim.ui.open`. The old `args`-based config is automatically migrated with a deprecation warning. Closes #28. |
||
|---|---|---|
| .github | ||
| doc | ||
| lua/live-server | ||
| plugin | ||
| .editorconfig | ||
| .gitignore | ||
| .luarc.json | ||
| .pre-commit-config.yaml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| live-server.nvim-scm-1.rockspec | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.yaml | ||
live-server.nvim
Live reload HTML, CSS, and JavaScript files inside Neovim. No external dependencies — the server runs entirely in Lua using Neovim's built-in libuv bindings.
Dependencies
- Neovim >= 0.10
Installation
Install with your package manager or via luarocks:
luarocks install live-server.nvim
Documentation
:help live-server.nvim
Known Limitations
- No recursive file watching on Linux: libuv's
uv_fs_eventonly supports recursive directory watching on macOS and Windows. On Linux (inotify), therecursiveflag is silently ignored, so only files in the served root directory trigger hot-reload. Files in subdirectories (e.g.css/style.css) will not be detected. See libuv#1778.