{"id":15662653,"url":"https://github.com/observeroftime/nvimcord","last_synced_at":"2025-04-30T22:49:45.773Z","repository":{"id":139288239,"uuid":"471704886","full_name":"ObserverOfTime/nvimcord","owner":"ObserverOfTime","description":"Another Neovim Discord RPC plugin","archived":false,"fork":false,"pushed_at":"2025-03-23T10:33:00.000Z","size":63,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T22:49:36.881Z","etag":null,"topics":["discord","discord-rpc","neovim","neovim-plugin","nvim-lua"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ObserverOfTime.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"ObserverOfTime","liberapay":"ObserverOfTime"}},"created_at":"2022-03-19T13:34:35.000Z","updated_at":"2025-03-23T10:33:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"9b7f2496-e081-4ed0-9ec6-fd7f1995ba46","html_url":"https://github.com/ObserverOfTime/nvimcord","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ObserverOfTime%2Fnvimcord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ObserverOfTime%2Fnvimcord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ObserverOfTime%2Fnvimcord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ObserverOfTime%2Fnvimcord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ObserverOfTime","download_url":"https://codeload.github.com/ObserverOfTime/nvimcord/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251795387,"owners_count":21645019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","neovim","neovim-plugin","nvim-lua"],"created_at":"2024-10-03T13:33:49.457Z","updated_at":"2025-04-30T22:49:45.749Z","avatar_url":"https://github.com/ObserverOfTime.png","language":"Lua","readme":"\u003c!-- panvimdoc-ignore-start --\u003e\n\n\u003cimg src=\".github/logo.png\" alt=\"Logo\" align=\"right\" width=\"128\"/\u003e\n\n# nvimcord\n\nA Discord Rich Presence plugin for Neovim written in Lua.\n\n\u003c!-- panvimdoc-ignore-end --\u003e\n\n## Installation\n\n### lazy.nvim\n\n```lua\n{\n  'ObserverOfTime/nvimcord',\n  opts = {\n    ...\n  }\n}\n```\n\n### pckr.nvim\n\n```lua\n{\n  'ObserverOfTime/nvimcord',\n  config = function()\n    require('nvimcord').setup {\n      ...\n    }\n  end\n}\n```\n\n## Configuration\n\nThese are the default values:\n\n```lua\n-- Start the RPC manually (boolean)\nautostart = false\n\n-- Set the client ID (string)\nclient_id = '954365489214291979'\n\n-- Update workspace on chdir (boolean)\ndynamic_workspace = false\n\n-- Use the filetype as the large icon (boolean)\nlarge_file_icon = true\n\n-- Set the log level (vim.log.levels.*)\nlog_level = vim.log.levels.INFO\n\n-- Get the workspace name (function|string)\nworkspace_name = function()\n  return --[[git root or cwd basename]]\nend\n\n-- Get the workspace URL (function|string)\nworkspace_url = function()\n  return --[[git remote URL]]\nend\n```\n\nOptions can also be configured using Vim variables.\n\nThis can be useful when using [exrc] or a project plugin.\n\n```vim\nlet g:nvimcord#autostart = v:false\nlet g:nvimcord#client_id = '954365489214291979'\nlet g:nvimcord#dynamic_workspace = v:false\nlet g:nvimcord#large_file_icon = v:true\nlet g:nvimcord#log_level = 2\n\" NOTE: these can only be defined as strings\nlet g:nvimcord#workspace_name = ''\nlet g:nvimcord#workspace_url = ''\n```\n\n[exrc]: https://neovim.io/doc/user/starting.html#exrc\n\n### Filetypes\n\n```lua\nlocal fts = require 'nvimcord.filetypes'\n\n-- NOTE: the asset can also be an image URL\n\n-- override options\nfts.filetype['vim'].name = 'Vim Script'\nfts.filetype['vim'].asset = 'neovim'\n\n-- new filetype\nfts.filetype['teal'] = {name = 'Teal', asset = 'lua'}\n\n-- new pattern\nfts.pattern['^%.gitkeep$'] = {name = 'git keep', asset = 'git'}\n\n-- ignore filetype\nfts.ignore.filetype['vim'] = true\n\n-- ignore filename\nfts.ignore.filename['init.vim'] = true\n```\n\n## Commands\n\n#### :NvimcordUpdate\n\nStart or update the rich presence.\n\n#### :NvimcordStop\n\nStop the rich presence.\n\n#### :NvimcordFiletypes\n\nList the supported filetypes.\n\n#### :NvimcordAssets\n\nList the supported assets.\n\n## TODO\n\n* [x] Ignore by filename\n* [ ] Cache filename patterns\n* [x] Detect workspace through git\n* [x] Warn when pipe doesn't exist\n* [ ] Set idle status after some time\n\n## Assets\n\nThe assets are available [here][disroot].\n\n### Sources\n\n- [file-icons/icons](https://github.com/file-icons/icons)\n- [file-icons/DevOpicons](https://github.com/file-icons/DevOpicons)\n- [file-icons/MFixx](https://github.com/file-icons/MFixx)\n- [primer/octicons](https://github.com/primer/octicons)\n\n### Palette\n\nThe icons use the basic colours from [file-icons/atom][colours].\n\n\u003c!-- panvimdoc-ignore-start --\u003e\n\n- ![#ac4142](https://dummyimage.com/12x12/ac4142\u0026text=+ \"#ac4142\") red\u003cbr\u003e\n- ![#90a959](https://dummyimage.com/12x12/90a959\u0026text=+ \"#90a959\") green\u003cbr\u003e\n- ![#f4bf75](https://dummyimage.com/12x12/f4bf75\u0026text=+ \"#f4bf75\") yellow\u003cbr\u003e\n- ![#6a9fb5](https://dummyimage.com/12x12/6a9fb5\u0026text=+ \"#6a9fb5\") blue\u003cbr\u003e\n- ![#8f5536](https://dummyimage.com/12x12/8f5536\u0026text=+ \"#8f5536\") maroon\u003cbr\u003e\n- ![#aa759f](https://dummyimage.com/12x12/aa759f\u0026text=+ \"#aa759f\") purple\u003cbr\u003e\n- ![#d28445](https://dummyimage.com/12x12/d28445\u0026text=+ \"#d28445\") orange\u003cbr\u003e\n- ![#75b5aa](https://dummyimage.com/12x12/75b5aa\u0026text=+ \"#75b5aa\") cyan\u003cbr\u003e\n- ![#ff00cc](https://dummyimage.com/12x12/ff00cc\u0026text=+ \"#ff00cc\") pink\u003cbr\u003e\n- ![#7f7f7f](https://dummyimage.com/12x12/7f7f7f\u0026text=+ \"#7f7f7f\") grey\u003cbr\u003e\n\n\u003c!-- panvimdoc-ignore-end --\u003e\n\n[disroot]: https://cloud.disroot.org/s/3HCpppopkrcR6iK\n[colours]: https://github.com/file-icons/atom/blob/master/styles/colours.less#L10-L19\n\n## Alternatives\n\n- [amiralies/coc-discord] (TypeScript)\n- [andweeb/presence.nvim] (Lua)\n- [aurieh/discord.nvim] (Remote Python)\n  - [or my own fork][ObserverOfTime/discord.nvim]\n- [Cyuria/discord.nvim] (Lua + C++)\n- [GabeFrahm/vim-presence] (Python)\n- [goopey7/vdrpc] (VimL + C)\n- [IogaMaster/neocord] (Lua)\n- [LeonardSSH/coc-discord-rpc] (TypeScript)\n- [lpturmel/discord.nvim] (Lua + Rust)\n- [SamJakob/coc-discord-presence] (TypeScript)\n- [sardonicism-04/nvim-rich-presence] (VimL + Rust)\n- [Stoozy/vimcord] Python\n- [TCL100K/vim-discord-rpc] (Python)\n- [vbe0201/vimdiscord] (Python)\n- [vyfor/cord.nvim] (Lua + Rust)\n\n[amiralies/coc-discord]: https://github.com/amiralies/coc-discord\n[andweeb/presence.nvim]: https://github.com/andweeb/presence.nvim\n[aurieh/discord.nvim]: https://github.com/aurieh/discord.nvim\n[Cyuria/discord.nvim]: https://github.com/Cyuria/discord.nvim\n[GabeFrahm/vim-presence]: https://github.com/GabeFrahm/vim-presence\n[goopey7/vdrpc]: https://github.com/goopey7/vdrpc\n[IogaMaster/neocord]: https://github.com/IogaMaster/neocord\n[LeonardSSH/coc-discord-rpc]: https://github.com/LeonardSSH/coc-discord-rpc\n[lpturmel/discord.nvim]: https://github.com/lpturmel/discord.nvim\n[ObserverOfTime/discord.nvim]: https://github.com/ObserverOfTime/discord.nvim\n[SamJakob/coc-discord-presence]: https://github.com/SamJakob/coc-discord-presence\n[sardonicism-04/nvim-rich-presence]: https://github.com/sardonicism-04/nvim-rich-presence\n[Stoozy/vimcord]: https://github.com/Stoozy/vimcord\n[TCL100K/vim-discord-rpc]: https://github.com/TCL100K/vim-discord-rpc\n[vbe0201/vimdiscord]: https://github.com/vbe0201/vimdiscord\n[vyfor/cord.nvim]: https://github.com/vyfor/cord.nvim\n","funding_links":["https://github.com/sponsors/ObserverOfTime","https://liberapay.com/ObserverOfTime"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobserveroftime%2Fnvimcord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobserveroftime%2Fnvimcord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobserveroftime%2Fnvimcord/lists"}