Skip to content

vyfor/cord.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧩 Cord – Tailor Your Presence Like Never Before

Stargazers Neovim Logo Forks

Cord Logo

πŸš€ The most extensible Discord Rich Presence plugin for Neovim, powered by Rust.

Cord Banner
cord.nvim

Important

Cord no longer requires Rust to be installed. Server component will be automatically downloaded from GitHub Releases.

πŸ’Ž Features

  • ⚑ Fast, lightweight, and batteries-included.
  • πŸš€ Event-based architecture with instant presence updates.
  • 🎨 Dynamic string templates with custom variables.
  • πŸ—ƒοΈ Customizable assets for any file/buffer type.
  • πŸ”§ Flexible configuration with rich API, function-based fields, hook system and user commands.
  • πŸ”Œ Plugin system of its own, with many plugins out-of-the-box.
  • πŸ› οΈ Finds repositories and workspaces based on VCS files without relying on command-line tools.
  • 🧠 Manages activities across all instances with a single connection to Discord.
  • πŸ’€ Detects when you're idle and switches to the most recent active instance.
  • πŸ“¦ Works with different Discord setups (Snap, Flatpak, WSL, and even the browser version).
  • 🌍 Runs on Windows, Linux, macOS, and FreeBSD.
  • 🌸 Includes 120+ unique icons for over 200 file types and plugins.
  • πŸ” Reconnects automatically if connection to Discord is lost.

πŸ“¦ Installation

lazy.nvim
{
  'vyfor/cord.nvim',
  build = ':Cord update',
  -- opts = {}
}
packer.nvim
use {
  'vyfor/cord.nvim',
  run = ':Cord update',
  -- config = function()
  --   require('cord').setup {}
  -- end
}
rocks.nvim

Cord is available on LuaRocks.

:Rocks install cord.nvim

Invoke :Cord update whenever the plugin is updated.

vim.pack (v0.12+)
vim.pack.add { 'https://github.com/vyfor/cord.nvim' }
vim.api.nvim_create_autocmd('PackChanged', {
  callback = function(opts)
    if opts.data.spec.name == 'cord.nvim' and opts.data.kind == 'update' then 
      vim.cmd 'Cord update'
    end
  end
})
Vim packages

Unix:

git clone https://github.com/vyfor/cord.nvim ~/.local/share/nvim/site/pack/plugins/start/cord.nvim

Windows (PowerShell):

git clone https://github.com/vyfor/cord.nvim $LOCALAPPDATA/nvim-data/site/pack/plugins/start/cord.nvim

Invoke :Cord update whenever the plugin is updated.

Considerations

Cord requires the server executables to be present. By default, the plugin automatically fetches them from GitHub, which requires a dependency on curl. Alternatively, either:

🎨 Themes

Cord features over 120 meticulously crafted icons available in distinct themes:

  • Default: A clean and stylish theme featuring widely recognized icons.
  • Atom: A sleek theme inspired by Atom Material Icons.
  • Catppuccin: A soothing pastel theme inspired by Catppuccin.

See the showcase for a visual comparison.

Tip

Each theme includes multiple flavors, typically dark, light, and accent, representing the background color of the icons. Choose your theme in the display configuration option. More themes are coming soon!

❀️ Support the Project

I'm the sole maintainer of cord.nvim and dedicate much of my free time to this project. If you find Cord helpful, you can show your support by giving the repo a star or sponsoring me on GitHub. Every bit of support helps me continue to improve and maintain Cord for everyone. Thank you!

πŸ’¬ Questions? Post in Discussions or reach me out on Discord: vyfor

cord.nvim