live reload local development servers inside of neovim
  • Lua 89.5%
  • Shell 5.2%
  • Nix 4.3%
  • Just 1%
Find a file
Barrett Ruth f1a2defb7b
All checks were successful
quality / Format (push) Successful in 9s
quality / Lint (push) Successful in 7s
deploy / LuaRocks (nightly) (push) Successful in 43s
docs: add quick start and rename vimdoc (#55)
## Checklist

- [x] I have read [CONTRIBUTING.md](https://git.barrettruth.com/barrettruth/live-server.nvim/src/branch/main/CONTRIBUTING.md).
- [ ] No AI was used to generate, edit, or review any part of this contribution.

## Problem

- Vimdoc still used the `.nvim` filename/topic as the primary help entry.
- README had no compact workflow-oriented Quick Start.

## Solution

- Rename `doc/live-server.nvim.txt` to `doc/live-server.txt` while preserving legacy help tags.
- Add clean `:help live-server` and `:help live-server-migration` pointers.
- Add a short Quick Start in README and vimdoc around config, start, toggle, and stop.

## Verification

- `git diff --check`
- `vimdoc-language-server format --check doc/`
- `vimdoc-language-server check doc/`
- `nix develop --command just ci`

Reviewed-on: #55
2026-05-09 16:12:55 +00:00
.forgejo docs: add contributing guide (#53) 2026-05-05 17:42:51 +00:00
.github/workflows Port live-server.nvim to Forgejo (#52) 2026-05-05 17:08:53 +00:00
doc docs: add quick start and rename vimdoc (#55) 2026-05-09 16:12:55 +00:00
lua/live-server docs: add quick start and rename vimdoc (#55) 2026-05-09 16:12:55 +00:00
plugin Port live-server.nvim to Forgejo (#52) 2026-05-05 17:08:53 +00:00
.editorconfig chore: update project configs to match cp.nvim 2026-02-03 21:00:07 -05:00
.gitignore fix: prevent infinite loop when started from non-filesystem buffer (#35) 2026-03-06 11:58:46 -05:00
.luarc.json ci : scripts + format 2026-03-04 13:42:15 -05:00
.styluaignore ci : scripts + format 2026-03-04 13:42:15 -05:00
biome.json chore: replace prettier with biome (#48) 2026-04-25 16:01:11 -04:00
CONTRIBUTING.md docs: add quick start and rename vimdoc (#55) 2026-05-09 16:12:55 +00:00
flake.lock build(nix): use nixpkgs vimdoc-language-server (#46) 2026-04-20 17:35:49 -04:00
flake.nix chore: replace prettier with biome (#48) 2026-04-25 16:01:11 -04:00
justfile Port live-server.nvim to Forgejo (#52) 2026-05-05 17:08:53 +00:00
LICENSE chore: switch LICENSE to GPLv3 (post-remigrate) 2026-05-01 11:59:34 +00:00
live-server.nvim-scm-1.rockspec Port live-server.nvim to Forgejo (#52) 2026-05-05 17:08:53 +00:00
README.md docs: add quick start and rename vimdoc (#55) 2026-05-09 16:12:55 +00:00
selene.toml feat: replace npm live-server with pure-Lua HTTP server (#29) 2026-03-02 23:16:35 -05:00
stylua.toml chore: update project configs to match cp.nvim 2026-02-03 21:00:07 -05:00
vim.yaml feat: replace npm live-server with pure-Lua HTTP server (#29) 2026-03-02 23:16:35 -05:00

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.

Note

Due to GitHub's historic unreliability, active development is hosted on Forgejo. GitHub is maintained as a read-only mirror. See :help live-server-migration to optionally update your plugin source configuration.

Dependencies

  • Neovim >= 0.10

Installation

With vim.pack (Neovim 0.12+):

vim.pack.add({
  'https://git.barrettruth.com/barrettruth/live-server.nvim',
})

Or via luarocks:

luarocks install live-server.nvim

Quick Start

Set vim.g.live_server before the plugin loads only when you want to change the default port or browser behavior.

vim.g.live_server = {
  port = 8080,
  browser = false,
}

Open an HTML, CSS, or JavaScript file and start the server for that file's directory.

:LiveServerStart

Start a specific project directory when the current buffer is elsewhere.

:LiveServerStart ~/projects/my-website

Use one command to switch the same project on or off.

:LiveServerToggle

Stop the server when you are done with the project.

:LiveServerStop

Documentation

:help live-server

Known Limitations

  • No recursive file watching on Linux: libuv's uv_fs_event only supports recursive directory watching on macOS and Windows. On Linux (inotify), the recursive flag 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.