Skip to content

Latest commit

ย 

History

1,370 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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 does not require Rust to be installed.

๐Ÿ’Ž Features

  • โšก Fast, lightweight, and batteries included.
  • ๐Ÿš€ Rate-limit aware, event-driven architecture.
  • ๐ŸŽจ Dynamic string templates with custom variables.
  • ๐Ÿ—ƒ๏ธ Customizable assets for any file/buffer type.
  • ๐Ÿ”ง Flexible configuration with rich API, function-based fields, hooks, user commands and custom IPC paths.
  • ๐Ÿ”Œ Extension system of its own, with many extensions 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.
  • ๐ŸŽฏ Async-first design with an async-aware configuration layer.
  • ๐Ÿ“ฆ Works with different Discord setups (Snap, Flatpak, WSL, and even the browser).
  • ๐ŸŒ Runs on Windows, Linux, macOS, and FreeBSD.
  • ๐ŸŒธ Includes 140+ icons for 200+ file types and plugins, featured in distinct themes and flavors.
  • ๐Ÿ” Reconnects automatically if connection to Discord is lost.

๐Ÿ“ฆ Installation

Note

cord.nvim will automatically load with defaults; calling setup() is optional. The default configuration is found here.

lazy.nvim
{
  'vyfor/cord.nvim'
}

โš™๏ธ Configuring

{
  'vyfor/cord.nvim',
   ---@type CordConfig
  opts = {
    -- ...
  }
}
packer.nvim
use {
  'vyfor/cord.nvim'
}

โš™๏ธ Configuring

use {
  'vyfor/cord.nvim',
  config = function()
    require('cord').setup {
      -- ...
    }
  end
}
rocks.nvim

Cord is available on LuaRocks.

:Rocks install cord.nvim

โš™๏ธ Configuring

require('cord').setup {
  -- ...
}
vim.pack (v0.12+)
vim.pack.add { 'https://github.com/vyfor/cord.nvim' }

โš™๏ธ Configuring

require('cord').setup {
  -- ...
}
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

โš™๏ธ Configuring

require('cord').setup {
  -- ...
}
Considerations

Cord requires the server executable to be present. By default, the plugin will fetch it from GitHub, which requires a dependency on curl.

If preferred, the server can be built from source. Run :Cord update install to install from crates.io or :Cord update build to build from source locally.

Note: If you decide to build from source, it is your responsibility to keep the server binary up-to-date.

See the Examples to get started. Ask any questions in Discussions.

๐ŸŽจ Themes

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

  • Default: A stylish theme based on Nerd Fonts icons. Default Theme
  • Atom: A sleek theme based on Atom Material Icons. Atom Theme
  • Catppuccin: A soothing pastel theme based on Catppuccin icons. Catppuccin Theme
  • Minecraft: A blocky pixel-art set based on Datapack Icons. Minecraft Theme
  • Void: A monochrome set defined by negative space. Void Theme
  • Classic: A clean theme featuring widely recognized icons. Classic Theme

See the showcase for an extended 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!

Atom (Light) Minecraft (Dark)

โค๏ธ 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 starring the repo or sponsoring me on GitHub. Every bit of support helps me continue to improve and maintain Cord for everyone. Thank you!

Releases

Sponsor this project

Used by

Contributors

Languages