docs: Introduce fresh documentation for snippets in extensions (#50874)

LBF38 and Finn Evers created

Add documentation for snippets in extensions.

Feel free to change the wording or add more content. 

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

---------

Co-authored-by: Finn Evers <finn.evers@outlook.de>

Change summary

docs/src/SUMMARY.md                          |  1 
docs/src/extensions.md                       |  1 
docs/src/extensions/developing-extensions.md |  6 ++++
docs/src/extensions/snippets.md              | 27 ++++++++++++++++++++++
4 files changed, 34 insertions(+), 1 deletion(-)

Detailed changes

docs/src/SUMMARY.md 🔗

@@ -161,6 +161,7 @@
 - [Debugger Extensions](./extensions/debugger-extensions.md)
 - [Theme Extensions](./extensions/themes.md)
 - [Icon Theme Extensions](./extensions/icon-themes.md)
+- [Snippets Extensions](./extensions/snippets.md)
 - [Slash Command Extensions](./extensions/slash-commands.md)
 - [Agent Server Extensions](./extensions/agent-servers.md)
 - [MCP Server Extensions](./extensions/mcp-extensions.md)

docs/src/extensions.md 🔗

@@ -14,6 +14,7 @@ Zed lets you add new functionality using user-defined extensions.
   - [Developing Debugger Extensions](./extensions/debugger-extensions.md)
   - [Developing Themes](./extensions/themes.md)
   - [Developing Icon Themes](./extensions/icon-themes.md)
+  - [Developing Snippets](./extensions/snippets.md)
   - [Developing Slash Commands](./extensions/slash-commands.md)
   - [Developing Agent Servers](./extensions/agent-servers.md)
   - [Developing MCP Servers](./extensions/mcp-extensions.md)

docs/src/extensions/developing-extensions.md 🔗

@@ -5,7 +5,7 @@ description: "Create Zed extensions: languages, themes, debuggers, slash command
 
 # Developing Extensions {#developing-extensions}
 
-Zed extensions are Git repositories containing an `extension.toml` manifest. They can provide languages, themes, debuggers, slash commands, and MCP servers.
+Zed extensions are Git repositories containing an `extension.toml` manifest. They can provide languages, themes, debuggers, snippets, slash commands, and MCP servers.
 
 ## Extension Features {#extension-features}
 
@@ -15,6 +15,7 @@ Extensions can provide:
 - [Debuggers](./debugger-extensions.md)
 - [Themes](./themes.md)
 - [Icon Themes](./icon-themes.md)
+- [Snippets](./snippets.md)
 - [Slash Commands](./slash-commands.md)
 - [MCP Servers](./mcp-extensions.md)
 
@@ -63,6 +64,9 @@ my-extension/
       highlights.scm
   themes/
     my-theme.json
+  snippets/
+    snippets.json
+    rust.json
 ```
 
 ## WebAssembly

docs/src/extensions/snippets.md 🔗

@@ -0,0 +1,27 @@
+---
+title: Snippets
+description: "Snippets for Zed extensions."
+---
+
+# Snippets
+
+Extensions may provide snippets for one or more languages.
+
+Each file containing snippets can be specified in the `snippets` field of the `extensions.toml` file.
+
+The referenced path must be relative to the `extension.toml`.
+
+## Defining Snippets
+
+A given extension may provide one or more snippets. Each snippet must be registered in the `extension.toml`.
+
+Zed matches snippet files based on the lowercase name of the language (e.g. `rust.json` for Rust).
+You can use `snippets.json` as a file name to define snippets that will be available regardless of the current buffer language.
+
+For example, here is an extension that provides snippets for Rust and TypeScript:
+
+```toml
+snippets = ["./snippets/rust.json", "./snippets/typescript.json"]
+```
+
+For more information on how to create snippets, see the [Snippets documentation](../snippets.md).