zed-discord-presence/README.md
Jozef Steinhübl f7af3a6e0a
feat: recognize languages & enchance configuration (#7)
* 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>
2024-08-04 22:25:42 +02:00

1.6 KiB

Zed discord presence is an extension for Zed that adds support for Discord Rich Presence 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 is required for installing this extension.
The easiest way to get rust is by using rustup

How to install?

  1. Clone this repository
  2. CTRL + SHIFT + P and select zed: install dev extension
  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 zed: open settings with following configuration:

{
  "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