Minimal Neovim plugin that installs DevDocs documentation as native Vim help.
No custom viewer: after installing, use :help.
:DocsInstall react
:h react
:h react-useEffect- Neovim 0.10+
curltar- Network access to
https://devdocs.io/docs.jsonandhttps://downloads.devdocs.io/
Use your plugin manager, for example lazy.nvim:
{ 'yourname/helpdocs.nvim' }:DocsInstall <doc>: download, convert and install a DevDocs docset.:DocsRemove <doc>: remove an installed docset.:DocsUpdate [doc]: reinstall one docset or all installed docsets.:DocsList: list installed docsets.
Install completion uses the cached DevDocs manifest after the first install.
Docsets are stored under:
stdpath('data')/helpdocs/docs/<doc>/doc/<doc>.txt
stdpath('data')/helpdocs/registry.json
They are added to runtimepath on startup, so help keeps working after restart.
- Fetch
https://devdocs.io/docs.json. - Resolve the requested slug/name/alias.
- Download
https://downloads.devdocs.io/<slug>.tar.gz. - Read DevDocs
index.jsonanddb.json. - Render normalized HTML fragments to Vimdoc.
- Generate
:helptags.
Tags are namespaced with the docset slug, e.g. react-useEffect, to avoid global
Vim help collisions.
The converter is intentionally small. It supports headings, paragraphs, code blocks, inline code, links, lists, blockquotes and simple tables. Decorative HTML is ignored. Some DevDocs pages may render imperfectly; contributions should add a small fixture test before expanding the converter.
Keep the plugin boring: no alternate viewer, no picker dependency, no bundled
docsets. Improve the source adapter or lua/helpdocs/parser/vimdoc.lua with
fixture coverage in tests/.