Attributes
Includes Deno configuration
Repository
Current version released
a year ago
Versions
- 3.15.4Latest
- 3.15.3
- 3.15.3
- 3.15.2
- 3.15.1
- 3.15.0
- v0.0.1
- 3.14.7
- 3.14.6
- 3.14.5
- 3.14.5
- 3.14.4
- 3.14.3
- 3.14.2
- 3.14.1
- 3.14.0
- 3.13.1
- 3.13.0
- 3.12.0
- 3.11.0
- 3.10.2
- 3.10.2
- 3.10.1
- 3.10.0
- 3.9.0
- 3.8.3
- 3.8.2
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.1
- 3.6.0
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.0
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.1
- 2.0.0
- 2.0.0
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- 0.5.1
- 0.5.0
- 0.4.5
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.10
- 0.3.9
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.2.0
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
dvpm - Denops Vim/Neovim Plugin Manager
dvpm
is a plugin manager for Vim and Neovim, powered by denops.vim.
- Vim / Neovim starts up very fast !
…but plugins are not loaded yet at startup \(^o^)/
All plugins are loaded lazily.
- You can write all Vim / Neovim settings in typescript
Requirement
Sample configuration
Neovim
- ~/.config/nvim/init.lua
local denops = vim.fn.expand("~/.cache/nvim/dvpm/github.com/vim-denops/denops.vim")
if not vim.loop.fs_stat(denops) then
vim.fn.system({ "git", "clone", "https://github.com/vim-denops/denops.vim", denops })
end
vim.opt.runtimepath:prepend(denops)
- ~/.config/nvim/denops/config/main.ts
import { Denops } from "https://deno.land/x/denops_std@v4.3.1/mod.ts";
import * as mapping from "https://deno.land/x/denops_std@v4.3.1/mapping/mod.ts";
import { globals } from "https://deno.land/x/denops_std@v4.3.1/variable/mod.ts";
import { expand } from "https://deno.land/x/denops_std@v4.3.1/function/mod.ts";
import { ensureString } from "https://deno.land/x/unknownutil@v2.1.1/mod.ts";
import {
echo,
execute,
} from "https://deno.land/x/denops_std@v4.3.1/helper/mod.ts";
import { Dvpm } from "https://deno.land/x/dvpm@0.1.0/mod.ts";
export async function main(denops: Denops): Promise<void> {
const base = ensureString(await expand(denops, "~/.cache/nvim/dvpm"));
const dvpm = await Dvpm.create(denops, { base });
// URL only.
await dvpm.add({ url: "yukimemi/dps-autocursor" });
// With branch.
await dvpm.add({ url: "neoclide/coc.nvim", branch: "release" });
// before setting.
await dvpm.add({
url: "yukimemi/dps-autobackup",
before: async (denops: Denops) => {
await globals.set(denops, "autobackup_dir", ensureString(await expand(denops, "~/.cache/nvim/autobackup")));
},
});
// after setting.
await dvpm.add({
url: "folke/which-key.nvim",
after: async (denops: Denops) => {
await execute(denops, `lua require("which-key").setup()`);
},
});
// dst setting. (for develop)
await dvpm.add({
url: "yukimemi/dps-randomcolorscheme",
dst: "~/src/github.com/yukimemi/dps-randomcolorscheme",
before: async (denops: Denops) => {
await mapping.map(denops, "<space>ro", "<cmd>ChangeColorscheme<cr>", { mode: "n" });
await mapping.map(denops, "<space>rd", "<cmd>DisableThisColorscheme<cr>", { mode: "n" });
await mapping.map(denops, "<space>rl", "<cmd>LikeThisColorscheme<cr>", { mode: "n" });
await mapping.map(denops, "<space>rh", "<cmd>HateThisColorscheme<cr>", { mode: "n" });
},
})
await echo(denops, "Load completed !");
}
See my dotfiles for more complex examples.
dotfiles/.config/nvim at main · yukimemi/dotfiles · GitHub
Vim
TODO.
API
Dvpm.create
public static async create(denops: Denops, dvpmOption: DvpmOption): Promise<Dvpm>
export type DvpmOption = {
// Base path for git clone.
base: string;
// debug print. Default is false.
debug?: boolean;
// Number of concurrent Update processes (DvpmUpdate). Default is 8.
concurrency?: number;
};
Dvpm.add
public async add(plug: Plug): Promise<void>
export type Plug = {
// Github `username/repository`. Other URLs starting with https are todo.
url: string;
// The path to git clone. (Option)
dst?: string;
// Git branch name. (Option)
branch?: string;
// enable or disable. Default is true.
enabled?: boolean;
// Processing to be performed before adding runtimepath. (Option)
before?: (denops: Denops) => Promise<void>;
// Processing to be performed after adding runtimepath. (Option)
after?: (denops: Denops) => Promise<void>;
};
Command
- DvpmUpdate [url]
Update installed plugins.
If url is specified, update only target plugins, if not specified, update all plugins.