mirror of
https://github.com/zed-industries/zed.git
synced 2026-06-02 07:04:33 +00:00
This PR adds initial support for defining slash commands for the
Assistant from extensions.
Slash commands are defined in an extension's `extension.toml`:
```toml
[slash_commands.gleam-project]
description = "Returns information about the current Gleam project."
requires_argument = false
```
and then executed via the `run_slash_command` method on the `Extension`
trait:
```rs
impl Extension for GleamExtension {
// ...
fn run_slash_command(
&self,
command: SlashCommand,
_argument: Option<String>,
worktree: &zed::Worktree,
) -> Result<Option<String>, String> {
match command.name.as_str() {
"gleam-project" => Ok(Some("Yayyy".to_string())),
command => Err(format!("unknown slash command: \"{command}\"")),
}
}
}
```
Release Notes:
- N/A
|
||
|---|---|---|
| .. | ||
| astro | ||
| clojure | ||
| csharp | ||
| dart | ||
| deno | ||
| elixir | ||
| elm | ||
| emmet | ||
| erlang | ||
| gleam | ||
| glsl | ||
| haskell | ||
| html | ||
| lua | ||
| ocaml | ||
| php | ||
| prisma | ||
| purescript | ||
| racket | ||
| ruby | ||
| scheme | ||
| svelte | ||
| terraform | ||
| toml | ||
| uiua | ||
| vue | ||
| zig | ||
| .gitignore | ||