mirror of
https://github.com/xHyroM/zed-discord-presence.git
synced 2024-11-09 16:08:06 +01:00
Jozef Steinhübl
f7af3a6e0a
* feat: add get_extension * feat: add language icons (#8) chore: icons Co-authored-by: Youssef Khalil <38569107+darkyeg@users.noreply.github.com> * add copyright notice, rename to language_icons * add zed icons * change assets notice * feat: add language recognition from file name or ext * style: cleanup * feat: regex support * feat: return text as default * build: reduce deps * docs: lsp configuration * feat: large text, small text * refactor: simplify configuration * refactor: simplify discord * feat: placeholders * feat: make state & details option --------- Co-authored-by: Youssef Khalil <38569107+darkyeg@users.noreply.github.com>
44 lines
1.6 KiB
Markdown
44 lines
1.6 KiB
Markdown
**Zed discord presence** is an extension for [Zed](https://zed.dev) that adds support for [Discord Rich Presence](https://discord.com/developers/docs/rich-presence/how-to) using LSP
|
|
|
|
Using LSP is a workaround for now (yeah, it's a bit hacky) but once Zed has proper extension support, I'll rewrite it.
|
|
|
|
### Requirements
|
|
|
|
[rust](https://rust-lang.org) is required for installing this extension. \
|
|
The easiest way to get [rust](https://rust-lang.org) is by using [rustup](https://rustup.rs)
|
|
|
|
### How to install?
|
|
|
|
1. Clone this repository
|
|
2. <kbd>CTRL</kbd> + <kbd>SHIFT</kbd> + <kbd>P</kbd> and select <kbd>zed: install dev extension</kbd>
|
|
3. Choose the directory where you cloned this repository
|
|
4. Enjoy :)
|
|
|
|
## How to configure?
|
|
|
|
You can configure state, details and git integration by changing Discord Presence LSP settings. This can be done in <kbd>zed: open settings</kbd> with following configuration:
|
|
|
|
```json
|
|
{
|
|
"lsp": {
|
|
"discord_presence": {
|
|
"initialization_options": {
|
|
// Base url for all language icons
|
|
"base_icons_url": "https://raw.githubusercontent.com/xhyrom/zed-discord-presence/feat/recognize-languages/assets/icons/",
|
|
|
|
"state": "Working on {filename}",
|
|
"details": "In {workspace}",
|
|
// URL for large image
|
|
"large_image": "{base_icons_url}/{language}.png",
|
|
"large_text": "{language:u}", // :u makes first letter upper-case
|
|
// URL for small image
|
|
"small_image": "{base_icons_url}/zed.png",
|
|
"small_text": "Zed",
|
|
"git_integration": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
You can also use `null` to unset the option. Possible for everything except `base_icons_url` and `git_integration`
|