Home

Awesome

dooku.nvim

Generate and open your HTML code documentation inside Neovim.

screenshot_2023-08-07_18-56-31_067791379

<div align="center"> <a href="https://discord.gg/ymcMaSnq7d" rel="nofollow"> <img src="https://img.shields.io/discord/1121138836525813760?color=azure&labelColor=6DC2A4&logo=discord&logoColor=black&label=Join the discord server&style=for-the-badge" data-canonical-src="https://img.shields.io/discord/1121138836525813760"> </a> </div>

Table of contents

Why

Because the easier it is for you to access you code documentation, the more likely you are to use it. And with this plugin you have it one keypress away.

Should I use doge or dooku?

Supported languages

LanguageGenerator
cdoxygen
c++doxygen
c# doxygen
objective-cdoxygen
javadoxygen
pythondoxygen
phpdoxygen
typescripttypedoc
javascriptjsdoc
rustrustdoc
gogodoc
lualdoc
rubyyard

Required system dependencies

# Pacman is the arch linux package manager.
# Use the equivalent command of your distro.
sudo pacman -S git doxygen rust go ldoc ruby-yard
npm install -g typedoc jdoc
go install golang.org/x/tools/cmd/godoc@latest

Then run :checkhealth dooku to check if everything is OK.

How to install

lazy.nvim

{
  "Zeioth/dooku.nvim",
  event = "VeryLazy",
  opts = {
    -- your config options here
  },
},

Commands

CommandDescription
:DookuAutoSetupIt will download a config file in your project root directory, so you can run :DookuGenerate without having to configure anything. Not necessary for rust and go.
:DookuGenerateGenerate the HTML documentation using the adecuated generator for the current filetype.
:DookuOpenOpen the HTML documentation using the specified program, or the default internet browser.

Options

project_root = { '.git', '.hg', '.svn', '.bzr', '_darcs', '_FOSSIL_', '.fslckout' } -- when one of these files is found, consider that directory the project root. Search starts upwards from the current buffer.
browser_cmd = "xdg-open"     -- write your internet browser here. If unset, it will attempt to detect it automatically.

-- automations
on_bufwrite_generate = false -- auto run :DookuGenerate when a buffer is written.
on_generate_open = true      -- auto open when running :DookuGenerate. This options is not triggered by on_bufwrite_generate.
auto_setup = true            -- auto download a config for the generator if it doesn't exist in the project.

-- notifications
on_generate_notification = true
on_open_notification = true

Basic usage

Run the commands in this order

Or if you prefer run :DookuGenerate three times. This is only necessary the first time.

FAQ