A Neovim plugin that integrates with Johnny Decimal Daemon (jdd), allowing you to automatically organize files in a directory according to the Johnny Decimal system—directly from your editor.
- Seamlessly runs the JDD process in the foreground from Neovim
- Fully configurable: all
jdd
CLI options are available via Lua - Supports exclusion patterns, dry-run mode, and custom config files
- Automatically stops the JDD process when Neovim exits
- Neovim 0.5.0 or later
- jdd binary in your
$PATH
- plenary.nvim (for async process management)
Install using your preferred Neovim package manager.
Using packer.nvim
use {
"mahyarmirrashed/jdd.nvim",
requires = { "nvim-lua/plenary.nvim" },
config = function()
require("jdd").setup()
end,
}
Using vim-plug
Plug 'nvim-lua/plenary.nvim'
Plug 'mahyarmirrashed/jdd.nvim'
Using lazy.nvim
{
"mahyarmirrashed/jdd.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
require("jdd").setup()
end,
}
Configure and start JDD with the setup()
function. All options map directly to the corresponding CLI flags.
require("jdd").setup({
-- root = "~/Documents",
-- log_level = "info",
dry_run = false,
-- exclude = { ".git/**", "tmp/**" },
-- config = "/path/to/.jd.yaml", -- optional
-- notify = false,
autostart = true,
})
To manually control the process:
require("jdd").setup({ autostart = false })
require("jdd").start() -- Start JDD
require("jdd").stop() -- Stop JDD
- JDD runs as a foreground process managed by Neovim.
- All logs and errors are shown as Neovim notifications.
- The process is automatically stopped when Neovim exits.