Fuzzy search Go packages and symbols, view documentation, and extend to other languages via adapters within Neovim.
godoc.nvim is a Neovim plugin that provides an integrated interface for searching and viewing Go documentation directly within the editor. It enhances developer productivity by eliminating the need to switch contexts to browse standard library or project package documentation. The plugin supports fuzzy search, multiple pickers, and is designed with extensibility in mind through a modular adapter system.
Go developers using Neovim who want to streamline their workflow by accessing documentation without leaving the editor. It is particularly useful for those who frequently consult Go standard library or project package documentation and prefer customizable picker interfaces.
Developers choose godoc.nvim for its seamless integration with Neovim, support for popular pickers like Telescope and Snacks with preview capabilities, and its extensible adapter system that allows functionality to be extended beyond Go to other languages or arbitrary content. Its built-in health checks and optional syntax highlighting via tree-sitter parsers further enhance the user experience.
Fuzzy search Go packages/symbols and view docs from within Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple popular pickers like Telescope, Snacks, mini.pick, fzf-lua, and native Neovim, allowing users to choose based on their workflow, as detailed in the README's picker configuration section.
Enables functionality beyond Go to other languages or custom content through user-defined or third-party adapters, demonstrated in the adapter interface examples, making it highly versatile.
Provides health verification for configured adapters via `:checkhealth godoc`, ensuring reliability and ease of debugging, as mentioned in the health check section.
Can integrate with tree-sitter-godoc and tree-sitter-go parsers for enhanced documentation rendering, though setup requires additional configuration, as shown in the installation notes.
Enabling tree-sitter-based syntax highlighting involves non-trivial configuration with nvim-treesitter, including custom parser setup and injection queries, which may deter users seeking a plug-and-play solution.
Only the Go adapter is built-in; extending to other languages requires implementing custom adapters or finding third-party ones, which aren't readily available and adds development overhead.
Requires a Go installation with `go doc` and `go list` commands, making it unsuitable for environments without Go or for non-Go projects, as noted in the requirements section.