1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-14 04:27:59 +08:00
SpaceVim/bundle/nvim-plug
2025-02-06 12:16:33 +08:00
..
lua/plug feat(nvim-plug): add default nvim-plug ui 2025-02-06 00:15:38 +08:00
plugin feat(nvim-plug): add default nvim-plug ui 2025-02-06 00:15:38 +08:00
test feat(nvim-plug): add default nvim-plug ui 2025-02-06 00:15:38 +08:00
README.md docs(nvim-plug): update readme 2025-02-06 12:16:33 +08:00

nvim-plug

nvim-plug is a simple plugin manager for neovim

GPLv3 License

Alpha version. Any changes, including backward incompatible changes, are applied without announcements.

Usage

require('plug').setup({
  bundle_dir = 'D:/bundle_dir',
  max_processes = 5, -- max number of processes used for nvim-plug job
  base_url = 'https://github.com',
  ui = 'notify', -- default ui is notify, use `default` for split window UI
})

require('plug').add({
  {
    'wsdjeg/scrollbar.vim',
    events = { 'VimEnter' },
    config = function() end,
  },
  {
    'wsdjeg/vim-chat',
    enabled = function()
      return vim.fn.has('nvim-0.10.0') == 1
    end,
  },
  {
    'wsdjeg/flygrep.nvim',
    cmds = { 'FlyGrep' },
    config = function()
      require('flygrep').setup()
    end,
  },
  {
    'D:/wsdjeg/winbar.nvim',
    events = { 'VimEnter' },
  },
})

Plugin Spec

name description
[1] string, plugin repo short name, wsdjeg/flygrep.nvim
cmds table<string>, commands lazy loading
events table<string>, events lazy loading
on_ft table<string>, filetypes lazy loading
on_map table<string>, key bindings lazy loading
type string, plugin type including color, plugin
build string or table<string>, executed by job api
enabled boolean or function evaluated when startup, when it is false, plugin will be skiped

Commands

  • :PlugInstall: install specific plugin

Custom Plugin UI

The default is ui is inspired by vundle, to setup custom UI, you need to creat a on_update function, this function is called with two arges:

  • name: string
  • date: PlugUiData
key description
clone_done boolead, is true when clone successfully
--- your custom UI

local function on_ui_update(name, data)
  -- logic
end


require('plug').setup({
  bundle_dir = 'D:/bundle_dir',
  max_processes = 5, -- max number of processes used for nvim-plug job
  base_url = 'https://github.com',
  ui = on_ui_update, -- default ui is notify, use `default` for split window UI
})

Feedback

The development of this plugin is in SpaceVim/bundle/nvim-plug directory.

If you encounter any bugs or have suggestions, please file an issue in the issue tracker or Telegram group