presence.nvim​ **[Features](#features)** | **[Installation](#installation)** | **[Configuration](#configuration)** | **[Troubleshooting](#troubleshooting)** | **[Development](#development)** | **[Contributing](#contributing)** > Discord [Rich Presence](https://discord.com/rich-presence) plugin for [Neovim](https://neovim.io) https://user-images.githubusercontent.com/10726590/128818164-43e56722-9afe-4051-8790-b04769abc188.mov ## Features * Light and unobtrusive * No Python/Node providers (or CoC) required * Cross-platform support: macOS, nixOS, Linux, Windows[\*](https://github.com/andweeb/presence.nvim/projects/1#card-60537963), WSL[\*](https://github.com/andweeb/presence.nvim/wiki/Rich-Presence-in-WSL) * Startup time is fast(er than other Rich Presence plugins, by [kind of a lot](https://github.com/andweeb/presence.nvim/wiki/Plugin-Comparisons)) * Written in Lua and [highly configurable](#configuration) in Lua (but also configurable in VimL if you want) * Manages Rich Presence across multiple Neovim instances in various environments (tmux panes/windows, ssh sessions, terminal tabs/windows, etc.) ## Installation Use your favorite plugin manager * [vim-plug](https://github.com/junegunn/vim-plug): `Plug 'andweeb/presence.nvim'` * [packer.nvim](https://github.com/wbthomason/packer.nvim): `use 'andweeb/presence.nvim'` #### Notes * Requires [Neovim 0.5](https://github.com/neovim/neovim/releases/tag/v0.5.0) or higher * Rich Presence should work automatically after installation (unless you're using WSL, in which case [see here](https://github.com/andweeb/presence.nvim/wiki/Rich-Presence-in-WSL)) ## Configuration Configuration is not necessary for Rich Presence to work. But for those that want to override the default configs, the following options are available to configure in either Lua or VimL. ### Lua Require the plugin and call `setup` with a config table with one or more of the following keys: ```lua -- The setup config table shows all available config options with their default values: require("presence"):setup({ -- General options auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`) neovim_image_text = "The One True Text Editor", -- Text displayed when hovered over the Neovim image main_image = "neovim", -- Main image display (either "neovim" or "file") client_id = "793271441293967371", -- Use your own Discord application client id (not recommended) log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error") debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(, true)`) enable_line_number = false, -- Displays the current line number instead of the current project blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace match buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "