{"id":16333446,"url":"https://github.com/iogamaster/neocord","last_synced_at":"2026-03-13T02:31:04.954Z","repository":{"id":197345421,"uuid":"698426212","full_name":"IogaMaster/neocord","owner":"IogaMaster","description":"Discord Rich Presence for Neovim (Fork of presence.nvim)","archived":false,"fork":false,"pushed_at":"2025-03-07T01:35:50.000Z","size":4687,"stargazers_count":145,"open_issues_count":15,"forks_count":22,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-24T16:18:06.711Z","etag":null,"topics":["discord","discord-rpc","flake","hacktoberfest","lua","neovim","neovim-plugin","nix","rich-presence"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IogaMaster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-29T22:30:47.000Z","updated_at":"2025-05-24T15:39:46.000Z","dependencies_parsed_at":"2024-01-28T02:25:24.190Z","dependency_job_id":"123a977c-0dbb-4fcc-858e-c38c586e8a31","html_url":"https://github.com/IogaMaster/neocord","commit_stats":null,"previous_names":["iogamaster/neocord"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IogaMaster/neocord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IogaMaster%2Fneocord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IogaMaster%2Fneocord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IogaMaster%2Fneocord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IogaMaster%2Fneocord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IogaMaster","download_url":"https://codeload.github.com/IogaMaster/neocord/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IogaMaster%2Fneocord/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30455766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T02:22:12.178Z","status":"ssl_error","status_checked_at":"2026-03-13T02:06:49.475Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord","discord-rpc","flake","hacktoberfest","lua","neovim","neovim-plugin","nix","rich-presence"],"created_at":"2024-10-10T23:35:34.892Z","updated_at":"2026-03-13T02:31:04.948Z","avatar_url":"https://github.com/IogaMaster.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003e\n    \u003cimg src=\"./assets/logos/Neovim.png\" width=256 alt=\"neocord\"\u003e\u0026#x200B;\n\u003c/h1\u003e\n\u003ch2 align=\"center\"\u003e\n    A Discord \u003ca href=\"https://discord.com/rich-presence\"\u003eRich Presence\u003c/a\u003e plugin for  \u003ca href=\"https://neovim.io\"\u003eNeovim\u003c/a\u003e\n\u003c/h2\u003e\n\n\u003ch1 align=\"center\"\u003e\n\u003ca href='#'\u003e\u003cimg src=\"https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png\" width=\"600px\"/\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003cdiv\u003e\n    \u003ca href=\"https://github.com/Iogamaster/neocord/issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/issues/Iogamaster/neocord?color=fab387\u0026labelColor=303446\u0026style=for-the-badge\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Iogamaster/neocord/stargazers\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/stars/Iogamaster/neocord?color=ca9ee6\u0026labelColor=303446\u0026style=for-the-badge\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Iogamaster/neocord\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/repo-size/Iogamaster/neocord?color=ea999c\u0026labelColor=303446\u0026style=for-the-badge\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/Iogamaster/neocord/blob/main/.github/LICENCE\"\u003e\n        \u003cimg src=\"https://img.shields.io/static/v1.svg?style=for-the-badge\u0026label=License\u0026message=MIT\u0026logoColor=ca9ee6\u0026colorA=313244\u0026colorB=cba6f7\"/\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003c/div\u003e\n        \u003cimg href=\"https://builtwithnix.org\" src=\"https://builtwithnix.org/badge.svg\"/\u003e\n   \u003c/h1\u003e\n   \u003cbr\u003e\n\n![image](https://github.com/IogaMaster/neocord/assets/67164465/2a6a2d6b-3f7f-4d88-8f6c-27ca6b7e4419)\n\n## Features\n* Light and unobtrusive\n* Written in Pure Lua and is [highly configurable](#configuration)\n* Custom logo if desired.\n* Great looking icons!\n\n## Installation\nUse your favorite plugin manager\n* [lazy.nvim](https://github.com/folke/lazy.nvim): \n```lua\n{ \n    'IogaMaster/neocord',\n    event = \"VeryLazy\"\n}\n```\n* [packer.nvim](https://github.com/wbthomason/packer.nvim):\n```lua\nuse 'IogaMaster/neocord'\n```\n* [vim-plug](https://github.com/junegunn/vim-plug): \n```vim\nPlug 'IogaMaster/neocord'\n```\n\n#### Notes\n* Requires [Neovim 0.5](https://github.com/neovim/neovim/releases/tag/v0.5.0) or higher\n\n## Configuration\nConfiguration 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.\n\n### Lua\nRequire the plugin and call `setup` with a config table with one or more of the following keys:\n\n```lua\n-- The setup config table shows all available config options with their default values:\nrequire(\"neocord\").setup({\n    -- General options\n    logo                = \"auto\",                     -- \"auto\" or url\n    logo_tooltip        = nil,                        -- nil or string\n    main_image          = \"language\",                 -- \"language\" or \"logo\"\n    client_id           = \"1157438221865717891\",      -- Use your own Discord application client id (not recommended)\n    log_level           = nil,                        -- Log messages at or above this level (one of the following: \"debug\", \"info\", \"warn\", \"error\")\n    debounce_timeout    = 10,                         -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(\u003cfilename\u003e, true)`)\n    blacklist           = {},                         -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches\n    file_assets         = {},                         -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)\n    show_time           = true,                       -- Show the timer\n    global_timer        = false,                      -- if set true, timer won't update when any event are triggered\n    buttons             = nil,                        -- A list of buttons (objects with label and url attributes) or a function returning such list.\n\n    -- Rich Presence text options\n    editing_text        = \"Editing %s\",               -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)\n    file_explorer_text  = \"Browsing %s\",              -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)\n    git_commit_text     = \"Committing changes\",       -- Format string rendered when committing changes in git (either string or function(filename: string): string)\n    plugin_manager_text = \"Managing plugins\",         -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)\n    reading_text        = \"Reading %s\",               -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)\n    workspace_text      = \"Working on %s\",            -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)\n    line_number_text    = \"Line %s out of %s\",        -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)\n    terminal_text       = \"Using Terminal\",           -- Format string rendered when in terminal mode.\n})\n```\n\n### VimL\nWhile the plugin is written in pure Lua, it can still be initialized using standard Vim commands (i.e. if you have an `init.vim` instead of `init.lua`).\nThe available config options are as shown above; we just need to use some special Vim syntax around them:\n```vim\ncall v:lua.require'neocord'.setup_no_return(#{\n    \\ logo: 'auto',\n    \\ })\n```\nVim does not support null variables very well, so passing a value equivalent to `nil` does not seem to be possible with this method.\nTo set an option to `nil`, use the syntax below, or refrain from setting that option explicitly (if its default is `nil`).\n\nAlternatively, use a Lua heredoc.\nThis is slightly more verbose, but supports all Lua syntax.\nFor example:\n```vim\nif has('nvim-0.5') || has('lua') \n    lua \u003c\u003c EOF\n    require('neocord').setup({\n        logo         = \"auto\",\n        logo_tooltip = nil,\n        -- etc...\n    })\nEOF\nendif\n```\n\n## Special Thanks:\n- [vscord](https://github.com/leonardssh/vscord) for the [icons](https://github.com/leonardssh/vscord/tree/main/assets/icons).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiogamaster%2Fneocord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiogamaster%2Fneocord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiogamaster%2Fneocord/lists"}