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

Important

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

πŸ’Ž Features

  • 🌐 Client-Server Design β€” Handles multiple Neovim instances with a single connection to Discord.
  • ⚑ Performance in Mind β€” Lightweight, dependency-free, with blazingly-fast startup.
  • πŸš€ Event-Driven Architecture β€” Instant presence updates with zero delays.
  • 🎨 Customizable Templates β€” Dynamic string templates with custom variables.
  • πŸ”§ Unmatched Configurability β€” Function-based configuration for infinite customization possibilities.
  • 🧠 Automated State Handling β€” Automatically manages activities across all instances.
  • πŸ’€ Smart Idle Detection β€” Identifies idle sessions and switches to the most recent non-idle session.
  • πŸ› οΈ Built-in Git Integration β€” Detects repositories and workspaces based on VCS files without relying on command-line tools.
  • πŸ—ƒοΈ Custom Assets β€” Extendable with fully customizable assets for any file/buffer type.
  • βš™οΈ Robust User Commands - Quickly manage Cord and its features through user commands and easily create your own keybindings.
  • πŸ”Œ Plugin System β€” Extendable with custom plugins, with a plethora of built-in ones out of the box.
  • πŸ“¦ Wide Compatibility - Compatible with various Discord installations (Snap, Flatpak) and able to work inside WSL and Discord in browser.
  • 🌍 Cross-Platform β€” Supports Windows, Linux, macOS, and FreeBSD.
  • 🌸 Rich Icon Collection β€” Features 120+ uniquely designed themed icons for 200+ file types and plugins.
  • πŸ” Automatic Reconnection β€” Able to reconnect to Discord if the connection is lost.

πŸ“¦ Install

Considerations

Expand

Cord requires the server executables to be present. To get it, you can either:

Installation

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

Cord is available on LuaRocks.

:Rocks install cord.nvim

Invoke :Cord update whenever the plugin is updated.

Using Vim packages

Unix:

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

Windows:

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

Invoke :Cord update whenever the plugin is updated.

Other

Invoke :Cord update whenever the plugin is updated.

🎨 Themes

Cord features over 120 beautifully designed icons for languages and components with distinct themes, with more to come!

πŸ‘‰ Explore the Showcase

πŸ“– Documentation

🀝 Contributing

We welcome contributions to make Cord even better!

❓ FAQ

Have questions or issues?

πŸ› οΈ Build From Source

Note

Make sure you have Rust >= 1.85.0 installed.

To build Cord from source, you can run :Cord update build (async) which will install the server binary from crates.io by running the following command:

cargo install --path . --root path/to/nvim-data-dir/cord/bin --force

Alternatively, you can use cargo b --release to build the binary, then place it under nvim-data-dir/cord/bin.


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

cord.nvim